pinia-plugin-subscription 0.0.0-beta.9 → 0.0.1

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,5 +1,5 @@
1
- (function(_,T){typeof exports=="object"&&typeof module<"u"?T(exports,require("pinia")):typeof define=="function"&&define.amd?define(["exports","pinia"],T):(_=typeof globalThis<"u"?globalThis:_||self,T(_["pinia-plugin-subscription"]={},_.Pinia))})(this,(function(_,T){"use strict";class fe{_console;_createInstance;_name;_pluginOptions;_storeInstance;_resetStoreCallback;_storeOnActionSubscription;_storeMutationSubscription;_subscriptions;pluginCreated;get console(){return this._console??console}get name(){return this._name}get pluginOptions(){return this._pluginOptions??{}}set pluginOptions(e){this._pluginOptions=e}get resetStoreCallback(){return this._resetStoreCallback}get storeOnActionSubscription(){return this._storeOnActionSubscription}get storeMutationSubscription(){return this._storeMutationSubscription}get subscriptions(){return this._subscriptions}set subscriptions(e){this._subscriptions=e}constructor(e,n,s){this._name=e,this._createInstance=n,s&&(this._console=s)}invoke({store:e,options:n},s){this._storeInstance=this._createInstance(e,{...n,...this.pluginOptions},s,this.console),this._storeInstance&&(this._subscriptions=this._storeInstance.getSubscriptions(),this._storeMutationSubscription=this._storeInstance.storeSubscribe,this._storeOnActionSubscription=this._storeInstance.onAction,this.pluginCreated&&this.pluginCreated(e))}}class vt{_console;_debug=!1;get console(){return this._console??console}set console(e){this._console=e}get debug(){return this._debug}set debug(e){this._debug=e}constructor(e,n){this._debug=e,n&&(this._console=n)}debugLog(...e){this._debug&&(Array.isArray(e)&&(e[0]=`${this._className} - ${e[0]}`),this.console.log(...e))}logError(...e){this.console.error(...e)}}const Rt="pinia-plugin-subscription",pe=(t,e="white")=>`background-color: ${t}; color: ${e}; padding: 1px; margin-right: 5px; font-size: 12px`;function he(t,e){if(!t)throw new Error("Style instructions are required");console.log("%c%s",t,e.shift(),...e)}class Ct{_bgColor="#ffec73";_color="green";_icon="🍍⚡";_errorBgColor="#d24545";_errorColor="white";_errorIcon="🍍⚠️";_styles={error:{bgColor:this._errorBgColor,color:this._errorColor,icon:this._errorIcon},info:{bgColor:this._bgColor,color:this._color,icon:this._icon}};formatMessage(e,n){return` [${n} ${Rt}] - ${e} `}generateStyle(e){return pe(e.bgColor,e.color)}getStyleDefinition(e){return this._styles[e??"info"]}log(...e){this.useLog(this.getStyleDefinition(),e)}error(...e){this.useLog(this.getStyleDefinition("error"),e)}rebuildArgs(e,n){if(typeof e=="string")return[this.formatMessage(e,n)];if(Array.isArray(e))return[this.formatMessage(e.shift(),n),...e??[]]}useLog(e,n){he(this.generateStyle(e),this.rebuildArgs(n,e.icon))}}class de extends Ct{_pluginName=Rt}const _e=new de;function ge(t,e,n){const s=n?{storeOptions:n}:{};return typeof e=="function"?be(t,e,s):me(t,e,s)}function be(t,e,n){return T.defineStore(t,e,n)}function me(t,e,n){return n&&(e={...e,...n??{}}),T.defineStore(t,e)}const ye=new Set(["_","$"]);function It(t){return ye.has(t[0])}function rt(t){return t?Array.isArray(t)?t.length===0:typeof t=="object"?Object.keys(t).length===0:typeof t=="string"?t.trim()==="":!1:!(typeof t=="boolean"||typeof t=="number")}class Vt extends vt{_className="PluginSubscription";_resetStoreCallback=[];_subscribers=[];_subscriptions=[];set subscribers(e){this._subscribers=e}get subscriptions(){if(!rt(this._subscriptions))return this._subscriptions}constructor(e,n){super(n,_e),this._subscribers=e}addResetStoreCallback(e){this._resetStoreCallback.push(e)}executeResetStoreCallbacks(e){this._resetStoreCallback.forEach(n=>n(e))}plugin({store:e,options:n}){if(this._subscribers.length){this.debugLog(`plugin() - store: ${e.$id}`,["subscriber:",this._subscribers,"store:",e,"options:",n]);try{this._subscribers.forEach(s=>{s.invoke({store:e,options:n},this.debug),s.subscriptions&&this.subscriptionDelivery({store:e,options:n},s.subscriptions),s.storeMutationSubscription&&this.storeMutationSubscription(s.storeMutationSubscription),s.storeOnActionSubscription&&this.storeOnActionSubscription(s.storeOnActionSubscription),s.resetStoreCallback&&this.addResetStoreCallback(s.resetStoreCallback)}),this.rewriteResetStore({store:e},Object.assign({},e.$state),Object.assign({},e))}catch(s){this.logError(s,e,n)}}}rewriteResetStore({store:e},n,s){e.$reset=()=>{this.executeResetStoreCallbacks(e),Object.keys(s).forEach(r=>{It(r)||(e[r]=n[r]??s[r])}),e.$patch(JSON.parse(JSON.stringify(n)))}}storeOnActionSubscription(e){const{store:n,callback:s}=e();n.$onAction(({after:r,args:o,name:i})=>{this.debugLog(`storeOnActionSubscription ${n.$id}`,[r,o,i,n]),s({after:r,args:o,name:i})})}storeMutationSubscription(e){const{store:n,callback:s}=e();n.$subscribe(r=>{this.debugLog(`$subscribe ${n.$id}`,[r,n]),s(r)})}subscriptionDelivery({store:e,options:n},s){Object.entries(s).forEach(([r,o])=>{try{const{subscription:i,subscriptionOptions:c}=o;this.debugLog(`subscriptionDelivery() - store: ${e.$id}`,["pluginName:",r,"subscription:",i,"options:",c]),i.invoke({store:e,options:{...n,...c}},this.debug)}catch(i){this.logError(`subscriptionDelivery() - ${r}`,i,e,n)}})}}function Se(t){const e=Object.create(null);for(const n of t.split(","))e[n]=1;return n=>n in e}const st=process.env.NODE_ENV!=="production"?Object.freeze({}):{};process.env.NODE_ENV!=="production"&&Object.freeze([]);const At=()=>{},Ee=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),x=Object.assign,Oe=Object.prototype.hasOwnProperty,ot=(t,e)=>Oe.call(t,e),d=Array.isArray,K=t=>$t(t)==="[object Map]",C=t=>typeof t=="function",w=t=>typeof t=="string",H=t=>typeof t=="symbol",g=t=>t!==null&&typeof t=="object",we=Object.prototype.toString,$t=t=>we.call(t),Tt=t=>$t(t).slice(8,-1),J=t=>w(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Ne=(t=>{const e=Object.create(null);return(n=>e[n]||(e[n]=t(n)))})(t=>t.charAt(0).toUpperCase()+t.slice(1)),it=(t,e)=>!Object.is(t,e);let xt;const B=()=>xt||(xt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function ct(t){if(d(t)){const e={};for(let n=0;n<t.length;n++){const s=t[n],r=w(s)?Ie(s):ct(s);if(r)for(const o in r)e[o]=r[o]}return e}else if(w(t)||g(t))return t}const ve=/;(?![^(]*\))/g,Re=/:([^]+)/,Ce=/\/\*[^]*?\*\//g;function Ie(t){const e={};return t.replace(Ce,"").split(ve).forEach(n=>{if(n){const s=n.split(Re);s.length>1&&(e[s[0].trim()]=s[1].trim())}}),e}function lt(t){let e="";if(w(t))e=t;else if(d(t))for(let n=0;n<t.length;n++){const s=lt(t[n]);s&&(e+=s+" ")}else if(g(t))for(const n in t)t[n]&&(e+=n+" ");return e.trim()}function D(t,...e){console.warn(`[Vue warn] ${t}`,...e)}let Dt=0,at;function ut(){Dt++}function ft(){if(--Dt>0)return;let t;for(;at;){let e=at;for(at=void 0;e;){const n=e.next;if(e.next=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(s){t||(t=s)}e=n}}if(t)throw t}class Ve{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0,process.env.NODE_ENV!=="production"&&(this.subsHead=void 0)}track(e){}trigger(e){this.version++,this.notify(e)}notify(e){ut();try{if(process.env.NODE_ENV!=="production")for(let n=this.subsHead;n;n=n.nextSub)n.sub.onTrigger&&!(n.sub.flags&8)&&n.sub.onTrigger(x({effect:n.sub},e));for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ft()}}}const Pt=new WeakMap,pt=Symbol(process.env.NODE_ENV!=="production"?"Object iterate":""),Mt=Symbol(process.env.NODE_ENV!=="production"?"Map keys iterate":""),Ft=Symbol(process.env.NODE_ENV!=="production"?"Array iterate":"");function kn(t,e,n){}function I(t,e,n,s,r,o){const i=Pt.get(t);if(!i)return;const c=a=>{a&&(process.env.NODE_ENV!=="production"?a.trigger({target:t,type:e,key:n,newValue:s,oldValue:r,oldTarget:o}):a.trigger())};if(ut(),e==="clear")i.forEach(c);else{const a=d(t),f=a&&J(n);if(a&&n==="length"){const h=Number(s);i.forEach((l,p)=>{(p==="length"||p===Ft||!H(p)&&p>=h)&&c(l)})}else switch((n!==void 0||i.has(void 0))&&c(i.get(n)),f&&c(i.get(Ft)),e){case"add":a?f&&c(i.get("length")):(c(i.get(pt)),K(t)&&c(i.get(Mt)));break;case"delete":a||(c(i.get(pt)),K(t)&&c(i.get(Mt)));break;case"set":K(t)&&c(i.get(pt));break}}ft()}function Ae(t,e){const n=Pt.get(t);return n&&n.get(e)}function P(t){const e=u(t);return e===t||m(t)?e:e.map(v)}function ht(t){return t=u(t),t}function V(t,e){return E(t)?mt(t)?W(v(e)):W(e):v(e)}const $e={__proto__:null,[Symbol.iterator](){return dt(this,Symbol.iterator,t=>V(this,t))},concat(...t){return P(this).concat(...t.map(e=>d(e)?P(e):e))},entries(){return dt(this,"entries",t=>(t[1]=V(this,t[1]),t))},every(t,e){return N(this,"every",t,e,void 0,arguments)},filter(t,e){return N(this,"filter",t,e,n=>n.map(s=>V(this,s)),arguments)},find(t,e){return N(this,"find",t,e,n=>V(this,n),arguments)},findIndex(t,e){return N(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return N(this,"findLast",t,e,n=>V(this,n),arguments)},findLastIndex(t,e){return N(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return N(this,"forEach",t,e,void 0,arguments)},includes(...t){return _t(this,"includes",t)},indexOf(...t){return _t(this,"indexOf",t)},join(t){return P(this).join(t)},lastIndexOf(...t){return _t(this,"lastIndexOf",t)},map(t,e){return N(this,"map",t,e,void 0,arguments)},pop(){return L(this,"pop")},push(...t){return L(this,"push",t)},reduce(t,...e){return jt(this,"reduce",t,e)},reduceRight(t,...e){return jt(this,"reduceRight",t,e)},shift(){return L(this,"shift")},some(t,e){return N(this,"some",t,e,void 0,arguments)},splice(...t){return L(this,"splice",t)},toReversed(){return P(this).toReversed()},toSorted(t){return P(this).toSorted(t)},toSpliced(...t){return P(this).toSpliced(...t)},unshift(...t){return L(this,"unshift",t)},values(){return dt(this,"values",t=>V(this,t))}};function dt(t,e,n){const s=ht(t),r=s[e]();return s!==t&&!m(t)&&(r._next=r.next,r.next=()=>{const o=r._next();return o.done||(o.value=n(o.value)),o}),r}const Te=Array.prototype;function N(t,e,n,s,r,o){const i=ht(t),c=i!==t&&!m(t),a=i[e];if(a!==Te[e]){const l=a.apply(t,o);return c?v(l):l}let f=n;i!==t&&(c?f=function(l,p){return n.call(this,V(t,l),p,t)}:n.length>2&&(f=function(l,p){return n.call(this,l,p,t)}));const h=a.call(i,f,s);return c&&r?r(h):h}function jt(t,e,n,s){const r=ht(t);let o=n;return r!==t&&(m(t)?n.length>3&&(o=function(i,c,a){return n.call(this,i,c,a,t)}):o=function(i,c,a){return n.call(this,i,V(t,c),a,t)}),r[e](o,...s)}function _t(t,e,n){const s=u(t),r=s[e](...n);return(r===-1||r===!1)&&z(n[0])?(n[0]=u(n[0]),s[e](...n)):r}function L(t,e,n=[]){ut();const s=u(t)[e].apply(t,n);return ft(),s}const xe=Se("__proto__,__v_isRef,__isVue"),kt=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(H));function De(t){return H(t)||(t=String(t)),u(this).hasOwnProperty(t)}class Kt{constructor(e=!1,n=!1){this._isReadonly=e,this._isShallow=n}get(e,n,s){if(n==="__v_skip")return e.__v_skip;const r=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(r?o?We:Wt:o?ze:zt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(s)?e:void 0;const i=d(e);if(!r){let a;if(i&&(a=$e[n]))return a;if(n==="hasOwnProperty")return De}const c=Reflect.get(e,n,b(e)?e:s);if((H(n)?kt.has(n):xe(n))||o)return c;if(b(c)){const a=i&&J(n)?c:c.value;return r&&g(a)?bt(a):a}return g(c)?r?bt(c):Ut(c):c}}class Pe extends Kt{constructor(e=!1){super(!1,e)}set(e,n,s,r){let o=e[n];const i=d(e)&&J(n);if(!this._isShallow){const f=E(o);if(!m(s)&&!E(s)&&(o=u(o),s=u(s)),!i&&b(o)&&!b(s))return f?(process.env.NODE_ENV!=="production"&&D(`Set operation on key "${String(n)}" failed: target is readonly.`,e[n]),!0):(o.value=s,!0)}const c=i?Number(n)<e.length:ot(e,n),a=Reflect.set(e,n,s,b(e)?e:r);return e===u(r)&&(c?it(s,o)&&I(e,"set",n,s,o):I(e,"add",n,s)),a}deleteProperty(e,n){const s=ot(e,n),r=e[n],o=Reflect.deleteProperty(e,n);return o&&s&&I(e,"delete",n,void 0,r),o}has(e,n){const s=Reflect.has(e,n);return!H(n)||kt.has(n),s}ownKeys(e){return Reflect.ownKeys(e)}}class Me extends Kt{constructor(e=!1){super(!0,e)}set(e,n){return process.env.NODE_ENV!=="production"&&D(`Set operation on key "${String(n)}" failed: target is readonly.`,e),!0}deleteProperty(e,n){return process.env.NODE_ENV!=="production"&&D(`Delete operation on key "${String(n)}" failed: target is readonly.`,e),!0}}const Fe=new Pe,je=new Me,gt=t=>t,Y=t=>Reflect.getPrototypeOf(t);function ke(t,e,n){return function(...s){const r=this.__v_raw,o=u(r),i=K(o),c=t==="entries"||t===Symbol.iterator&&i,a=r[t](...s),f=n?gt:e?W:v;return{next(){const{value:h,done:l}=a.next();return l?{value:h,done:l}:{value:c?[f(h[0]),f(h[1])]:f(h),done:l}},[Symbol.iterator](){return this}}}}function G(t){return function(...e){if(process.env.NODE_ENV!=="production"){const n=e[0]?`on key "${e[0]}" `:"";D(`${Ne(t)} operation ${n}failed: target is readonly.`,u(this))}return t==="delete"?!1:t==="clear"?void 0:this}}function Ke(t,e){const n={get(r){const o=this.__v_raw,i=u(o),c=u(r),{has:a}=Y(i),f=e?gt:t?W:v;if(a.call(i,r))return f(o.get(r));if(a.call(i,c))return f(o.get(c));o!==i&&o.get(r)},get size(){const r=this.__v_raw;return!t&&(u(r),void 0),r.size},has(r){const o=this.__v_raw;u(o);const i=u(r);return r===i?o.has(r):o.has(r)||o.has(i)},forEach(r,o){const i=this,c=i.__v_raw;u(c);const a=e?gt:t?W:v;return c.forEach((f,h)=>r.call(o,a(f),a(h),i))}};return x(n,t?{add:G("add"),set:G("set"),delete:G("delete"),clear:G("clear")}:{add(r){!e&&!m(r)&&!E(r)&&(r=u(r));const o=u(this);return Y(o).has.call(o,r)||(o.add(r),I(o,"add",r,r)),this},set(r,o){!e&&!m(o)&&!E(o)&&(o=u(o));const i=u(this),{has:c,get:a}=Y(i);let f=c.call(i,r);f?process.env.NODE_ENV!=="production"&&Lt(i,c,r):(r=u(r),f=c.call(i,r));const h=a.call(i,r);return i.set(r,o),f?it(o,h)&&I(i,"set",r,o,h):I(i,"add",r,o),this},delete(r){const o=u(this),{has:i,get:c}=Y(o);let a=i.call(o,r);a?process.env.NODE_ENV!=="production"&&Lt(o,i,r):(r=u(r),a=i.call(o,r));const f=c?c.call(o,r):void 0,h=o.delete(r);return a&&I(o,"delete",r,void 0,f),h},clear(){const r=u(this),o=r.size!==0,i=process.env.NODE_ENV!=="production"?K(r)?new Map(r):new Set(r):void 0,c=r.clear();return o&&I(r,"clear",void 0,void 0,i),c}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=ke(r,t,e)}),n}function Ht(t,e){const n=Ke(t,e);return(s,r,o)=>r==="__v_isReactive"?!t:r==="__v_isReadonly"?t:r==="__v_raw"?s:Reflect.get(ot(n,r)&&r in s?n:s,r,o)}const He={get:Ht(!1,!1)},Le={get:Ht(!0,!1)};function Lt(t,e,n){const s=u(n);if(s!==n&&e.call(t,s)){const r=Tt(t);D(`Reactive ${r} contains both the raw and reactive versions of the same object${r==="Map"?" as keys":""}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)}}const zt=new WeakMap,ze=new WeakMap,Wt=new WeakMap,We=new WeakMap;function Ue(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function qe(t){return t.__v_skip||!Object.isExtensible(t)?0:Ue(Tt(t))}function Ut(t){return E(t)?t:qt(t,!1,Fe,He,zt)}function bt(t){return qt(t,!0,je,Le,Wt)}function qt(t,e,n,s,r){if(!g(t))return process.env.NODE_ENV!=="production"&&D(`value cannot be made ${e?"readonly":"reactive"}: ${String(t)}`),t;if(t.__v_raw&&!(e&&t.__v_isReactive))return t;const o=qe(t);if(o===0)return t;const i=r.get(t);if(i)return i;const c=new Proxy(t,o===2?s:n);return r.set(t,c),c}function mt(t){return E(t)?mt(t.__v_raw):!!(t&&t.__v_isReactive)}function E(t){return!!(t&&t.__v_isReadonly)}function m(t){return!!(t&&t.__v_isShallow)}function z(t){return t?!!t.__v_raw:!1}function u(t){const e=t&&t.__v_raw;return e?u(e):t}const v=t=>g(t)?Ut(t):t,W=t=>g(t)?bt(t):t;function b(t){return t?t.__v_isRef===!0:!1}function Jt(t){return Je(t,!1)}function Je(t,e){return b(t)?t:new Be(t,e)}class Be{constructor(e,n){this.dep=new Ve,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?e:u(e),this._value=n?e:v(e),this.__v_isShallow=n}get value(){return process.env.NODE_ENV!=="production"?this.dep.track({target:this,type:"get",key:"value"}):this.dep.track(),this._value}set value(e){const n=this._rawValue,s=this.__v_isShallow||m(e)||E(e);e=s?e:u(e),it(e,n)&&(this._rawValue=e,this._value=s?e:v(e),process.env.NODE_ENV!=="production"?this.dep.trigger({target:this,type:"set",key:"value",newValue:e,oldValue:n}):this.dep.trigger())}}function Ye(t){return b(t)?t.value:t}class Ge{constructor(e,n,s){this._object=e,this._key=n,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0,this._raw=u(e);let r=!0,o=e;if(!d(e)||!J(String(n)))do r=!z(o)||m(o);while(r&&(o=o.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=Ye(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&b(this._raw[this._key])){const n=this._object[this._key];if(b(n)){n.value=e;return}}this._object[this._key]=e}get dep(){return Ae(this._raw,this._key)}}class Qe{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Xe(t,e,n){return b(t)?t:C(t)?new Qe(t):g(t)&&arguments.length>1?Ze(t,e,n):Jt(t)}function Ze(t,e,n){return new Ge(t,e,n)}const $=[];function tn(t){$.push(t)}function en(){$.pop()}let yt=!1;function M(t,...e){if(yt)return;yt=!0;const n=$.length?$[$.length-1].component:null,s=n&&n.appContext.config.warnHandler,r=nn();if(s)St(s,n,11,[t+e.map(o=>{var i,c;return(c=(i=o.toString)==null?void 0:i.call(o))!=null?c:JSON.stringify(o)}).join(""),n&&n.proxy,r.map(({vnode:o})=>`at <${ae(n,o.type)}>`).join(`
2
- `),r]);else{const o=[`[Vue warn]: ${t}`,...e];r.length&&o.push(`
3
- `,...rn(r)),console.warn(...o)}yt=!1}function nn(){let t=$[$.length-1];if(!t)return[];const e=[];for(;t;){const n=e[0];n&&n.vnode===t?n.recurseCount++:e.push({vnode:t,recurseCount:0});const s=t.component&&t.component.parent;t=s&&s.vnode}return e}function rn(t){const e=[];return t.forEach((n,s)=>{e.push(...s===0?[]:[`
4
- `],...sn(n))}),e}function sn({vnode:t,recurseCount:e}){const n=e>0?`... (${e} recursive calls)`:"",s=t.component?t.component.parent==null:!1,r=` at <${ae(t.component,t.type,s)}`,o=">"+n;return t.props?[r,...on(t.props),o]:[r+o]}function on(t){const e=[],n=Object.keys(t);return n.slice(0,3).forEach(s=>{e.push(...Bt(s,t[s]))}),n.length>3&&e.push(" ..."),e}function Bt(t,e,n){return w(e)?(e=JSON.stringify(e),n?e:[`${t}=${e}`]):typeof e=="number"||typeof e=="boolean"||e==null?n?e:[`${t}=${e}`]:b(e)?(e=Bt(t,u(e.value),!0),n?e:[`${t}=Ref<`,e,">"]):C(e)?[`${t}=fn${e.name?`<${e.name}>`:""}`]:(e=u(e),n?e:[`${t}=`,e])}const Yt={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush",15:"component update",16:"app unmount cleanup function"};function St(t,e,n,s){try{return s?t(...s):t()}catch(r){Gt(r,e,n)}}function Gt(t,e,n,s=!0){const r=e?e.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:i}=e&&e.appContext.config||st;if(e){let c=e.parent;const a=e.proxy,f=process.env.NODE_ENV!=="production"?Yt[n]:`https://vuejs.org/error-reference/#runtime-${n}`;for(;c;){const h=c.ec;if(h){for(let l=0;l<h.length;l++)if(h[l](t,a,f)===!1)return}c=c.parent}if(o){St(o,null,10,[t,a,f]);return}}cn(t,n,r,s,i)}function cn(t,e,n,s=!0,r=!1){if(process.env.NODE_ENV!=="production"){const o=Yt[e];if(n&&tn(n),M(`Unhandled error${o?` during execution of ${o}`:""}`),n&&en(),s)throw t;console.error(t)}else{if(r)throw t;console.error(t)}}const y=[];let R=-1;const F=[];let A=null,j=0;const ln=Promise.resolve();let Et=null;const an=100;function un(t){let e=R+1,n=y.length;for(;e<n;){const s=e+n>>>1,r=y[s],o=U(r);o<t||o===t&&r.flags&2?e=s+1:n=s}return e}function fn(t){if(!(t.flags&1)){const e=U(t),n=y[y.length-1];!n||!(t.flags&2)&&e>=U(n)?y.push(t):y.splice(un(e),0,t),t.flags|=1,Qt()}}function Qt(){Et||(Et=ln.then(Xt))}function pn(t){d(t)?F.push(...t):A&&t.id===-1?A.splice(j+1,0,t):t.flags&1||(F.push(t),t.flags|=1),Qt()}function hn(t){if(F.length){const e=[...new Set(F)].sort((n,s)=>U(n)-U(s));if(F.length=0,A){A.push(...e);return}for(A=e,process.env.NODE_ENV!=="production"&&(t=t||new Map),j=0;j<A.length;j++){const n=A[j];process.env.NODE_ENV!=="production"&&Zt(t,n)||(n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2)}A=null,j=0}}const U=t=>t.id==null?t.flags&2?-1:1/0:t.id;function Xt(t){process.env.NODE_ENV!=="production"&&(t=t||new Map);const e=process.env.NODE_ENV!=="production"?n=>Zt(t,n):At;try{for(R=0;R<y.length;R++){const n=y[R];if(n&&!(n.flags&8)){if(process.env.NODE_ENV!=="production"&&e(n))continue;n.flags&4&&(n.flags&=-2),St(n,n.i,n.i?15:14),n.flags&4||(n.flags&=-2)}}}finally{for(;R<y.length;R++){const n=y[R];n&&(n.flags&=-2)}R=-1,y.length=0,hn(t),Et=null,(y.length||F.length)&&Xt(t)}}function Zt(t,e){const n=t.get(e)||0;if(n>an){const s=e.i,r=s&&le(s.type);return Gt(`Maximum recursive updates exceeded${r?` in component <${r}>`:""}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,null,10),!0}return t.set(e,n+1),!1}const Ot=new Map;process.env.NODE_ENV!=="production"&&(B().__VUE_HMR_RUNTIME__={createRecord:wt(dn),rerender:wt(_n),reload:wt(gn)});const Q=new Map;function dn(t,e){return Q.has(t)?!1:(Q.set(t,{initialDef:X(e),instances:new Set}),!0)}function X(t){return ue(t)?t.__vccOpts:t}function _n(t,e){const n=Q.get(t);n&&(n.initialDef.render=e,[...n.instances].forEach(s=>{e&&(s.render=e,X(s.type).render=e),s.renderCache=[],s.job.flags&8||s.update()}))}function gn(t,e){const n=Q.get(t);if(!n)return;e=X(e),te(n.initialDef,e);const s=[...n.instances];for(let r=0;r<s.length;r++){const o=s[r],i=X(o.type);let c=Ot.get(i);c||(i!==n.initialDef&&te(i,e),Ot.set(i,c=new Set)),c.add(o),o.appContext.propsCache.delete(o.type),o.appContext.emitsCache.delete(o.type),o.appContext.optionsCache.delete(o.type),o.ceReload?(c.add(o),o.ceReload(e.styles),c.delete(o)):o.parent?fn(()=>{o.job.flags&8||(o.parent.update(),c.delete(o))}):o.appContext.reload?o.appContext.reload():typeof window<"u"?window.location.reload():console.warn("[HMR] Root or manually mounted instance modified. Full reload required."),o.root.ce&&o!==o.root&&o.root.ce._removeChildStyle(i)}pn(()=>{Ot.clear()})}function te(t,e){x(t,e);for(const n in t)n!=="__file"&&!(n in e)&&delete t[n]}function wt(t){return(e,n)=>{try{return t(e,n)}catch(s){console.error(s),console.warn("[HMR] Something went wrong during Vue component hot-reload. Full reload required.")}}}let k,Z=[];function ee(t,e){var n,s;k=t,k?(k.enabled=!0,Z.forEach(({event:r,args:o})=>k.emit(r,...o)),Z=[]):typeof window<"u"&&window.HTMLElement&&!((s=(n=window.navigator)==null?void 0:n.userAgent)!=null&&s.includes("jsdom"))?((e.__VUE_DEVTOOLS_HOOK_REPLAY__=e.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(o=>{ee(o,e)}),setTimeout(()=>{k||(e.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Z=[])},3e3)):Z=[]}let tt=null,bn=null;const mn=t=>t.__isTeleport;function ne(t,e){t.shapeFlag&6&&t.component?(t.transition=e,ne(t.component.subTree,e)):t.shapeFlag&128?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}B().requestIdleCallback,B().cancelIdleCallback;const yn=Symbol.for("v-ndc"),Sn={};process.env.NODE_ENV!=="production"&&(Sn.ownKeys=t=>(M("Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead."),Reflect.ownKeys(t)));const En={},re=t=>Object.getPrototypeOf(t)===En,On=t=>t.__isSuspense,se=Symbol.for("v-fgt"),wn=Symbol.for("v-txt"),Nn=Symbol.for("v-cmt");function vn(t){return t?t.__v_isVNode===!0:!1}const Rn=(...t)=>ie(...t),oe=({key:t})=>t??null,et=({ref:t,ref_key:e,ref_for:n})=>(typeof t=="number"&&(t=""+t),t!=null?w(t)||b(t)||C(t)?{i:tt,r:t,k:e,f:!!n}:t:null);function Cn(t,e=null,n=null,s=0,r=null,o=t===se?0:1,i=!1,c=!1){const a={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&oe(e),ref:e&&et(e),scopeId:bn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:tt};return c?(Nt(a,n),o&128&&t.normalize(a)):n&&(a.shapeFlag|=w(n)?8:16),process.env.NODE_ENV!=="production"&&a.key!==a.key&&M("VNode created with invalid key (NaN). VNode type:",a.type),a}const In=process.env.NODE_ENV!=="production"?Rn:ie;function ie(t,e=null,n=null,s=0,r=null,o=!1){if((!t||t===yn)&&(process.env.NODE_ENV!=="production"&&!t&&M(`Invalid vnode type when creating vnode: ${t}.`),t=Nn),vn(t)){const c=nt(t,e,!0);return n&&Nt(c,n),c.patchFlag=-2,c}if(ue(t)&&(t=t.__vccOpts),e){e=Vn(e);let{class:c,style:a}=e;c&&!w(c)&&(e.class=lt(c)),g(a)&&(z(a)&&!d(a)&&(a=x({},a)),e.style=ct(a))}const i=w(t)?1:On(t)?128:mn(t)?64:g(t)?4:C(t)?2:0;return process.env.NODE_ENV!=="production"&&i&4&&z(t)&&(t=u(t),M("Vue received a Component that was made a reactive object. This can lead to unnecessary performance overhead and should be avoided by marking the component with `markRaw` or using `shallowRef` instead of `ref`.",`
5
- Component that was made reactive: `,t)),Cn(t,e,n,s,r,i,o,!0)}function Vn(t){return t?z(t)||re(t)?x({},t):t:null}function nt(t,e,n=!1,s=!1){const{props:r,ref:o,patchFlag:i,children:c,transition:a}=t,f=e?$n(r||{},e):r,h={__v_isVNode:!0,__v_skip:!0,type:t.type,props:f,key:f&&oe(f),ref:e&&e.ref?n&&o?d(o)?o.concat(et(e)):[o,et(e)]:et(e):o,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:process.env.NODE_ENV!=="production"&&i===-1&&d(c)?c.map(ce):c,target:t.target,targetStart:t.targetStart,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==se?i===-1?16:i|16:i,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:a,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&nt(t.ssContent),ssFallback:t.ssFallback&&nt(t.ssFallback),placeholder:t.placeholder,el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return a&&s&&ne(h,a.clone(h)),h}function ce(t){const e=nt(t);return d(t.children)&&(e.children=t.children.map(ce)),e}function An(t=" ",e=0){return In(wn,null,t,e)}function Nt(t,e){let n=0;const{shapeFlag:s}=t;if(e==null)e=null;else if(d(e))n=16;else if(typeof e=="object")if(s&65){const r=e.default;r&&(r._c&&(r._d=!1),Nt(t,r()),r._c&&(r._d=!0));return}else n=32,!e._&&!re(e)&&(e._ctx=tt);else C(e)?(e={default:e,_ctx:tt},n=32):(e=String(e),s&64?(n=16,e=[An(e)]):n=8);t.children=e,t.shapeFlag|=n}function $n(...t){const e={};for(let n=0;n<t.length;n++){const s=t[n];for(const r in s)if(r==="class")e.class!==s.class&&(e.class=lt([e.class,s.class]));else if(r==="style")e.style=ct([e.style,s.style]);else if(Ee(r)){const o=e[r],i=s[r];i&&o!==i&&!(d(o)&&o.includes(i))&&(e[r]=o?[].concat(o,i):i)}else r!==""&&(e[r]=s[r])}return e}{const t=B(),e=(n,s)=>{let r;return(r=t[n])||(r=t[n]=[]),r.push(s),o=>{r.length>1?r.forEach(i=>i(o)):r[0](o)}};e("__VUE_INSTANCE_SETTERS__",n=>n),e("__VUE_SSR_SETTERS__",n=>n)}process.env.NODE_ENV;const Tn=/(?:^|[-_])\w/g,xn=t=>t.replace(Tn,e=>e.toUpperCase()).replace(/[-_]/g,"");function le(t,e=!0){return C(t)?t.displayName||t.name:t.name||e&&t.__name}function ae(t,e,n=!1){let s=le(e);if(!s&&e.__file){const r=e.__file.match(/([^/\\]+)\.\w+$/);r&&(s=r[1])}if(!s&&t){const r=o=>{for(const i in o)if(o[i]===e)return i};s=r(t.components)||t.parent&&r(t.parent.type.components)||r(t.appContext.components)}return s?xn(s):n?"App":"Anonymous"}function ue(t){return C(t)&&"__vccOpts"in t}function Dn(){if(process.env.NODE_ENV==="production"||typeof window>"u")return;const t={style:"color:#3ba776"},e={style:"color:#1677ff"},n={style:"color:#f5222d"},s={style:"color:#eb2f96"},r={__vue_custom_formatter:!0,header(l){if(!g(l))return null;if(l.__isVue)return["div",t,"VueInstance"];if(b(l)){const p=l.value;return["div",{},["span",t,h(l)],"<",c(p),">"]}else{if(mt(l))return["div",{},["span",t,m(l)?"ShallowReactive":"Reactive"],"<",c(l),`>${E(l)?" (readonly)":""}`];if(E(l))return["div",{},["span",t,m(l)?"ShallowReadonly":"Readonly"],"<",c(l),">"]}return null},hasBody(l){return l&&l.__isVue},body(l){if(l&&l.__isVue)return["div",{},...o(l.$)]}};function o(l){const p=[];l.type.props&&l.props&&p.push(i("props",u(l.props))),l.setupState!==st&&p.push(i("setup",l.setupState)),l.data!==st&&p.push(i("data",u(l.data)));const S=a(l,"computed");S&&p.push(i("computed",S));const O=a(l,"inject");return O&&p.push(i("injected",O)),p.push(["div",{},["span",{style:s.style+";opacity:0.66"},"$ (internal): "],["object",{object:l}]]),p}function i(l,p){return p=x({},p),Object.keys(p).length?["div",{style:"line-height:1.25em;margin-bottom:0.6em"},["div",{style:"color:#476582"},l],["div",{style:"padding-left:1.25em"},...Object.keys(p).map(S=>["div",{},["span",s,S+": "],c(p[S],!1)])]]:["span",{}]}function c(l,p=!0){return typeof l=="number"?["span",e,l]:typeof l=="string"?["span",n,JSON.stringify(l)]:typeof l=="boolean"?["span",s,l]:g(l)?["object",{object:p?u(l):l}]:["span",n,String(l)]}function a(l,p){const S=l.type;if(C(S))return;const O={};for(const q in l.ctx)f(S,q,p)&&(O[q]=l.ctx[q]);return O}function f(l,p,S){const O=l[S];if(d(O)&&O.includes(p)||g(O)&&p in O||l.extends&&f(l.extends,p,S)||l.mixins&&l.mixins.some(q=>f(q,p,S)))return!0}function h(l){return m(l)?"ShallowRef":l.effect?"ComputedRef":"Ref"}window.devtoolsFormatters?window.devtoolsFormatters.push(r):window.devtoolsFormatters=[r]}process.env.NODE_ENV,process.env.NODE_ENV,process.env.NODE_ENV;function Pn(){Dn()}process.env.NODE_ENV!=="production"&&Pn();class Mn extends vt{_className="Store";_onAction;_options;_store;_subscriptions={};_storeSubscribe;static _requiredKeys;get onAction(){if(this._onAction)return()=>({store:this.store,callback:this._onAction})}set onAction(e){this._onAction=e}get options(){return this._options}get state(){return this._store.$state}set state(e){this._store.$state=e}get store(){return this._store}get storeSubscribe(){if(this._storeSubscribe)return()=>({store:this.store,callback:this._storeSubscribe})}set storeSubscribe(e){this._storeSubscribe=e}constructor(e,n,s=!1,r){super(s,r),this._options=n.storeOptions,this._store=e}addToState(e,n){this.isOptionApi()||n?.value||(n=Jt(n)),this.state[e]=n,this.store[e]=Xe(this.state,e)}addSubscription(e,n,s){this._subscriptions[e]={subscription:n,subscriptionOptions:s}}static customizeStore(e,n,s=!1,r){if(s&&r&&r.log(`Store - customizeStore() - ${e.$id}`,n),n.storeOptions&&this.hasRequiredKeys(n.storeOptions))return new this(e,n,s,r)}hasDeniedFirstChar(e){return It(e[0])}static hasRequiredKeys(e){return this._requiredKeys===void 0||this._requiredKeys?.every(n=>!!e[n])}getOption(e){return this.options&&this.options[e]}getStatePropertyValue(e){return this.getValue(this.state[e])}getSubscriptions(){if(!rt(this._subscriptions))return this._subscriptions}getValue(e){return e?.__v_isRef?e.value:e}isOptionApi(){return this.store._isOptionsAPI}stateHas(e){return this.state.hasOwnProperty(e)}storeHas(e){return this.store.hasOwnProperty(e)}}function Fn(t,e=!1){typeof e!="boolean"&&(e=!1);const n=new Vt(t,e);return n.plugin.bind(n)}_.CustomConsole=Ct,_.PluginSubscriber=fe,_.PluginSubscription=Vt,_.Store=Mn,_.createPlugin=Fn,_.defineAStore=ge,_.isEmpty=rt,Object.defineProperty(_,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(_,V){typeof exports=="object"&&typeof module<"u"?V(exports,require("pinia")):typeof define=="function"&&define.amd?define(["exports","pinia"],V):(_=typeof globalThis<"u"?globalThis:_||self,V(_["pinia-plugin-subscription"]={},_.Pinia))})(this,(function(_,V){"use strict";class fe{_console;_createInstance;_name;_pluginOptions;_storeInstance;_resetStoreCallback;_storeOnActionSubscription;_storeMutationSubscription;_subscriptions;pluginCreated;get console(){return this._console??console}get name(){return this._name}get pluginOptions(){return this._pluginOptions??{}}set pluginOptions(e){this._pluginOptions=e}get resetStoreCallback(){return this._resetStoreCallback}get storeOnActionSubscription(){return this._storeOnActionSubscription}get storeMutationSubscription(){return this._storeMutationSubscription}get subscriptions(){return this._subscriptions}set subscriptions(e){this._subscriptions=e}constructor(e,n,s){this._name=e,this._createInstance=n,s&&(this._console=s)}invoke({store:e,options:n},s){return this._storeInstance=this._createInstance(e,{...n,...this.pluginOptions},s,this.console),this._storeInstance?(this._subscriptions=this._storeInstance.getSubscriptions(),this._storeMutationSubscription=this._storeInstance.storeSubscribe,this._storeOnActionSubscription=this._storeInstance.onAction,this.pluginCreated&&this.pluginCreated(e),!0):!1}}class Rt{_console;_debug=!1;get console(){return this._console??console}set console(e){this._console=e}get debug(){return this._debug}set debug(e){this._debug=e}constructor(e,n){this._debug=e,n&&(this._console=n)}debugLog(...e){this._debug&&(Array.isArray(e)&&(e[0]=`${this._className} - ${e[0]}`),this.console.log(...e))}logError(...e){this.console.error(...e)}}const st="pinia-plugin-subscription",he=(t,e="white")=>`background-color: ${t}; color: ${e}; padding: 1px; margin-right: 5px; font-size: 12px`;function pe(t,e){if(!t)throw new Error("Style instructions are required");console.log("%c%s",t,e.shift(),...e)}class Ct{_bgColor="#ffec73";_color="green";_icon="🍍⚡";_errorBgColor="#d24545";_errorColor="white";_errorIcon="🍍⚠️";_styles={error:{bgColor:this._errorBgColor,color:this._errorColor,icon:this._errorIcon},info:{bgColor:this._bgColor,color:this._color,icon:this._icon}};formatMessage(e,n){return` [${n} ${st}] - ${e} `}generateStyle(e){return he(e.bgColor,e.color)}getStyleDefinition(e){return this._styles[e??"info"]}log(...e){this.useLog(this.getStyleDefinition(),e)}error(...e){this.useLog(this.getStyleDefinition("error"),e)}rebuildArgs(e,n){if(typeof e=="string")return[this.formatMessage(e,n)];if(Array.isArray(e))return[this.formatMessage(e.shift(),n),...e??[]]}useLog(e,n){pe(this.generateStyle(e),this.rebuildArgs(n,e.icon))}}class de extends Ct{_pluginName=st}const _e=new de;function J(t){return t?Array.isArray(t)?t.length===0:typeof t=="object"?Object.keys(t).length===0:typeof t=="string"?t.trim()==="":!1:!(typeof t=="boolean"||typeof t=="number")}const At="PluginSubscription";class It extends Rt{_className=At;_pluginDebug;_resetStoreCallback=[];_subscribers=[];_subscribersDelivered=new Set;_subscriptions=[];_subscriptionsDelivered=new Set;set subscribers(e){this._subscribers=e}get subscriptions(){if(!J(this._subscriptions))return this._subscriptions}constructor(e,n){super(Array.isArray(n)&&!!n?.includes(At),_e),this._pluginDebug=Array.isArray(n)?n:void 0,this._subscribers=e}addResetStoreCallback(e){this._resetStoreCallback.push(e)}definePluginDebug(e){return!!this._pluginDebug?.includes(e.name)}executeResetStoreCallbacks(e){this._resetStoreCallback.forEach(n=>n(e))}plugin({store:e,options:n}){if(this._subscribers.length){this.debugLog(`plugin() - ${e.$id}`,["subscriber:",this._subscribers,"store:",e,"options:",n]);try{this._subscribers.forEach(s=>{this._subscribersDelivered.has(`${s.name}-${e.$id}`)||s.invoke({store:e,options:n},this.definePluginDebug(s))&&(this._subscribersDelivered.add(`${s.name}-${e.$id}`),s.subscriptions&&this.subscriptionDelivery({store:e,options:n},s.subscriptions),s.storeMutationSubscription&&this.storeMutationSubscription(s.storeMutationSubscription),s.storeOnActionSubscription&&this.storeOnActionSubscription(s.storeOnActionSubscription),s.resetStoreCallback&&this.addResetStoreCallback(s.resetStoreCallback))}),this.rewriteResetStore({store:e},JSON.stringify(e.$state),Object.assign({},e))}catch(s){this.logError(s,e,n)}}}rewriteResetStore({store:e},n,s){e.$reset=()=>{this.debugLog("rewriteResetStore()",{initState:n,store:e,customStore:s}),this.executeResetStoreCallbacks(e),e.$patch(JSON.parse(n))}}storeOnActionSubscription(e){const{store:n,callback:s}=e();n.$onAction(({after:r,args:i,name:o})=>{this.debugLog(`storeOnActionSubscription ${n.$id}`,{after:r,args:i,name:o,store:n}),s({after:r,args:i,name:o})})}storeMutationSubscription(e){const{store:n,callback:s}=e();n.$subscribe(r=>{this.debugLog(`$subscribe ${n.$id}`,{mutation:r,store:n}),s(r)})}subscriptionDelivery({store:e,options:n},s){Object.entries(s).forEach(([r,i])=>{try{if(this._subscriptionsDelivered.has(`${r}-${e.$id}`))return;const{subscription:o,subscriptionOptions:c,stores:u}=i;this.debugLog(`subscriptionDelivery() - store: ${e.$id}`,["pluginName:",r,"subscription:",o,"options:",i,"stores:",u]);const a={storeOptions:{...n?.storeOptions??{},...c}};o.invoke({store:e,options:{...n,...a}},this.debug),this._subscriptionsDelivered.add(`${r}-${e.$id}`),J(u)||u?.forEach(p=>o.invoke({store:p,options:{...n,...a,...p?.storeOptions??{}}},this.debug))}catch(o){this.logError("subscriptionDelivery()",o,e,n)}})}}function ge(t){const e=Object.create(null);for(const n of t.split(","))e[n]=1;return n=>n in e}const it=process.env.NODE_ENV!=="production"?Object.freeze({}):{};process.env.NODE_ENV!=="production"&&Object.freeze([]);const $t=()=>{},be=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),T=Object.assign,me=Object.prototype.hasOwnProperty,ot=(t,e)=>me.call(t,e),d=Array.isArray,K=t=>Dt(t)==="[object Map]",C=t=>typeof t=="function",w=t=>typeof t=="string",H=t=>typeof t=="symbol",g=t=>t!==null&&typeof t=="object",ye=Object.prototype.toString,Dt=t=>ye.call(t),Vt=t=>Dt(t).slice(8,-1),B=t=>w(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Se=(t=>{const e=Object.create(null);return(n=>e[n]||(e[n]=t(n)))})(t=>t.charAt(0).toUpperCase()+t.slice(1)),ct=(t,e)=>!Object.is(t,e);let Tt;const Y=()=>Tt||(Tt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function lt(t){if(d(t)){const e={};for(let n=0;n<t.length;n++){const s=t[n],r=w(s)?Ne(s):lt(s);if(r)for(const i in r)e[i]=r[i]}return e}else if(w(t)||g(t))return t}const Ee=/;(?![^(]*\))/g,Oe=/:([^]+)/,we=/\/\*[^]*?\*\//g;function Ne(t){const e={};return t.replace(we,"").split(Ee).forEach(n=>{if(n){const s=n.split(Oe);s.length>1&&(e[s[0].trim()]=s[1].trim())}}),e}function ut(t){let e="";if(w(t))e=t;else if(d(t))for(let n=0;n<t.length;n++){const s=ut(t[n]);s&&(e+=s+" ")}else if(g(t))for(const n in t)t[n]&&(e+=n+" ");return e.trim()}function x(t,...e){console.warn(`[Vue warn] ${t}`,...e)}let xt=0,at;function ft(){xt++}function ht(){if(--xt>0)return;let t;for(;at;){let e=at;for(at=void 0;e;){const n=e.next;if(e.next=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(s){t||(t=s)}e=n}}if(t)throw t}class ve{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0,process.env.NODE_ENV!=="production"&&(this.subsHead=void 0)}track(e){}trigger(e){this.version++,this.notify(e)}notify(e){ft();try{if(process.env.NODE_ENV!=="production")for(let n=this.subsHead;n;n=n.nextSub)n.sub.onTrigger&&!(n.sub.flags&8)&&n.sub.onTrigger(T({effect:n.sub},e));for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ht()}}}const Pt=new WeakMap,pt=Symbol(process.env.NODE_ENV!=="production"?"Object iterate":""),Mt=Symbol(process.env.NODE_ENV!=="production"?"Map keys iterate":""),Ft=Symbol(process.env.NODE_ENV!=="production"?"Array iterate":"");function Kn(t,e,n){}function A(t,e,n,s,r,i){const o=Pt.get(t);if(!o)return;const c=u=>{u&&(process.env.NODE_ENV!=="production"?u.trigger({target:t,type:e,key:n,newValue:s,oldValue:r,oldTarget:i}):u.trigger())};if(ft(),e==="clear")o.forEach(c);else{const u=d(t),a=u&&B(n);if(u&&n==="length"){const p=Number(s);o.forEach((l,h)=>{(h==="length"||h===Ft||!H(h)&&h>=p)&&c(l)})}else switch((n!==void 0||o.has(void 0))&&c(o.get(n)),a&&c(o.get(Ft)),e){case"add":u?a&&c(o.get("length")):(c(o.get(pt)),K(t)&&c(o.get(Mt)));break;case"delete":u||(c(o.get(pt)),K(t)&&c(o.get(Mt)));break;case"set":K(t)&&c(o.get(pt));break}}ht()}function Re(t,e){const n=Pt.get(t);return n&&n.get(e)}function P(t){const e=f(t);return e===t||m(t)?e:e.map(v)}function dt(t){return t=f(t),t}function I(t,e){return E(t)?yt(t)?U(v(e)):U(e):v(e)}const Ce={__proto__:null,[Symbol.iterator](){return _t(this,Symbol.iterator,t=>I(this,t))},concat(...t){return P(this).concat(...t.map(e=>d(e)?P(e):e))},entries(){return _t(this,"entries",t=>(t[1]=I(this,t[1]),t))},every(t,e){return N(this,"every",t,e,void 0,arguments)},filter(t,e){return N(this,"filter",t,e,n=>n.map(s=>I(this,s)),arguments)},find(t,e){return N(this,"find",t,e,n=>I(this,n),arguments)},findIndex(t,e){return N(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return N(this,"findLast",t,e,n=>I(this,n),arguments)},findLastIndex(t,e){return N(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return N(this,"forEach",t,e,void 0,arguments)},includes(...t){return gt(this,"includes",t)},indexOf(...t){return gt(this,"indexOf",t)},join(t){return P(this).join(t)},lastIndexOf(...t){return gt(this,"lastIndexOf",t)},map(t,e){return N(this,"map",t,e,void 0,arguments)},pop(){return L(this,"pop")},push(...t){return L(this,"push",t)},reduce(t,...e){return kt(this,"reduce",t,e)},reduceRight(t,...e){return kt(this,"reduceRight",t,e)},shift(){return L(this,"shift")},some(t,e){return N(this,"some",t,e,void 0,arguments)},splice(...t){return L(this,"splice",t)},toReversed(){return P(this).toReversed()},toSorted(t){return P(this).toSorted(t)},toSpliced(...t){return P(this).toSpliced(...t)},unshift(...t){return L(this,"unshift",t)},values(){return _t(this,"values",t=>I(this,t))}};function _t(t,e,n){const s=dt(t),r=s[e]();return s!==t&&!m(t)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=n(i.value)),i}),r}const Ae=Array.prototype;function N(t,e,n,s,r,i){const o=dt(t),c=o!==t&&!m(t),u=o[e];if(u!==Ae[e]){const l=u.apply(t,i);return c?v(l):l}let a=n;o!==t&&(c?a=function(l,h){return n.call(this,I(t,l),h,t)}:n.length>2&&(a=function(l,h){return n.call(this,l,h,t)}));const p=u.call(o,a,s);return c&&r?r(p):p}function kt(t,e,n,s){const r=dt(t);let i=n;return r!==t&&(m(t)?n.length>3&&(i=function(o,c,u){return n.call(this,o,c,u,t)}):i=function(o,c,u){return n.call(this,o,I(t,c),u,t)}),r[e](i,...s)}function gt(t,e,n){const s=f(t),r=s[e](...n);return(r===-1||r===!1)&&z(n[0])?(n[0]=f(n[0]),s[e](...n)):r}function L(t,e,n=[]){ft();const s=f(t)[e].apply(t,n);return ht(),s}const Ie=ge("__proto__,__v_isRef,__isVue"),jt=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(H));function $e(t){return H(t)||(t=String(t)),f(this).hasOwnProperty(t)}class Kt{constructor(e=!1,n=!1){this._isReadonly=e,this._isShallow=n}get(e,n,s){if(n==="__v_skip")return e.__v_skip;const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?Ke:Ut:i?je:zt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(s)?e:void 0;const o=d(e);if(!r){let u;if(o&&(u=Ce[n]))return u;if(n==="hasOwnProperty")return $e}const c=Reflect.get(e,n,b(e)?e:s);if((H(n)?jt.has(n):Ie(n))||i)return c;if(b(c)){const u=o&&B(n)?c:c.value;return r&&g(u)?mt(u):u}return g(c)?r?mt(c):Wt(c):c}}class De extends Kt{constructor(e=!1){super(!1,e)}set(e,n,s,r){let i=e[n];const o=d(e)&&B(n);if(!this._isShallow){const a=E(i);if(!m(s)&&!E(s)&&(i=f(i),s=f(s)),!o&&b(i)&&!b(s))return a?(process.env.NODE_ENV!=="production"&&x(`Set operation on key "${String(n)}" failed: target is readonly.`,e[n]),!0):(i.value=s,!0)}const c=o?Number(n)<e.length:ot(e,n),u=Reflect.set(e,n,s,b(e)?e:r);return e===f(r)&&(c?ct(s,i)&&A(e,"set",n,s,i):A(e,"add",n,s)),u}deleteProperty(e,n){const s=ot(e,n),r=e[n],i=Reflect.deleteProperty(e,n);return i&&s&&A(e,"delete",n,void 0,r),i}has(e,n){const s=Reflect.has(e,n);return!H(n)||jt.has(n),s}ownKeys(e){return Reflect.ownKeys(e)}}class Ve extends Kt{constructor(e=!1){super(!0,e)}set(e,n){return process.env.NODE_ENV!=="production"&&x(`Set operation on key "${String(n)}" failed: target is readonly.`,e),!0}deleteProperty(e,n){return process.env.NODE_ENV!=="production"&&x(`Delete operation on key "${String(n)}" failed: target is readonly.`,e),!0}}const Te=new De,xe=new Ve,bt=t=>t,G=t=>Reflect.getPrototypeOf(t);function Pe(t,e,n){return function(...s){const r=this.__v_raw,i=f(r),o=K(i),c=t==="entries"||t===Symbol.iterator&&o,u=r[t](...s),a=n?bt:e?U:v;return{next(){const{value:p,done:l}=u.next();return l?{value:p,done:l}:{value:c?[a(p[0]),a(p[1])]:a(p),done:l}},[Symbol.iterator](){return this}}}}function Q(t){return function(...e){if(process.env.NODE_ENV!=="production"){const n=e[0]?`on key "${e[0]}" `:"";x(`${Se(t)} operation ${n}failed: target is readonly.`,f(this))}return t==="delete"?!1:t==="clear"?void 0:this}}function Me(t,e){const n={get(r){const i=this.__v_raw,o=f(i),c=f(r),{has:u}=G(o),a=e?bt:t?U:v;if(u.call(o,r))return a(i.get(r));if(u.call(o,c))return a(i.get(c));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!t&&(f(r),void 0),r.size},has(r){const i=this.__v_raw;f(i);const o=f(r);return r===o?i.has(r):i.has(r)||i.has(o)},forEach(r,i){const o=this,c=o.__v_raw;f(c);const u=e?bt:t?U:v;return c.forEach((a,p)=>r.call(i,u(a),u(p),o))}};return T(n,t?{add:Q("add"),set:Q("set"),delete:Q("delete"),clear:Q("clear")}:{add(r){!e&&!m(r)&&!E(r)&&(r=f(r));const i=f(this);return G(i).has.call(i,r)||(i.add(r),A(i,"add",r,r)),this},set(r,i){!e&&!m(i)&&!E(i)&&(i=f(i));const o=f(this),{has:c,get:u}=G(o);let a=c.call(o,r);a?process.env.NODE_ENV!=="production"&&Lt(o,c,r):(r=f(r),a=c.call(o,r));const p=u.call(o,r);return o.set(r,i),a?ct(i,p)&&A(o,"set",r,i,p):A(o,"add",r,i),this},delete(r){const i=f(this),{has:o,get:c}=G(i);let u=o.call(i,r);u?process.env.NODE_ENV!=="production"&&Lt(i,o,r):(r=f(r),u=o.call(i,r));const a=c?c.call(i,r):void 0,p=i.delete(r);return u&&A(i,"delete",r,void 0,a),p},clear(){const r=f(this),i=r.size!==0,o=process.env.NODE_ENV!=="production"?K(r)?new Map(r):new Set(r):void 0,c=r.clear();return i&&A(r,"clear",void 0,void 0,o),c}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Pe(r,t,e)}),n}function Ht(t,e){const n=Me(t,e);return(s,r,i)=>r==="__v_isReactive"?!t:r==="__v_isReadonly"?t:r==="__v_raw"?s:Reflect.get(ot(n,r)&&r in s?n:s,r,i)}const Fe={get:Ht(!1,!1)},ke={get:Ht(!0,!1)};function Lt(t,e,n){const s=f(n);if(s!==n&&e.call(t,s)){const r=Vt(t);x(`Reactive ${r} contains both the raw and reactive versions of the same object${r==="Map"?" as keys":""}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)}}const zt=new WeakMap,je=new WeakMap,Ut=new WeakMap,Ke=new WeakMap;function He(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Le(t){return t.__v_skip||!Object.isExtensible(t)?0:He(Vt(t))}function Wt(t){return E(t)?t:qt(t,!1,Te,Fe,zt)}function mt(t){return qt(t,!0,xe,ke,Ut)}function qt(t,e,n,s,r){if(!g(t))return process.env.NODE_ENV!=="production"&&x(`value cannot be made ${e?"readonly":"reactive"}: ${String(t)}`),t;if(t.__v_raw&&!(e&&t.__v_isReactive))return t;const i=Le(t);if(i===0)return t;const o=r.get(t);if(o)return o;const c=new Proxy(t,i===2?s:n);return r.set(t,c),c}function yt(t){return E(t)?yt(t.__v_raw):!!(t&&t.__v_isReactive)}function E(t){return!!(t&&t.__v_isReadonly)}function m(t){return!!(t&&t.__v_isShallow)}function z(t){return t?!!t.__v_raw:!1}function f(t){const e=t&&t.__v_raw;return e?f(e):t}const v=t=>g(t)?Wt(t):t,U=t=>g(t)?mt(t):t;function b(t){return t?t.__v_isRef===!0:!1}function Jt(t){return ze(t,!1)}function ze(t,e){return b(t)?t:new Ue(t,e)}class Ue{constructor(e,n){this.dep=new ve,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?e:f(e),this._value=n?e:v(e),this.__v_isShallow=n}get value(){return process.env.NODE_ENV!=="production"?this.dep.track({target:this,type:"get",key:"value"}):this.dep.track(),this._value}set value(e){const n=this._rawValue,s=this.__v_isShallow||m(e)||E(e);e=s?e:f(e),ct(e,n)&&(this._rawValue=e,this._value=s?e:v(e),process.env.NODE_ENV!=="production"?this.dep.trigger({target:this,type:"set",key:"value",newValue:e,oldValue:n}):this.dep.trigger())}}function We(t){return b(t)?t.value:t}class qe{constructor(e,n,s){this._object=e,this._key=n,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0,this._raw=f(e);let r=!0,i=e;if(!d(e)||!B(String(n)))do r=!z(i)||m(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=We(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&b(this._raw[this._key])){const n=this._object[this._key];if(b(n)){n.value=e;return}}this._object[this._key]=e}get dep(){return Re(this._raw,this._key)}}class Je{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Be(t,e,n){return b(t)?t:C(t)?new Je(t):g(t)&&arguments.length>1?Ye(t,e,n):Jt(t)}function Ye(t,e,n){return new qe(t,e,n)}const D=[];function Ge(t){D.push(t)}function Qe(){D.pop()}let St=!1;function M(t,...e){if(St)return;St=!0;const n=D.length?D[D.length-1].component:null,s=n&&n.appContext.config.warnHandler,r=Xe();if(s)Et(s,n,11,[t+e.map(i=>{var o,c;return(c=(o=i.toString)==null?void 0:o.call(i))!=null?c:JSON.stringify(i)}).join(""),n&&n.proxy,r.map(({vnode:i})=>`at <${ue(n,i.type)}>`).join(`
2
+ `),r]);else{const i=[`[Vue warn]: ${t}`,...e];r.length&&i.push(`
3
+ `,...Ze(r)),console.warn(...i)}St=!1}function Xe(){let t=D[D.length-1];if(!t)return[];const e=[];for(;t;){const n=e[0];n&&n.vnode===t?n.recurseCount++:e.push({vnode:t,recurseCount:0});const s=t.component&&t.component.parent;t=s&&s.vnode}return e}function Ze(t){const e=[];return t.forEach((n,s)=>{e.push(...s===0?[]:[`
4
+ `],...tn(n))}),e}function tn({vnode:t,recurseCount:e}){const n=e>0?`... (${e} recursive calls)`:"",s=t.component?t.component.parent==null:!1,r=` at <${ue(t.component,t.type,s)}`,i=">"+n;return t.props?[r,...en(t.props),i]:[r+i]}function en(t){const e=[],n=Object.keys(t);return n.slice(0,3).forEach(s=>{e.push(...Bt(s,t[s]))}),n.length>3&&e.push(" ..."),e}function Bt(t,e,n){return w(e)?(e=JSON.stringify(e),n?e:[`${t}=${e}`]):typeof e=="number"||typeof e=="boolean"||e==null?n?e:[`${t}=${e}`]:b(e)?(e=Bt(t,f(e.value),!0),n?e:[`${t}=Ref<`,e,">"]):C(e)?[`${t}=fn${e.name?`<${e.name}>`:""}`]:(e=f(e),n?e:[`${t}=`,e])}const Yt={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush",15:"component update",16:"app unmount cleanup function"};function Et(t,e,n,s){try{return s?t(...s):t()}catch(r){Gt(r,e,n)}}function Gt(t,e,n,s=!0){const r=e?e.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:o}=e&&e.appContext.config||it;if(e){let c=e.parent;const u=e.proxy,a=process.env.NODE_ENV!=="production"?Yt[n]:`https://vuejs.org/error-reference/#runtime-${n}`;for(;c;){const p=c.ec;if(p){for(let l=0;l<p.length;l++)if(p[l](t,u,a)===!1)return}c=c.parent}if(i){Et(i,null,10,[t,u,a]);return}}nn(t,n,r,s,o)}function nn(t,e,n,s=!0,r=!1){if(process.env.NODE_ENV!=="production"){const i=Yt[e];if(n&&Ge(n),M(`Unhandled error${i?` during execution of ${i}`:""}`),n&&Qe(),s)throw t;console.error(t)}else{if(r)throw t;console.error(t)}}const y=[];let R=-1;const F=[];let $=null,k=0;const rn=Promise.resolve();let Ot=null;const sn=100;function on(t){let e=R+1,n=y.length;for(;e<n;){const s=e+n>>>1,r=y[s],i=W(r);i<t||i===t&&r.flags&2?e=s+1:n=s}return e}function cn(t){if(!(t.flags&1)){const e=W(t),n=y[y.length-1];!n||!(t.flags&2)&&e>=W(n)?y.push(t):y.splice(on(e),0,t),t.flags|=1,Qt()}}function Qt(){Ot||(Ot=rn.then(Xt))}function ln(t){d(t)?F.push(...t):$&&t.id===-1?$.splice(k+1,0,t):t.flags&1||(F.push(t),t.flags|=1),Qt()}function un(t){if(F.length){const e=[...new Set(F)].sort((n,s)=>W(n)-W(s));if(F.length=0,$){$.push(...e);return}for($=e,process.env.NODE_ENV!=="production"&&(t=t||new Map),k=0;k<$.length;k++){const n=$[k];process.env.NODE_ENV!=="production"&&Zt(t,n)||(n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2)}$=null,k=0}}const W=t=>t.id==null?t.flags&2?-1:1/0:t.id;function Xt(t){process.env.NODE_ENV!=="production"&&(t=t||new Map);const e=process.env.NODE_ENV!=="production"?n=>Zt(t,n):$t;try{for(R=0;R<y.length;R++){const n=y[R];if(n&&!(n.flags&8)){if(process.env.NODE_ENV!=="production"&&e(n))continue;n.flags&4&&(n.flags&=-2),Et(n,n.i,n.i?15:14),n.flags&4||(n.flags&=-2)}}}finally{for(;R<y.length;R++){const n=y[R];n&&(n.flags&=-2)}R=-1,y.length=0,un(t),Ot=null,(y.length||F.length)&&Xt(t)}}function Zt(t,e){const n=t.get(e)||0;if(n>sn){const s=e.i,r=s&&le(s.type);return Gt(`Maximum recursive updates exceeded${r?` in component <${r}>`:""}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,null,10),!0}return t.set(e,n+1),!1}const wt=new Map;process.env.NODE_ENV!=="production"&&(Y().__VUE_HMR_RUNTIME__={createRecord:Nt(an),rerender:Nt(fn),reload:Nt(hn)});const X=new Map;function an(t,e){return X.has(t)?!1:(X.set(t,{initialDef:Z(e),instances:new Set}),!0)}function Z(t){return ae(t)?t.__vccOpts:t}function fn(t,e){const n=X.get(t);n&&(n.initialDef.render=e,[...n.instances].forEach(s=>{e&&(s.render=e,Z(s.type).render=e),s.renderCache=[],s.job.flags&8||s.update()}))}function hn(t,e){const n=X.get(t);if(!n)return;e=Z(e),te(n.initialDef,e);const s=[...n.instances];for(let r=0;r<s.length;r++){const i=s[r],o=Z(i.type);let c=wt.get(o);c||(o!==n.initialDef&&te(o,e),wt.set(o,c=new Set)),c.add(i),i.appContext.propsCache.delete(i.type),i.appContext.emitsCache.delete(i.type),i.appContext.optionsCache.delete(i.type),i.ceReload?(c.add(i),i.ceReload(e.styles),c.delete(i)):i.parent?cn(()=>{i.job.flags&8||(i.parent.update(),c.delete(i))}):i.appContext.reload?i.appContext.reload():typeof window<"u"?window.location.reload():console.warn("[HMR] Root or manually mounted instance modified. Full reload required."),i.root.ce&&i!==i.root&&i.root.ce._removeChildStyle(o)}ln(()=>{wt.clear()})}function te(t,e){T(t,e);for(const n in t)n!=="__file"&&!(n in e)&&delete t[n]}function Nt(t){return(e,n)=>{try{return t(e,n)}catch(s){console.error(s),console.warn("[HMR] Something went wrong during Vue component hot-reload. Full reload required.")}}}let j,tt=[];function ee(t,e){var n,s;j=t,j?(j.enabled=!0,tt.forEach(({event:r,args:i})=>j.emit(r,...i)),tt=[]):typeof window<"u"&&window.HTMLElement&&!((s=(n=window.navigator)==null?void 0:n.userAgent)!=null&&s.includes("jsdom"))?((e.__VUE_DEVTOOLS_HOOK_REPLAY__=e.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(i=>{ee(i,e)}),setTimeout(()=>{j||(e.__VUE_DEVTOOLS_HOOK_REPLAY__=null,tt=[])},3e3)):tt=[]}let et=null,pn=null;const dn=t=>t.__isTeleport;function ne(t,e){t.shapeFlag&6&&t.component?(t.transition=e,ne(t.component.subTree,e)):t.shapeFlag&128?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}Y().requestIdleCallback,Y().cancelIdleCallback;const _n=Symbol.for("v-ndc"),gn={};process.env.NODE_ENV!=="production"&&(gn.ownKeys=t=>(M("Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead."),Reflect.ownKeys(t)));const bn={},re=t=>Object.getPrototypeOf(t)===bn,mn=t=>t.__isSuspense,se=Symbol.for("v-fgt"),yn=Symbol.for("v-txt"),Sn=Symbol.for("v-cmt");function En(t){return t?t.__v_isVNode===!0:!1}const On=(...t)=>oe(...t),ie=({key:t})=>t??null,nt=({ref:t,ref_key:e,ref_for:n})=>(typeof t=="number"&&(t=""+t),t!=null?w(t)||b(t)||C(t)?{i:et,r:t,k:e,f:!!n}:t:null);function wn(t,e=null,n=null,s=0,r=null,i=t===se?0:1,o=!1,c=!1){const u={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&ie(e),ref:e&&nt(e),scopeId:pn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:et};return c?(vt(u,n),i&128&&t.normalize(u)):n&&(u.shapeFlag|=w(n)?8:16),process.env.NODE_ENV!=="production"&&u.key!==u.key&&M("VNode created with invalid key (NaN). VNode type:",u.type),u}const Nn=process.env.NODE_ENV!=="production"?On:oe;function oe(t,e=null,n=null,s=0,r=null,i=!1){if((!t||t===_n)&&(process.env.NODE_ENV!=="production"&&!t&&M(`Invalid vnode type when creating vnode: ${t}.`),t=Sn),En(t)){const c=rt(t,e,!0);return n&&vt(c,n),c.patchFlag=-2,c}if(ae(t)&&(t=t.__vccOpts),e){e=vn(e);let{class:c,style:u}=e;c&&!w(c)&&(e.class=ut(c)),g(u)&&(z(u)&&!d(u)&&(u=T({},u)),e.style=lt(u))}const o=w(t)?1:mn(t)?128:dn(t)?64:g(t)?4:C(t)?2:0;return process.env.NODE_ENV!=="production"&&o&4&&z(t)&&(t=f(t),M("Vue received a Component that was made a reactive object. This can lead to unnecessary performance overhead and should be avoided by marking the component with `markRaw` or using `shallowRef` instead of `ref`.",`
5
+ Component that was made reactive: `,t)),wn(t,e,n,s,r,o,i,!0)}function vn(t){return t?z(t)||re(t)?T({},t):t:null}function rt(t,e,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:c,transition:u}=t,a=e?Cn(r||{},e):r,p={__v_isVNode:!0,__v_skip:!0,type:t.type,props:a,key:a&&ie(a),ref:e&&e.ref?n&&i?d(i)?i.concat(nt(e)):[i,nt(e)]:nt(e):i,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:process.env.NODE_ENV!=="production"&&o===-1&&d(c)?c.map(ce):c,target:t.target,targetStart:t.targetStart,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==se?o===-1?16:o|16:o,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:u,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&rt(t.ssContent),ssFallback:t.ssFallback&&rt(t.ssFallback),placeholder:t.placeholder,el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return u&&s&&ne(p,u.clone(p)),p}function ce(t){const e=rt(t);return d(t.children)&&(e.children=t.children.map(ce)),e}function Rn(t=" ",e=0){return Nn(yn,null,t,e)}function vt(t,e){let n=0;const{shapeFlag:s}=t;if(e==null)e=null;else if(d(e))n=16;else if(typeof e=="object")if(s&65){const r=e.default;r&&(r._c&&(r._d=!1),vt(t,r()),r._c&&(r._d=!0));return}else n=32,!e._&&!re(e)&&(e._ctx=et);else C(e)?(e={default:e,_ctx:et},n=32):(e=String(e),s&64?(n=16,e=[Rn(e)]):n=8);t.children=e,t.shapeFlag|=n}function Cn(...t){const e={};for(let n=0;n<t.length;n++){const s=t[n];for(const r in s)if(r==="class")e.class!==s.class&&(e.class=ut([e.class,s.class]));else if(r==="style")e.style=lt([e.style,s.style]);else if(be(r)){const i=e[r],o=s[r];o&&i!==o&&!(d(i)&&i.includes(o))&&(e[r]=i?[].concat(i,o):o)}else r!==""&&(e[r]=s[r])}return e}{const t=Y(),e=(n,s)=>{let r;return(r=t[n])||(r=t[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};e("__VUE_INSTANCE_SETTERS__",n=>n),e("__VUE_SSR_SETTERS__",n=>n)}process.env.NODE_ENV;const An=/(?:^|[-_])\w/g,In=t=>t.replace(An,e=>e.toUpperCase()).replace(/[-_]/g,"");function le(t,e=!0){return C(t)?t.displayName||t.name:t.name||e&&t.__name}function ue(t,e,n=!1){let s=le(e);if(!s&&e.__file){const r=e.__file.match(/([^/\\]+)\.\w+$/);r&&(s=r[1])}if(!s&&t){const r=i=>{for(const o in i)if(i[o]===e)return o};s=r(t.components)||t.parent&&r(t.parent.type.components)||r(t.appContext.components)}return s?In(s):n?"App":"Anonymous"}function ae(t){return C(t)&&"__vccOpts"in t}function $n(){if(process.env.NODE_ENV==="production"||typeof window>"u")return;const t={style:"color:#3ba776"},e={style:"color:#1677ff"},n={style:"color:#f5222d"},s={style:"color:#eb2f96"},r={__vue_custom_formatter:!0,header(l){if(!g(l))return null;if(l.__isVue)return["div",t,"VueInstance"];if(b(l)){const h=l.value;return["div",{},["span",t,p(l)],"<",c(h),">"]}else{if(yt(l))return["div",{},["span",t,m(l)?"ShallowReactive":"Reactive"],"<",c(l),`>${E(l)?" (readonly)":""}`];if(E(l))return["div",{},["span",t,m(l)?"ShallowReadonly":"Readonly"],"<",c(l),">"]}return null},hasBody(l){return l&&l.__isVue},body(l){if(l&&l.__isVue)return["div",{},...i(l.$)]}};function i(l){const h=[];l.type.props&&l.props&&h.push(o("props",f(l.props))),l.setupState!==it&&h.push(o("setup",l.setupState)),l.data!==it&&h.push(o("data",f(l.data)));const S=u(l,"computed");S&&h.push(o("computed",S));const O=u(l,"inject");return O&&h.push(o("injected",O)),h.push(["div",{},["span",{style:s.style+";opacity:0.66"},"$ (internal): "],["object",{object:l}]]),h}function o(l,h){return h=T({},h),Object.keys(h).length?["div",{style:"line-height:1.25em;margin-bottom:0.6em"},["div",{style:"color:#476582"},l],["div",{style:"padding-left:1.25em"},...Object.keys(h).map(S=>["div",{},["span",s,S+": "],c(h[S],!1)])]]:["span",{}]}function c(l,h=!0){return typeof l=="number"?["span",e,l]:typeof l=="string"?["span",n,JSON.stringify(l)]:typeof l=="boolean"?["span",s,l]:g(l)?["object",{object:h?f(l):l}]:["span",n,String(l)]}function u(l,h){const S=l.type;if(C(S))return;const O={};for(const q in l.ctx)a(S,q,h)&&(O[q]=l.ctx[q]);return O}function a(l,h,S){const O=l[S];if(d(O)&&O.includes(h)||g(O)&&h in O||l.extends&&a(l.extends,h,S)||l.mixins&&l.mixins.some(q=>a(q,h,S)))return!0}function p(l){return m(l)?"ShallowRef":l.effect?"ComputedRef":"Ref"}window.devtoolsFormatters?window.devtoolsFormatters.push(r):window.devtoolsFormatters=[r]}process.env.NODE_ENV,process.env.NODE_ENV,process.env.NODE_ENV;function Dn(){$n()}process.env.NODE_ENV!=="production"&&Dn();function Vn(t,e,n){const s=n?{storeOptions:n}:{};return typeof e=="function"?Tn(t,e,s):xn(t,e,s)}function Tn(t,e,n){return V.defineStore(t,e,n)}function xn(t,e,n){return n&&(e={...e,...n??{}}),V.defineStore(t,e)}const Pn=new Set(["_","$"]);function Mn(t){return Pn.has(t[0])}class Fn extends Rt{_className="Store";_onAction;_options;_store;_subscriptions={};_storeSubscribe;static _requiredKeys;get onAction(){if(this._onAction)return()=>({store:this.store,callback:this._onAction})}set onAction(e){this._onAction=e}get options(){return this._options}get state(){return this._store.$state}set state(e){this._store.$state=e}get store(){return this._store}get storeSubscribe(){if(this._storeSubscribe)return()=>({store:this.store,callback:this._storeSubscribe})}set storeSubscribe(e){this._storeSubscribe=e}constructor(e,n,s=!1,r){super(s,r),this._options=n.storeOptions,this._store=e}addToState(e,n){this.isOptionApi()||n?.value||(n=Jt(n)),this.state[e]=n,this.store[e]=Be(this.state,e)}addSubscription(e,n,s){this._subscriptions[e]={subscription:n,...s??{}}}static customizeStore(e,n,s=!1,r){if(n.storeOptions&&this.hasRequiredKeys(n.storeOptions))return new this(e,n,s,r)}hasDeniedFirstChar(e){return Mn(e[0])}static hasRequiredKeys(e){return this._requiredKeys!==void 0&&this._requiredKeys?.every(n=>!!e[n])}getOption(e){return this.options&&this.options[e]}getStatePropertyValue(e){return this.getValue(this.state[e])}getSubscriptions(){if(!J(this._subscriptions))return this._subscriptions}getValue(e){return e?.__v_isRef?e.value:e}isOptionApi(){return this.store._isOptionsAPI}stateHas(e){return this.state.hasOwnProperty(e)}storeHas(e){return this.store.hasOwnProperty(e)}}function kn(t,e){const n=new It(t,e);return n.plugin.bind(n)}_.CustomConsole=Ct,_.PLUGIN_NAME=st,_.PluginSubscriber=fe,_.PluginSubscription=It,_.Store=Fn,_.createPlugin=kn,_.defineAStore=Vn,_.isEmpty=J,Object.defineProperty(_,Symbol.toStringTag,{value:"Module"})}));
@@ -1,13 +1,22 @@
1
- import type { PiniaPlugin, PiniaPluginContext, Store as PiniaStore, StateTree } from "pinia"
1
+ import type { PiniaPlugin, PiniaPluginContext, Store as PiniaStore, StateTree, StoreDefinition } from "pinia"
2
2
  import type { Console } from "./log"
3
- import type { PluginSubscriber as PluginSubscriberInterface, PluginSubscriptions, StoreOnActionSubscription, StoreMutationSubscription } from "./plugin"
4
- import type { DefineAugmentedStore, StatePropertyValue, StoreOptions, StoreOptionsPropertyValue } from "./store"
3
+ import type {
4
+ PluginSubscriber as PluginSubscriberInterface,
5
+ PluginSubscriptions,
6
+ StoreOnActionSubscription,
7
+ StoreOnActionSubscriptionCallback,
8
+ StoreMutationSubscription,
9
+ StoreMutationSubscriptionCallback
10
+ } from "./plugin"
11
+ import type { StatePropertyValue, StoreOptions, StoreOptionsPropertyValue } from "./store"
5
12
 
6
13
 
7
14
  declare module 'pinia-plugin-subscription' {
8
- export function createPlugin(subscribers: PluginSubscriberInterface[], debug?: boolean): PiniaPlugin;
15
+ export const PLUGIN_NAME: string;
9
16
 
10
- export function defineAStore<TStore, TState>(id: string, storeDefinition: () => AnyObject, storeOptions?: StoreOptions): DefineAugmentedStore<TStore, TState>
17
+ export function createPlugin(subscribers: PluginSubscriberInterface[], debug?: string[]): PiniaPlugin;
18
+
19
+ export function defineAStore<TStore, TState>(id: string, storeDefinition: () => AnyObject, storeOptions?: StoreOptions): StoreDefinition & TState & TStore
11
20
 
12
21
  export function isEmpty(value: any): boolean
13
22
 
@@ -34,43 +43,49 @@ declare module 'pinia-plugin-subscription' {
34
43
  protected abstract _pluginName: string
35
44
 
36
45
  log(...args: any): void
37
- logError(...args: any): void
46
+ error(...args: any): void
38
47
  }
39
48
 
40
49
  export abstract class PluginSubscriber<Instance extends Store> implements PluginSubscriberInterface {
41
- public console: CustomConsole
50
+ public console: Console
42
51
  public name: string
43
52
  public pluginOptions: AnyObject
44
53
  public resetStoreCallback: ((store?: PiniaStore) => void) | undefined
45
54
  public storeOnActionSubscription: StoreOnActionSubscription | undefined
46
55
  public storeMutationSubscription: StoreMutationSubscription | undefined
47
- protected pluginCreated?: (store: PiniaStore) => void
48
56
  public subscriptions: PluginSubscriptions | undefined
57
+ protected pluginCreated?: (store: PiniaStore) => void
58
+ protected _resetStoreCallback?: (store?: PiniaStore) => void
49
59
 
50
60
  constructor(
51
61
  pluginName: string,
52
- createInstanceFunction: (store: PiniaStore, options: AnyObject, debug?: boolean) => Instance | undefined,
62
+ createInstanceFunction: (store: PiniaStore, options: AnyObject, debug: boolean, pluginConsole?: Console) => Instance | undefined,
53
63
  pluginConsole?: CustomConsole
54
64
  )
55
65
 
56
- public invoke(context: PiniaPluginContext, debug?: boolean): void
66
+ public invoke(context: PiniaPluginContext, debug: boolean): boolean
57
67
  }
58
68
 
59
69
  export class Store extends Debug {
60
- constructor(store: PiniaStore, options: AnyObject, debug: boolean)
70
+ constructor(store: PiniaStore, options: AnyObject, debug: boolean, customConsole?: Console)
61
71
 
62
72
  protected _className: string
63
73
  protected static _requiredKeys?: string[]
64
74
  public debug: boolean
65
- public onAction: StoreOnActionSubscription | undefined
75
+ public onAction: StoreOnActionSubscription | StoreOnActionSubscriptionCallback | undefined
66
76
  public readonly options: StoreOptions
77
+ public resetCallback: (() => void) | undefined
67
78
  public state: StateTree
68
- public storeSubscribe: StoreMutationSubscription | undefined
79
+ public storeSubscribe: StoreMutationSubscriptionCallback | undefined
69
80
  public readonly store: AnyObject
70
81
 
71
82
  addPropertiesToState(properties: string[], values?: AnyObject): void
72
83
 
73
- addSubscription(pluginName: string, subscription: PluginSubscriberInterface, subscriptionOptions?: StoreOptions): void
84
+ addSubscription(
85
+ pluginName: string,
86
+ subscription: PluginSubscriberInterface,
87
+ options?: { subscriptionOptions?: StoreOptions, stores?: PiniaStore[] }
88
+ ): void
74
89
 
75
90
  addToState(name: string, value?: StatePropertyValue): void
76
91
 
@@ -93,6 +108,8 @@ declare module 'pinia-plugin-subscription' {
93
108
 
94
109
  getValue(value: any): any
95
110
 
111
+ protected static hasRequiredKeys(options: AnyObject): boolean
112
+
96
113
  isOptionApi(): boolean
97
114
 
98
115
  stateHas(property: string): boolean
@@ -108,5 +125,13 @@ export interface SearchCollectionCriteria {
108
125
  [key: number | string | symbol]: boolean | number | string;
109
126
  }
110
127
  export { Console, LogType, StyleDefinition as ConsoleStyleDefinition, StyleDefinitionKeys as ConsoleStyleDefinitionKeys, StyleDefinitions as ConsoleStyleDefinitions } from './log';
111
- export type { CustomStore, DefineAugmentedStore, PluginStoreOptions, StatePropertyValue, StoreOptions, StoreOptionsPropertyValue } from "./store";
112
- export type { PluginSubscriber as PluginSubscriberInterface } from "./plugin";
128
+ export type { CustomStore, PluginStoreOptions, StatePropertyValue, StoreOptions, StoreOptionsPropertyValue } from "./store";
129
+ export type { PluginSubscriber as PluginSubscriberInterface, StoreMutationSubscriptionCallback, StoreOnActionCallbackParameters } from "./plugin";
130
+
131
+
132
+
133
+ declare module 'pinia' {
134
+ export interface DefineStoreOptionsBase<S, Store> {
135
+ storeOptions?: StoreOptions
136
+ }
137
+ }
@@ -1,30 +1,32 @@
1
1
  import type { PiniaPluginContext, StateTree, Store, SubscriptionCallbackMutation } from "pinia";
2
2
  import { StoreOptions } from "./store";
3
- import { PluginSubscriberInterface } from ".";
3
+ import { Console, PluginSubscriberInterface } from ".";
4
4
  export interface PluginSubscriber {
5
- invoke: (context: PiniaPluginContext, debug?: boolean) => void;
5
+ console?: Console;
6
+ invoke: (context: PiniaPluginContext, debug: boolean) => boolean;
6
7
  name: string;
7
8
  resetStoreCallback?: (store?: Store) => void;
8
9
  storeOnActionSubscription?: StoreOnActionSubscription;
9
10
  storeMutationSubscription?: StoreMutationSubscription;
10
- subscriptions: PluginSubscriptions | undefined;
11
+ subscriptions?: PluginSubscriptions;
11
12
  }
12
13
  export interface NativePiniaSubscriptionReturn<Callback> {
13
14
  store: Store;
14
15
  callback: Callback;
15
16
  }
16
- export interface OnActionParameters {
17
+ export interface StoreOnActionCallbackParameters {
17
18
  after: Function;
18
19
  args: any[] | object;
19
20
  name: string;
20
21
  }
21
22
  export interface PluginSubscription {
23
+ stores?: Store[];
22
24
  subscription: PluginSubscriberInterface;
23
25
  subscriptionOptions?: StoreOptions;
24
26
  }
25
27
  export type PluginSubscriptions = Record<string, PluginSubscription>;
26
28
  export type NativePiniaSubscription<Callback> = () => NativePiniaSubscriptionReturn<Callback>;
27
- export type StoreOnActionSubscriptionCallback = (params: OnActionParameters) => void;
29
+ export type StoreOnActionSubscriptionCallback = (params: StoreOnActionCallbackParameters) => void;
28
30
  export type StoreOnActionSubscriptionReturn = NativePiniaSubscriptionReturn<StoreOnActionSubscriptionCallback>;
29
31
  export type StoreOnActionSubscription = NativePiniaSubscription<StoreOnActionSubscriptionCallback>;
30
32
  export type StoreMutationSubscriptionCallback = (mutation: SubscriptionCallbackMutation<StateTree>) => void;
@@ -1,7 +1,7 @@
1
1
  import type { AnyObject } from ".";
2
2
  import type { PiniaCustomProperties, Store, StoreDefinition } from "pinia";
3
3
  import type { Ref } from "vue";
4
- export type CustomStore<TStore, TState> = Store & PiniaCustomProperties & StoreDefinition<string, AnyObject & TState, AnyObject, TStore> & TStore & TState;
4
+ export type CustomStore<TStore, TState> = Store & TStore & TState & PiniaCustomProperties & StoreDefinition;
5
5
  export type DefineAugmentedStore<TStore, TState> = (args?: any) => CustomStore<TStore, TState>;
6
6
  export type ObjectBaseProperty = Record<string, OptionBaseProperty | OptionBaseProperty[]>;
7
7
  export type OptionBaseProperty = string | number | boolean | null | undefined | object | Function;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "author": "Alexandre Bidaud <alexbidaud85@gmail.com> (https://github.com/AlxBDo)",
3
3
  "name": "pinia-plugin-subscription",
4
- "version": "0.0.0-beta.9",
4
+ "version": "0.0.1",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {