@wcstack/state 4.0.0-rc.3 → 4.0.0-rc.4

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 (40) hide show
  1. package/README.ja.md +16 -16
  2. package/README.md +16 -16
  3. package/dist/auto.min.js +1 -1
  4. package/dist/index.esm.js +1 -1
  5. package/dist/manifest.d.ts +2 -2
  6. package/dist/manifest.esm.js +69 -78
  7. package/dist/parser.esm.js +40 -26
  8. package/dist/split/auto.js +1 -1
  9. package/dist/split/chunks/chunk-372Y2FIC.js +1 -0
  10. package/dist/split/chunks/{chunk-I2V4DGEI.js → chunk-5D34CGCF.js} +1 -1
  11. package/dist/split/chunks/{chunk-YZ4LWPXN.js → chunk-5LIOXC7W.js} +1 -1
  12. package/dist/split/chunks/chunk-6GES2BK3.js +1 -0
  13. package/dist/split/chunks/chunk-7644KQ3T.js +1 -0
  14. package/dist/split/chunks/{chunk-Z3EEGBYA.js → chunk-G2ZO6SXV.js} +1 -1
  15. package/dist/split/chunks/chunk-HSOCDTWX.js +1 -0
  16. package/dist/split/chunks/chunk-ROX5KEJX.js +1 -0
  17. package/dist/split/chunks/chunk-SEPY6OHJ.js +1 -0
  18. package/dist/split/chunks/chunk-Z7B3ZZE4.js +1 -0
  19. package/dist/split/chunks/chunk-ZOINIOIM.js +1 -0
  20. package/dist/split/core.js +1 -1
  21. package/dist/split/features/devtools.js +1 -1
  22. package/dist/split/features/diagnostics.d.ts +3 -3
  23. package/dist/split/features/diagnostics.js +1 -1
  24. package/dist/split/features/formats.d.ts +4 -1
  25. package/dist/split/features/formats.js +1 -1
  26. package/dist/split/features/list-keys.js +1 -1
  27. package/dist/split/features/recursion.js +1 -1
  28. package/dist/split/features/scopes.js +1 -1
  29. package/dist/split/features/ssr.js +1 -1
  30. package/dist/split/features/temporal.js +1 -1
  31. package/dist/wcs-manifest.json +15 -15
  32. package/package.json +1 -1
  33. package/dist/split/chunks/chunk-2PWEFKRB.js +0 -1
  34. package/dist/split/chunks/chunk-5PWMZ75N.js +0 -1
  35. package/dist/split/chunks/chunk-FED2DM4X.js +0 -1
  36. package/dist/split/chunks/chunk-HYEQWIFX.js +0 -1
  37. package/dist/split/chunks/chunk-NPPWJBGJ.js +0 -1
  38. package/dist/split/chunks/chunk-WPSUT5QQ.js +0 -1
  39. package/dist/split/chunks/chunk-YPD4YBJO.js +0 -1
  40. package/dist/split/chunks/chunk-YZUTVCIH.js +0 -1
@@ -1 +0,0 @@
1
- import{b as t,c as e,d as s}from"./chunk-FED2DM4X.js";import{n as i,o as n}from"./chunk-5PWMZ75N.js";import{f as o}from"./chunk-WPSUT5QQ.js";import{a,b as r}from"./chunk-YZUTVCIH.js";import{b as l,c}from"./chunk-NPPWJBGJ.js";import{a as h,h as u,i as d}from"./chunk-Z3EEGBYA.js";var m=0,f=new WeakMap;function p(t,e=t.getRootNode()){f.set(e,[...f.get(e)??[],t].filter((t,e,s)=>t.isConnected&&s.lastIndexOf(t)===e))}function b(t){let e=f.get(t)??[],s=e.filter(e=>e.getRootNode()===t);return Promise.any(s.map(t=>t.initializePromise.then(()=>t.W||t.connectedCallbackPromise))).then(()=>{},i=>s.length?f.get(t)!==e?b(t):Promise.reject(i.errors[0]):void 0)}var g=typeof HTMLElement>"u"?class{}:HTMLElement,w=class extends g{constructor(){super(),this.engine=null,this.Fn=!1,this.He=!1,this.H=null,this.ze=null,this.loaded=!1,this.ln=null,this.connectedCallbackPromise=new Promise((t,e)=>{this.sn=t,this.wo=e}),this.connectedCallbackPromise.catch(()=>{}),this.initializePromise=new Promise(t=>{this.rn=t})}static{this.getBindingsReady=b}static{this.hasConnectedCallbackPromise=!0}connectedCallback(){if(this.Fn){if(null!==this.ze)return void this.ze.Ye();p(this);let e=this.engine;if(null!==e){let s=e.root;s===this.getRootNode()&&!i.has(s)&&i.set(s,e),t(),h.element?.(e,"back"),this.bo("$connectedCallback",50,()=>{this.isConnected&&h.element?.(e,"connected")})}return}this.Fn=!0;let e=this.getRootNode(),s=h.rt?.(this,e);if(s)return this.ze=s,!s.vo&&this.parentNode instanceof ShadowRoot&&p(this),void(void 0===s.ft?this.ko():s.ft()).then(t=>(this.loaded=!0,s.start(t,()=>this.So()))).then(()=>{this.rn(),this.sn()},t=>this.kt(t,s.vo));this.start(e),p(this)}disconnectedCallback(){if(null!==this.ze)return void this.ze.On();let t=this.engine;if(null===t)return;let e=t.root;i.get(e)===t&&i.delete(e),p(this,e),this.bo("$disconnectedCallback",51),h.element?.(t,"disconnected")}setInitialState(t){if(this.He&&c(14),this.loaded)this.ze.reset(t);else if(null===this.engine)if(null!==this.ln){let e=this.ln;this.ln=null,e(t)}else this.H=t;else this.engine.reset(t)}createState(t,e){let s=this.engine;null===s&&c(15),"readonly"===t&&s.Ce++;try{e(s.proxy)}finally{"readonly"===t&&s.Ce--}}async createStateAsync(t,e){let s=this.engine;null===s&&c(15),await e("writable"===t?s.proxy:new Proxy(s.proxy,{get(t,e,s){let i=Reflect.get(t,e,s);return"$setAll"===e||"$resolve"===e?(...t)=>(t.length>2&&c(8),i(...t)):i},set(){c(8)}}))}async ko(){await 0;let t=this.getAttribute("state");if(null!==t){let e=e=>[...e.querySelectorAll('script[type="application/json"]')].find(e=>e.id===t),s=e(this.getRootNode())??e(document);return void 0===s?Promise.reject(new Error(`[@wcstack/state] ${l(16,[t])}`)):Promise.resolve(JSON.parse(s.textContent||"{}"))}let e=this.getAttribute("src");if(null!==e)return async function(t){let e=new URL(t,document.baseURI).href;if(/\.json(?:[?#]|$)/.test(e)){let s=await fetch(e);return s.ok||c(13,[t,s.status]),await s.json()}return(await(import(e))).default??{}}(e);let s=this.getAttribute("json");if(null!==s)return Promise.resolve(JSON.parse(s));let i=this.querySelector('script[type="module"]');return null!==i?async function(t){let e=!1,s=t=>{t.effectiveDirective.startsWith("script-src")&&(e=!0)};document.addEventListener("securitypolicyviolation",s);let i="function"==typeof URL.createObjectURL,n=i?URL.createObjectURL(new Blob([t.text],{type:"application/javascript"})):"data:text/javascript;charset=utf-8,"+encodeURIComponent(`${t.text}\n//${++m}`);try{return(await(import(n))).default??{}}catch(t){throw await new Promise(t=>setTimeout(t)),new Error(`[@wcstack/state] ${e?l(42):l(43,[t instanceof Error?t.message:String(t)])}`,{cause:t})}finally{document.removeEventListener("securitypolicyviolation",s),i&&URL.revokeObjectURL(n)}}(i):null!==this.H?Promise.resolve(this.H):new Promise(t=>{this.ln=t})}async start(e){try{let a=e.host;(this.hasAttribute("mount")||this.hasAttribute("bind-component")||a?.hasAttribute("data-wc-definition"))&&d("scopes","<wcs-state>");let r=await this.ko(),l=u(r);if(l&&await l,this.getRootNode()!==e)return this.H=r,this.Fn=!1,void(this.isConnected&&this.connectedCallback());this.hasAttribute("enable-ssr")&&d("ssr","enable-ssr");let m=i.get(e)?.element;m?.isConnected&&(m.W||m.ze)&&c(47);let f=new o(r,new s);f.element=this,this.engine=f,h.element?.(f,"mounting"),n(f,e),t(),f.bn(),this.So(),await f.we("$connectedCallback"),this.isConnected&&h.element?.(f,"connected"),this.sn()}catch(t){this.He=!this.W,this.kt(t)}}So(){this.W=!0,this.rn()}kt(t,e){this.Ve(this.W?50:49,t),this.rn(),e?this.sn():this.wo(t)}Ve(t,e){let s=["mount","bind-component","state","src"].flatMap(t=>this.hasAttribute(t)?[t,this.getAttribute(t)]:[]);console.error(`[@wcstack/state] ${l(t,[this.localName,...s])}`,e)}bo(t,e,s){(async()=>this.engine.we(t))().then(s,t=>this.Ve(e,t))}},y=[];function k(){return(y=y.filter(t=>t.deref())).map(t=>t.deref())}function v(t,s){t&&r(t),function(t=customElements){e(),k().includes(t)||y.push(new WeakRef(t));let s=a.tagNames.state;void 0===t.get(s)&&t.define(s,class extends w{}),h.$o?.(t)}(s)}var C=t=>b(t);export{b as a,g as b,k as c,v as d,C as e};
@@ -1 +0,0 @@
1
- import{a as n,j as e}from"./chunk-Z3EEGBYA.js";var t=["","binding-syntax","template-syntax","binding-path-missing","binding-type-expectation","filter-unknown","filter-arity","getter-cycle","getter-depth-exceeded","index-arity","index-param-range","recursion-unsupported","token-misconfigured","token-undeclared","wildcard-rank","spread-no-bindable","declaration-alias","name-alias"],a=n=>{let e=t[n/100|0];return e?`[wcs/${e}] `:""};function i(e,t=[]){return n.Fo?.(e,t)??`${a(e)}#${e}${t.map(n=>` ${"string"==typeof n?JSON.stringify(n):String(n)}`).join("")}`}function r(n,t,a,r){e(i(n,t),a,r)}export{a,i as b,r as c};
@@ -1 +0,0 @@
1
- import{b as t,d as e,e as i}from"./chunk-I2V4DGEI.js";import{h as s,m as l}from"./chunk-YZ4LWPXN.js";import{b as n,c as r}from"./chunk-NPPWJBGJ.js";import{a as h,i as o}from"./chunk-Z3EEGBYA.js";var u=Symbol.for("wcstack.trustedTypes.policy");function f(){let t=globalThis[u];return null!==t&&"object"==typeof t?t:null}function a(t){globalThis[u]=t}function c(t){return"innerHTML"===t||"outerHTML"===t||"srcdoc"===t}function d(t){if(globalThis.trustedTypes?.isHTML(t))return t;let e=null==t?"":String(t),i=f(),s=i?.createHTML;return"function"==typeof s?s.call(i,e):e}var p=class{constructor(t,e,i){this.ut=null,this.E=null,this.fe=null,this.U=null,this.h=null,this.y=!0,this.l=t,this.b=e,this.T=i}},g=class{constructor(t,e){this.C=null,this.u=[],this.E=null,this.L=null,this.Z=!1,this.It=!1,this.dt=!1,this.o=t,this.re=e,this.n=t.n+1}},y=[],v=class{constructor(t){this.pt=new Set,this.name=t}get size(){return this.pt.size}subscribe(t){return this.pt.add(t),()=>{this.pt.delete(t)}}unsubscribe(t){return this.pt.delete(t)}emit(...t){let e=[];for(let i of this.pt)try{e.push(i(...t))}catch(t){e.push(void 0),console.error(`[@wcstack/state] ${n(17,[this.name])}`,t)}return e}};function b(t,e,i){if(void 0===t)return[];Array.isArray(t)||r(18,[e]);let s=new Set;for(let l of t)("string"!=typeof l||""===l)&&r(19,[e]),l===i&&r(20,[e,l,i]),s.has(l)&&r(21,[e,l]),s.add(l);return t}var m=Symbol.for("wcstack.transition-runner");function w(t){let e=globalThis[m];return null==e||"wcs-transition-runner"!==e.protocol||"number"!=typeof e.version||e.version<1||"function"!=typeof e.run||"function"!=typeof e.accepts||!e.accepts(t)?null:e}function $(t,e,i){let s=w(t);if(null!==s)return s.run(e,{source:t,types:i});e()}var k=[["$streams","$stream"],["$updatedCallback","$renderedCallback"]],M=[["$watch","temporal"],["$stream","temporal"],["$listKeys","list-keys"],["$recursion","recursion"]],j=["enableMustache","sameValueGuard","enableDirectionalInitialSync"];function T(t){return t.includes("**")&&l(t),t}var A=0,C=32,O=100;function q(t,e,i){let s=t.get(e);return void 0===s&&t.set(e,s=i()),s}var D=()=>new Set,I=()=>[];function x(t){return null!==t&&"object"==typeof t&&"function"==typeof t.then}function L(t,e){return t===e||t!=t&&e!=e}function S(t,e,i){let s=t.U?.get(e);void 0!==s&&s.delete(i)&&0===s.size&&t.U.delete(e)}function Z(t,e){for(let i=0;i<e.length;i++){if(null==t)return;t=t[e[i]]}return t}function _(t,e){for(;null!==t&&t.l.n>e;)t=t.l.re;return null!==t&&t.l.n===e?t:null}function P(t,e,i){let s=_(t,i);return null!==s&&s.l.o===e.f[i]?s:null}var R=class{constructor(t,i){this.Oe=0,this.c=null,this.Ce=0,this.mt=new Set,this.Ze=new Map,this.Bn=Symbol("wcs.block"),this.element=null,this.ht=[],this.Ie=null,this.Mn=[],this.Mt=0,this.q=null,this.ee=new Map,this.ie=new Map,this.je=[],this.Le=[],this.De=[],this.yt=!1,this.dn=!1,this.Wt=new WeakMap,this.M=0,this._t=0,this.fn=!1,this.Vt=!1,this.Ht=!1,this.Ne=0,this.Wn=()=>{this.M=0,this.fn=!1},this._n=()=>{this.Ne--},this.rp=null,this.rr=null,this.Oo=()=>this.Kt(),this.Co=(t,e)=>t(this.proxy,...e),this.Vn=[],this.Io={$untracked:t=>{let e=this.q;if(null===e)return t();e.pe++;try{return t()}finally{e.pe--}},$eqIndex:(t,e=1)=>{let i=_(this.c,e);null===i&&r(7,[t]);let s=this.o(t);if(null!==s.getter||s.de)return this.watchIndex(e),i.b===this.read(s,null);let l=this.q;if(null!==l){let t=l.getter,i=s.Fe??(s.Fe=[]);if(!i.some(i=>i.getter===t&&i.Hn===e)){i.push({getter:t,Hn:e});let l=t.f[e];(l.Tt??(l.Tt=[])).push({source:s,getter:t})}}return i.b===this.v(s,null)},$eq:(t,e)=>this.eq(t,e),$eqPath:(t,e)=>{let i=this.o(e);return this.eq(t,this.v(i,_(this.c,i.n)))},$dependOn:t=>{this.resolve(T(t),this.c),null!==this.q&&0===this.q.pe&&this.Kn(this.rp,this.rr,this.q)},$getAll:(t,e)=>this.getAll(t,e),$setAll:(t,e,i,s)=>this.pn(t,e,i,s),$resolve:(...t)=>{let e=T(t[0]),i=t[1]??[],s=this.o(e);this.mn("$resolve",e,s,i,!0);let l=this.Un(s,i,null);if(t.length<3)return this.read(s,l);this.P(s,l,t[2])},$postUpdate:t=>{this.resolve(T(t),this.c);let e=this.rp,i=this.rr;"*"===e.s&&null!==i&&(i.T=i.l.C[i.b],this.R.Ut(i)),this.hn(e,i),null!==i&&this.qn(i,e,void 0,i.T,!1),0===e.n&&this.zn(e,void 0,void 0,!0),this.qt(e,i,void 0,void 0,!1)}},this.R=i,this.D=new e(t=>this.et(t)),this.Yn(t);let s=this,l={getOwnPropertyDescriptor(t,e){let i=Reflect.getOwnPropertyDescriptor(s.target,e);return i&&(i.configurable=!0),i},get(t,e,i){let l=s.target;if("symbol"==typeof e)return Reflect.get(l,e);if(36===e.charCodeAt(0))return s.zt(e);if(e.indexOf(".")<0){let t=s.D.Ct(e);if(void 0===t||null===t.getter){let t=l[e];if("function"==typeof t)return i===s.proxy&&s.W?.(t)||t}if(void 0!==t&&0===t.n)return s.read(t,null)}return s.resolve(e,s.c),s.read(s.rp,s.rr)},set:(t,e,i)=>"symbol"==typeof e?Reflect.set(s.target,e,i):(s.resolve(T(e),s.c),s.P(s.rp,s.rr,i),!0)};for(let t of["has","ownKeys","deleteProperty","defineProperty","getPrototypeOf"])l[t]=(e,...i)=>Reflect[t](s.target,...i);this.proxy=new Proxy({},l)}o(t){return this.D.get(t)}Xn(t){let e=new Set;for(let i=t;null!==i&&i!==Object.prototype;i=Object.getPrototypeOf(i))for(let t of Object.getOwnPropertyNames(i)){if(e.has(t))continue;e.add(t);let s=Object.getOwnPropertyDescriptor(i,t);if(void 0===s.get&&void 0===s.set)continue;let l=this.o(t);l.getter=s.get??null,l.oe=s.set??null,null!==l.getter&&l.n>0&&(l.F=this.Oe++)}for(let t of this.D.all())this.et(t)}et(t){t.t.includes("**")&&l(t.t),("__proto__"===t.s||"prototype"===t.s)&&r(120,[t.t]);let e=t.d;t.de=null!==e&&"*"!==t.s&&e.n===t.n&&(null!==e.getter||e.de),null===t.getter&&this.jo(t)}jo(t){let e=t.t,i=t.s;if(s.test(i))t.getter=function(){return this[i]};else{let s=e.split("."),l=s.findIndex((t,e)=>e>0&&t.charCodeAt(0)>=48&&t.charCodeAt(0)<=57);if(l<0||s.indexOf("*",l)>=0)return;t.getter=()=>(this.resolve(e,this.c),this.rp!==t?this.read(this.rp,this.rr):this.read(t.d,this.c)?.[i]),t.oe=s=>{if(this.resolve(e,this.c),this.rp!==t)return this.P(this.rp,this.rr,s);let l=this.read(t.d,this.c);null==l&&r(4,[e,l]),l[i]=s}}t.n>0&&(t.F=this.Oe++)}Be(t,e){let i=null===t?this.ee:t.h??=new Map,s=i.get(e);return void 0===s&&i.set(e,s=new g(e,t)),this.z(s),s}Gn(t){try{this.z(t)}catch(e){this.Yt(e,t.o.t,t.E?.S??null,"for")}}z(t){let e=this.v(t.o,t.re);if(e===t.C)return;this.Jn(t);let i=function(t,e,i){let s=Array.isArray(e)?e:y;if(s===t.C)return null;let l=t.u,n=s.length,r=l.length,h=new Array(n),o=0;for(;o<n&&o<r&&l[o].T===s[o];)h[o]=l[o],o++;let u=r-1,f=n-1;for(;u>=o&&f>=o&&l[u].T===s[f];)h[f]=l[u],u--,f--;if(o>u)for(let e=o;e<=f;e++)h[e]=new p(t,e,s[e]);else if(o>f)for(let t=o;t<=u;t++)i.jt(l[t]);else{let e=new Map;for(let t=o;t<=u;t++){let i=l[t],s=e.get(i.T);void 0===s?e.set(i.T,i):Array.isArray(s)?s.push(i):e.set(i.T,[s,i])}for(let i=o;i<=f;i++){let l,n=s[i],r=e.get(n);void 0!==r&&(Array.isArray(r)?(l=r.shift(),0===r.length&&e.delete(n)):(l=r,e.delete(n))),h[i]=l??new p(t,i,n)}for(let t of e.values())if(Array.isArray(t))for(let e of t)i.jt(e);else i.jt(t)}for(let t=o;t<n;t++){let e=h[t];e.b!==t&&(e.b=t,i.To(e))}return t.u=h,t.C=s,l}(t,e,this);if(null===i)return;if(t.C===e){let i=q(this.Wt,e,I);if(i.push(t),i.length>1)for(let t of i)t.dt=!0}h.Xt?.(this,t,i),(null!==t.E||null!==t.L)&&!t.Z&&(t.Z=!0,this.Le.push(t),this.Re());let s=t.o.Tt;if(null!==s)for(let{source:e,getter:l}of s){let s=this.v(e,null),n=i[s],r=t.u[s];n!==r&&(void 0!==n&&n.y&&this.gn(l,n),void 0!==r&&this.gn(l,r))}}To(t){this.R.Lo(this,t)}jt(t){t.y=!1;let e=t.U;if(null!==e){for(let t of e)S(t.source,t.key,t.sub);t.U=null}if(null!==t.h)for(let e of t.h.values()){this.Jn(e);for(let t of e.u)this.jt(t)}}Jn(t){let e=this.Wt.get(t.C);void 0!==e&&(e.splice(e.indexOf(t)>>>0,1),t.dt=!1,1===e.length&&(e[0].dt=!1))}resolve(t,e){let s=i(t),l=this.rp=this.o(s.o),n=s.indexes;this.rr=0===l.n?null:null===n?P(e,l,l.n):this.Un(l,n,e,t)}Un(t,e,i,s){let l=null;for(let n,r=1,h=0;r<=t.n;r++){let o=t.f[r],u=this.Be(l,o),f=e[h++];if(f<0)f=P(i,t,r)?.b??-1;else if(s&&u.C===y&&Object(n=this.v(o,l))===n){let e=t.t.split("."),i=o.t.split(".").length;e[i]=s.split(".")[i],t=this.o(e.join(".")),r--;continue}if(l=u.u[f]??null,null===l)break}return this.rp=t,l}wt(t,e){return 0===t.n?Z(this.target,t.K):null===e?void 0:Z(e.T,t.K)}read(t,e){let i=this.q;if(null!==i&&0===i.pe&&this.Kn(t,e,i),null!==t.getter)return this.R.Do(this,t,e);if(t.de){let i=this.read(t.d,e);return i?.[t.s]}return null===t.d&&!(t.s in this.target)&&!this.mt.has(t.s)&&"then"!==t.s&&"toJSON"!==t.s&&r(301,[t.t],t.s,Object.keys(this.target)),this.wt(t,e)}v(t,e){let i=this.q;if(null===i)return this.read(t,e);i.pe++;try{return this.read(t,e)}finally{i.pe--}}Kn(t,e,i){let s=i.getter;t.jn(s),t.n>0&&s.n>0&&_(e,Math.min(t.n,s.n))!==_(i.r,Math.min(t.n,s.n))&&(s.ct??(s.ct=new Set)).add(t)}Bo(t,e){for(let i=0;i<this.Mt;i++){let s=this.Mn[i];s.getter===t&&s.r===e&&r(701,[t.t])}this.Mt>=128&&r(801,[t.t]);let i=this.Mt++;this.Ce++;let s=this.Mn[i]??={getter:t,r:e,pe:0,Me:0};s.getter=t,s.r=e,s.pe=0,s.Me=++A;let l=this.q;this.q=s;let n=this.c;this.c=e;try{return t.getter.call(this.proxy)}finally{this.Ce--,this.Mt--,this.q=l,this.c=n,s.r=null}}watchIndex(t){let e=this.q;if(null!==e&&0===e.pe){let i=e.getter,s=i.f[t];if(s){let t=s.At??(s.At=[]);t.includes(i)||t.push(i)}}}zt(t){let e=t.charCodeAt(1);if(e>=48&&e<=57){let i=2===t.length?e-48:s.test(t)?+t.slice(1):0;return(i<1||i>128)&&r(1001,[t]),this.watchIndex(i),_(this.c,i)?.b}let i=this.Io[t];if(void 0!==i)return i;switch(t){case"$trackDependency":return r(1701,[t,"$dependOn"]);case"$untrackDependency":return r(1701,[t,"$untracked"]);case"$stateElement":return this.element;case"$command":return this.commands}return h.zt?.(this,t)}eq(t,e){this.resolve(t,this.c);let i=this.rp,s=this.rr;if(null!==i.getter||i.de||i.n>0)return L(this.read(i,s),e);let l=this.q;return null!==l&&0===l.pe&&this.Mo(i,e,l),L(this.v(i,null),e)}Mo(t,e,i){let s=i.getter,l=i.r,n=null===l?this.Vn:l.U??(l.U=[]);for(let l=0;l<n.length;l++){let r=n[l];if(r.sub.getter===s&&r.source===t){if(L(r.key,e))return void(r.Me=i.Me);r.Me!==i.Me&&(S(t,r.key,r.sub),n.splice(l--,1))}}let r={getter:s,r:l};q(t.U??=new Map,e,D).add(r),n.push({source:t,key:e,sub:r,Me:i.Me})}zn(t,e,i,s){this.Gt(t,l=>{let n=l.U;if(null===n&&null===l.Fe)return;let r=l===t?[]:l.t.slice(t.t.length+1).split("."),h=Z(e,r),o=Z(i,r);if(null!==l.Fe&&this.Wo(l,h,o,s),null!==n)for(let t of s?n.keys():[h,o]){let e=n.get(t);if(void 0!==e)for(let i of e)null===i.r||i.r.y?this.R.me(this,i.getter,i.r):S(l,t,i)}})}P(t,e,i,s=!1,l=!1){if(this.Ce>0&&r(8),l||this.Ne>0?this.Vt=!0:this.Ht=!0,h.Pe?.(this,t,e,i,l))return;if(null!==t.oe){try{this.yn(t.oe,e,[i])}finally{this.qt(t,e,void 0,void 0,!1)}return}null!==t.getter&&r(2,[t.t]),t.n>0&&null===e&&r(3,[t.t]);let n=t.de?this.v(t,e):this.wt(t,e);if(s||!this.Dt||!Object.is(n,i)||Object(i)===i){if("*"===t.s){let t=e;t.l.C[t.b]=i,t.T=i,this.R.Ut(t)}else{let s=1===t.K.length?0===t.n?this.target:e.T:this.v(t.d,e);null==s&&r(4,[t.t,s]),s[t.s]=i}this.wn(t,e),null!==e&&this.qn(e,t,n,i),0===t.n&&this.zn(t,n,i),this.qt(t,e,n,i,!0)}}Qn(t){return(this.Wt.get(t.C)??[]).filter(e=>e.C===t.C&&(null===e.re||e.re.y))}qn(e,i,s,l,n=!0){let r=e.l;if(!r.dt&&null===r.o.getter&&!r.o.G.length)return;let h=e.T,o=i.t.slice(r.o.t.length+2),u=(t,i)=>{if(void 0===i||i===e)return;let r=this.o(`${t.o.t}.*${o}`);""===o&&(i.T=l,this.R.Ut(i)),n?this.wn(r,i):this.hn(r,i),this.qt(r,i,s,l,n)};for(let t of this.Qn(r))u(t,t.u[e.b]);if(""===o)return;let f=new Set([r.C]),a=t=>Array.isArray(t)&&t.includes(h),c=(e,i)=>{if(!f.has(e)&&f.add(e))for(let t of this.Wt.get(e)??[])for(let e of t.u)e.T===h&&u(t,e);for(let s of i){let i=s.J,l=i===t;l&&(i=this.ee.get(s)?.C),(l||a(i))&&!f.has(s.G)&&f.add(s.G)&&(!l&&i!==e&&this.R.me(this,s,null),c(i,s.G))}},d=t=>{for(let e of t.Ee)if(!f.has(e)&&f.add(e))if(null!==e.getter)d(e);else if(!e.de){let t=this.wt(e,null);a(t)&&c(t,e.G)}};null!==r.o.getter?d(r.o):c(r.C,r.o.G)}hn(t,e){this._o(t,e,t=>{this.z(t);for(let e of t.dt?this.Qn(t):[t]){let t=this.o(`${e.o.t}.*`);for(let i of e.u)this.bt(t,i),this.hn(t,i)}})}wn(t,e){let i=null===e?this.ee:e.h;if(null!==i)for(let e of i.values())e.o.Q(t)&&this.z(e)}_o(t,e,i){let s=null===e?this.ee:e.h;if(null!==s)for(let e of s.values())e.o.Q(t)&&i(e)}Wo(t,e,i,s){for(let{getter:l,Hn:n}of t.Fe)this.Zn(l.f[n],t=>{for(let n of s?t.u.keys():[e,i]){let e="number"==typeof n?t.u[n]:void 0;void 0!==e&&this.gn(l,e)}})}gn(t,e){e.l.n===t.n?this.R.me(this,t,e):this.Jt(e,t,e=>this.R.me(this,t,e))}qt(t,e,i,s,l){h.he?.(this,t,e,i,s,l),this.We(t,e)}We(t,e){this.R.Vo(this,t,e),this.Re()}eo(t){let e=this.Ze.get(t);if(void 0!==e)return e;let i=Symbol(`wcs.on${t}`);this.Ze.set(t,i);let s=this.root,l=this.Bn;return s.addEventListener(t,e=>{for(let n=e.target;null!==n&&n!==s;n=n.parentNode){let s=n[i];if(void 0!==s&&(s(e),e.cancelBubble))return;let r=n[l];if(void 0!==r&&r.y&&r.Ho(t,e))return}}),i}reset(t){let e=this.target,i=this.mt;for(let t of this.D.all())null===t.d&&null!==t.getter&&i.add(t.s);this.Yn(t);for(let t in e)"$"!==t[0]&&i.add(t);for(let e of i)e in t&&i.delete(e);for(let t of this.ie.values())for(let e of t)this.Qt(e);for(let t of this.ee.values())this.to(t);this.Ie=null;try{this.Kt()}finally{this.bn()}h.element?.(this,"reset")}Yn(t){for(let[e,i]of M)void 0!==t[e]&&o(i,e);void 0!==t.$scan&&r(1);for(let[e,i]of k)void 0!==t[e]&&r(1601,[e,i]);let e=t.$features;if(void 0!==e){Array.isArray(e)||r(46);for(let t of e)o(t,"$features")}let i=void 0===t.$behavior?{}:t.$behavior;("object"!=typeof i||!i||Array.isArray(i))&&r(44,["state","$behavior"]);for(let t in i)(!j.includes(t)||"boolean"!=typeof i[t])&&r(44,["$behavior",t]);let[s,l,n]=j.map(t=>i[t]??!0);void 0!==this.target&&(s!==this.Lt||l!==this.Dt||n!==this.Bt)&&r(45);let u=function(t,e){let i={};for(let s of b(t.$commandTokens,"$commandTokens","$command"))i[s]=e?.[s]??new v(s);return Object.freeze(i)}(t,this.commands),f=function(t,e){let i=new Map;for(let e of b(t.$eventTokens,"$eventTokens"))i.set(e,new v(e));let s=t.$on;if(void 0===s)return i;(null===s||"object"!=typeof s)&&r(22);for(let[t,l]of Object.entries(s)){let s=i.get(t);void 0===s&&r(23,[t]),"function"!=typeof l&&r(24,[t]),s.subscribe((...t)=>e(l,t))}return i}(t,this.Co);this.Lt=s,this.Dt=l,this.Bt=n,h.se?.(this,t),this.target=t,this.Oe=0;for(let t of this.D.all())t.Po();this.Vn.length=0,this.Xn(t),this.commands=u,this.xe=f}to(t){this.Gn(t);let e=this.o(`${t.o.t}.*`);for(let i of t.u)if(i.ut=null,i.U=null,this.bt(e,i),null!==i.h)for(let t of i.h.values())this.to(t)}_(t){let e=[];for(let i=t;null!==i;i=i.l.re)e.unshift(i.b);return e}Ko(t,e,i){let s=this.xe.get(t);void 0===s&&r(1301,[t],t,this.xe.keys()),s.emit(e,...this._(i))}command(t){let e=this.commands[t];return void 0===e&&r(1302,[t],t,Object.keys(this.commands)),e}Uo(t,e,i){this.command(t).emit(e,...this._(i))}qo(t,e,i){let s=t.includes(".")?this.v(this.o(t),null):this.target[t];return"function"!=typeof s&&r(5,[t]),this.yn(s,i,[e,...this._(i)])}yn(t,e,i){let s=this.c;this.c=e;try{return t.apply(this.proxy,i)}finally{this.c=s}}bt(t,e){if(null!==t.getter){let i=null===e?this.ee:e.h;if(null!==i)for(let e of i.values())!e.It&&e.o.Q(t)&&(e.It=!0,this.De.push(e))}if(null===e)return void this.Gt(t,t=>{let e=this.ie.get(t);if(void 0!==e)for(let t of e)this.Qt(t)});let i=e.fe;if(null!==i)for(let e=0;e<i.length;e++)i[e].o.Q(t)&&this.Qt(i[e]);let s=e.E;null!==s&&null!==s.ae&&s.no(this,t);let l=e.l.L;if(null!==l)for(let i of l){let s=i.map.get(e);void 0!==s&&null!==s.ae&&s.no(this,t)}}vn(t,e,i){this.Gt(t,t=>{let s=t.G;for(let l=0;l<s.length;l++){let n=s[l];if(0===n.n)this.tt(n,null,i);else if(null===e||0===t.n||n.f[1]!==t.f[1]||null!==n.ct&&n.ct.has(t))this.Zt(n.f[n.n],t=>this.tt(n,t,i));else if(n.n<=t.n){let t=_(e,n.n);null!==t&&this.tt(n,t,i)}else this.Jt(e,n,t=>this.tt(n,t,i))}})}tt(t,e,i){i(t,e)&&(h.ye?.(this,t,e),this.bt(t,e),this.vn(t,e,i))}Gt(t,e){e(t);let i=t.h;for(let t=0;t<i.length;t++)this.Gt(i[t],e)}Zt(t,e){this.Zn(t,t=>{for(let i of t.u)e(i)})}Zn(t,e){if(0===t.n){let i=this.ee.get(t);return void(void 0!==i&&e(i))}this.Zt(t.f[t.n],i=>{let s=i.h?.get(t);void 0!==s&&e(s)})}Jt(t,e,i){if(t.l.n===e.n)return i(t);let s=t.h?.get(e.f[t.l.n+1]);if(void 0!==s)for(let t of s.u)this.Jt(t,e,i)}zo(t){let e=t.r;null===e?q(this.ie,t.o,D).add(t):(e.fe??(e.fe=[])).push(t)}kn(t){let e=t.r;if(null===e)return void this.ie.get(t.o)?.delete(t);let i=e.fe;e.y&&null!==i&&i.splice(i.indexOf(t)>>>0,1)}Qt(t){t.Z||(t.Z=!0,this.je.push(t),this.Re())}Re(){this.yt||(this.yt=!0,queueMicrotask(this.Oo))}Sn(){for(let t of this.je)t.Z=!1;for(let t of this.Le)t.Z=!1;for(let t of this.De)t.It=!1;this.je=[],this.Le=[],this.De=[],this.R.mt(this)}oo(t,e){let i=[...new Set([...this.je,...this.Le,...this.De].map(t=>t.o.t))];console.error(`[@wcstack/state] ${n(t)}`,i),h.nt?.(this,{type:"state:render-chain-limit",maxDepth:e,paths:i}),this.Sn()}Kt(){this.yt=!1;let t=this._t;this._t=0;let e=0;if(!this.Vt||this.Ht?this.Wn():t>0?e=t:1===(e=++this.M)&&setTimeout(this.Wn,0),this.Vt=this.Ht=!1,e>100)101===e?this.oo(41,100):this.Sn();else{this.dn=!0;try{for(let t=0;this.je.length>0||this.Le.length>0||this.De.length>0;t++){if(t>=32){this.fn?this.Sn():this.oo(11,32),this.fn=!0;break}let i=this.De;if(i.length>0){this.De=[];for(let t of i)t.It=!1,this.Gn(t)}let s=this.Le,l=this.je;this.Le=[],this.je=[];let n=$("state",()=>{for(let t of s){t.Z=!1;for(let e of[t.E,...t.L??[]])if(null!==e&&e.y)try{e.vt()}catch(i){this.Yt(i,t.o.t,e.S,"for")}}for(let t=0;t<l.length;t++){let e=l[t];e.Z&&(e.Z=!1,(null===e.$n||e.$n.y)&&this._e(e))}this.dn||(this.Ve(),this.yt&&(this._t=e+1))});void 0!==n&&n.then(void 0,t=>console.error(t))}}finally{this.dn=!1}this.Vt=this.Ht=!1,this.Ve(),h.Te?.(this),t>0&&this.yt&&(this._t=e+1)}}kt(t,e){this.ht.push([t,e])}Yt(t,e,i,s){this.kt(t,{o:{t:e},a:i,en:()=>s})}_e(t){try{t.apply()}catch(e){return void this.ht.push([e,t])}null!==this.Ie&&this.io(t.o,t.r)}io(t,e){let i=q(this.Ie,t.t,I);null!==e&&i.push(this._(e))}bn(){this.Ie="function"==typeof this.target.$renderedCallback?new Map:null}Ve(){let t=this.Ie;if(null!==t&&t.size>0){this.Ie=new Map;let e,i=[...t.keys()],s={};for(let[e,i]of t)i.length>0&&(s[e]=i);this.Ne++;try{e=this.we("$renderedCallback",[i,s])}catch(t){console.error(t)}x(e)?e.then(this._n,t=>{this._n(),console.error(t)}):this.Ne--}if(0===this.ht.length)return;let e=this.ht;this.ht=[];let i=this.target.$errorCallback;for(let[t,s]of e){h.He?.(this,t,s);let e=s.o.t,l=s.en();if("function"==typeof i)try{let i=this.we("$errorCallback",[t,{path:e,bindingType:l,node:s.a}]);x(i)&&i.then(void 0,t=>console.error(t))}catch(t){console.error(t)}else console.error(`[@wcstack/state] ${n(12,[l,e])}`,t)}}we(t,e=[]){let i=this.target[t];return"function"==typeof i?this.yn(i,null,e):void 0}so(t,e,i){if(0===t.n)return void i(null,[]);let s=[],l=(n,r)=>{let h=t.f[n];this.read(h,r);let o=this.Be(r,h),u=e=>{s.push(e.b),n===t.n?i(e,s):l(n+1,e),s.pop()};for(let t of n-1<e.length?[o.u[e[n-1]]]:o.u)void 0!==t&&u(t)};l(1,null)}getAll(t,e){let i=this.o(t);void 0!==e&&this.mn("$getAll",t,i,e,!1);let s=e;if(void 0===s){s=[];let e=this.c;if(null!==e&&i.n>0){for(let t=1;t<=i.n;t++){let l=P(e,i,t);if(null===l)break;s.push(l.b)}0===s.length&&r(6,[t])}}let l=[];return this.so(i,s,t=>l.push(this.read(i,t))),l}pn(t,e,i,s){Array.isArray(e)||r(9,[t]),this.Ce>0&&r(8);let l=this.o(t);this.mn("$setAll",t,l,e,!1);let n=[];this.so(l,e,(t,e)=>n.push([t,e.slice()]));let h=!0===s?.spread;h&&(!Array.isArray(i)||i.length!==n.length)&&r(10,[t,n.length]);let o=0;for(let t=0;t<n.length;t++){let[e,s]=n[t],r="function"==typeof i?i(this.v(l,e),...s):h?i[t]:i;void 0!==r&&(this.P(l,e,r),o++)}return o}mn(t,e,i,s,l){let n=s.length;(n>i.n||l&&n<i.n)&&r(l?901:902,[t,e,i.n,n])}};export{w as a,C as b,O as c,x as d,_ as e,R as f,u as g,f as h,a as i,c as j,d as k};
@@ -1 +0,0 @@
1
- var a="4.0.0-rc.3";export{a};
@@ -1 +0,0 @@
1
- import{c as t}from"./chunk-NPPWJBGJ.js";import{j as e}from"./chunk-Z3EEGBYA.js";var r={bindAttributeName:"data-wcs",commentForPrefix:"wcs-for",commentIfPrefix:"wcs-if",commentElseIfPrefix:"wcs-elseif",commentElsePrefix:"wcs-else",tagNames:{state:"wcs-state",ssr:"wcs-ssr"},locale:typeof document<"u"&&document.documentElement?.lang||"en",enableContractAnalyzer:!1};function a(e){let a=r,s=r.tagNames,n=Object.entries(e).filter(([,t])=>void 0!==t),o=Object.entries(e.tagNames??{}).filter(([,t])=>void 0!==t);for(let[e,r]of n){let s=a[e];(!Object.hasOwn(a,e)||null===r||typeof r!=typeof s||Array.isArray(r)!==Array.isArray(s))&&t(44,["bootstrapState",e])}for(let[e,r]of o)(!Object.hasOwn(s,e)||"string"!=typeof r)&&t(44,["bootstrapState",`tagNames.${e}`]);for(let[t,e]of n)"tagNames"!==t&&(a[t]=e);for(let[t,e]of o)s[t]=e}var s=()=>r,n=["toFixed","locale","upper","lower","capitalize","trim","slice","padStart","padEnd","repeat","reverse","truncate","join","round","floor","ceil","percent","unit","date","time","datetime","ymd","hms"],o=new Map,i=new Map;function f(t){for(let e of Object.keys(t))o.set(e,{...t[e]});i.clear()}function l(t){return o.has(t)}function c(r,a,s){let f=`${r}${function(t,e){return`${JSON.stringify(t)}${JSON.stringify(e)}`}(a,s)}`,l=i.get(f);if(typeof l<"u")return l;let c=o.get(r);void 0===c&&function(r,a){n.includes(r)&&e(`[wcs/filter-unknown] filter not found: ${r}. "${r}" is in the formats add-on — install it with installFeatures([formats]) from "@wcstack/state/features/formats".`,r,a),t(501,[r],r,a)}(r,o.keys());let[m,u]=c.arity;a.length<m&&t(601,[r,m,a.length]),a.length>u&&t(602,[r,u,a.length]);let d=c.factory(a,s);return i.set(f,d),d}export{r as a,a as b,s as c,n as d,f as e,l as f,c as g};