pinia-plugin-subscription 0.1.2 → 0.1.3-beta.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(_,F){typeof exports=="object"&&typeof module<"u"?F(exports,require("pinia")):typeof define=="function"&&define.amd?define(["exports","pinia"],F):(_=typeof globalThis<"u"?globalThis:_||self,F(_["pinia-plugin-subscription"]={},_.Pinia))})(this,(function(_,F){"use strict";class be{_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,r){this._name=e,this._createInstance=n,r&&(this._console=r)}invoke({store:e,options:n},r){return this._storeInstance=this._createInstance(e,{...n,...this.pluginOptions},r,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 Tt{_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 pt="pinia-plugin-subscription",me=(t,e="white")=>`background-color: ${t}; color: ${e}; padding: 1px; margin-right: 5px; font-size: 12px`;function ye(t,e){if(!t)throw new Error("Style instructions are required");console.log("%c%s",t,e.shift(),...e)}class xt{_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} ${pt}] - ${e} `}generateStyle(e){return me(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){ye(this.generateStyle(e),this.rebuildArgs(n,e.icon))}}class Se extends xt{_pluginName=pt}const Oe=new Se;function Q(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 Mt="PluginSubscription";class Pt extends Tt{_className=Mt;_pluginDebug;_resetStoreCallback=[];_subscribers=[];_subscribersDelivered=new Set;_subscriptions=[];_subscriptionsDelivered=new Set;set subscribers(e){this._subscribers=e}get subscriptions(){if(!Q(this._subscriptions))return this._subscriptions}constructor(e,n){super(Array.isArray(n)&&!!n?.includes(Mt),Oe),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(r=>{this._subscribersDelivered.has(`${r.name}-${e.$id}`)||r.invoke({store:e,options:n},this.definePluginDebug(r))&&(this._subscribersDelivered.add(`${r.name}-${e.$id}`),r.subscriptions&&this.subscriptionDelivery({store:e,options:n},r.subscriptions),r.storeMutationSubscription&&this.storeMutationSubscription(r.storeMutationSubscription),r.storeOnActionSubscription&&this.storeOnActionSubscription(r.storeOnActionSubscription),r.resetStoreCallback&&this.addResetStoreCallback(r.resetStoreCallback))}),this.rewriteResetStore({store:e},JSON.stringify(e.$state),Object.assign({},e))}catch(r){this.logError(r,e,n)}}}rewriteResetStore({store:e},n,r){e.$reset=()=>{this.debugLog("rewriteResetStore()",{initState:n,store:e,customStore:r}),this.executeResetStoreCallbacks(e),e.$patch(JSON.parse(n))}}storeOnActionSubscription(e){const{store:n,callback:r}=e();n.$onAction(({after:s,args:i,name:o})=>{this.debugLog(`storeOnActionSubscription ${n.$id}`,{after:s,args:i,name:o,store:n}),r({after:s,args:i,name:o})})}storeMutationSubscription(e){const{store:n,callback:r}=e();n.$subscribe(s=>{this.debugLog(`$subscribe ${n.$id}`,{mutation:s,store:n}),r(s)})}subscriptionDelivery({store:e,options:n},r){Object.entries(r).forEach(([s,i])=>{try{if(this._subscriptionsDelivered.has(`${s}-${e.$id}`))return;const{subscription:o,subscriptionOptions:c,stores:a}=i;this.debugLog(`subscriptionDelivery() - store: ${e.$id}`,["pluginName:",s,"subscription:",o,"options:",i,"stores:",a]);const u={storeOptions:{...n?.storeOptions??{},...c}};o.invoke({store:e,options:{...n,...u}},this.debug),this._subscriptionsDelivered.add(`${s}-${e.$id}`),Q(a)||a?.forEach(p=>o.invoke({store:p,options:{...n,...u,...p?.storeOptions??{}}},this.debug))}catch(o){this.logError("subscriptionDelivery()",o,e,n)}})}}function Ee(t){const e=Object.create(null);for(const n of t.split(","))e[n]=1;return n=>n in e}const dt=process.env.NODE_ENV!=="production"?Object.freeze({}):{};process.env.NODE_ENV!=="production"&&Object.freeze([]);const Ft=()=>{},we=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),Ne=t=>t.startsWith("onUpdate:"),D=Object.assign,ve=Object.prototype.hasOwnProperty,_t=(t,e)=>ve.call(t,e),d=Array.isArray,z=t=>kt(t)==="[object Map]",I=t=>typeof t=="function",v=t=>typeof t=="string",T=t=>typeof t=="symbol",b=t=>t!==null&&typeof t=="object",Re=Object.prototype.toString,kt=t=>Re.call(t),jt=t=>kt(t).slice(8,-1),X=t=>v(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Ce=(t=>{const e=Object.create(null);return(n=>e[n]||(e[n]=t(n)))})(t=>t.charAt(0).toUpperCase()+t.slice(1)),x=(t,e)=>!Object.is(t,e);let Kt;const Z=()=>Kt||(Kt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function gt(t){if(d(t)){const e={};for(let n=0;n<t.length;n++){const r=t[n],s=v(r)?Ve(r):gt(r);if(s)for(const i in s)e[i]=s[i]}return e}else if(v(t)||b(t))return t}const Ae=/;(?![^(]*\))/g,Ie=/:([^]+)/,$e=/\/\*[^]*?\*\//g;function Ve(t){const e={};return t.replace($e,"").split(Ae).forEach(n=>{if(n){const r=n.split(Ie);r.length>1&&(e[r[0].trim()]=r[1].trim())}}),e}function bt(t){let e="";if(v(t))e=t;else if(d(t))for(let n=0;n<t.length;n++){const r=bt(t[n]);r&&(e+=r+" ")}else if(b(t))for(const n in t)t[n]&&(e+=n+" ");return e.trim()}function k(t,...e){console.warn(`[Vue warn] ${t}`,...e)}let De,Ht=0,mt;function yt(){Ht++}function St(){if(--Ht>0)return;let t;for(;mt;){let e=mt;for(mt=void 0;e;){const n=e.next;if(e.next=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(r){t||(t=r)}e=n}}if(t)throw t}let tt=!0;const Lt=[];function et(){Lt.push(tt),tt=!1}function nt(){const t=Lt.pop();tt=t===void 0?!0:t}class Wt{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){yt();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(D({effect:n.sub},e));for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{St()}}}const st=new WeakMap,M=Symbol(process.env.NODE_ENV!=="production"?"Object iterate":""),Ot=Symbol(process.env.NODE_ENV!=="production"?"Map keys iterate":""),U=Symbol(process.env.NODE_ENV!=="production"?"Array iterate":"");function g(t,e,n){if(tt&&De){let r=st.get(t);r||st.set(t,r=new Map);let s=r.get(n);s||(r.set(n,s=new Wt),s.map=r,s.key=n),process.env.NODE_ENV!=="production"?s.track({target:t,type:e,key:n}):s.track()}}function $(t,e,n,r,s,i){const o=st.get(t);if(!o)return;const c=a=>{a&&(process.env.NODE_ENV!=="production"?a.trigger({target:t,type:e,key:n,newValue:r,oldValue:s,oldTarget:i}):a.trigger())};if(yt(),e==="clear")o.forEach(c);else{const a=d(t),u=a&&X(n);if(a&&n==="length"){const p=Number(r);o.forEach((l,f)=>{(f==="length"||f===U||!T(f)&&f>=p)&&c(l)})}else switch((n!==void 0||o.has(void 0))&&c(o.get(n)),u&&c(o.get(U)),e){case"add":a?u&&c(o.get("length")):(c(o.get(M)),z(t)&&c(o.get(Ot)));break;case"delete":a||(c(o.get(M)),z(t)&&c(o.get(Ot)));break;case"set":z(t)&&c(o.get(M));break}}St()}function Te(t,e){const n=st.get(t);return n&&n.get(e)}function j(t){const e=h(t);return e===t?e:(g(e,"iterate",U),y(t)?e:e.map(C))}function Et(t){return g(t=h(t),"iterate",U),t}function E(t,e){return w(t)?B(Ct(t)?C(e):e):C(e)}const xe={__proto__:null,[Symbol.iterator](){return wt(this,Symbol.iterator,t=>E(this,t))},concat(...t){return j(this).concat(...t.map(e=>d(e)?j(e):e))},entries(){return wt(this,"entries",t=>(t[1]=E(this,t[1]),t))},every(t,e){return R(this,"every",t,e,void 0,arguments)},filter(t,e){return R(this,"filter",t,e,n=>n.map(r=>E(this,r)),arguments)},find(t,e){return R(this,"find",t,e,n=>E(this,n),arguments)},findIndex(t,e){return R(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return R(this,"findLast",t,e,n=>E(this,n),arguments)},findLastIndex(t,e){return R(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return R(this,"forEach",t,e,void 0,arguments)},includes(...t){return Nt(this,"includes",t)},indexOf(...t){return Nt(this,"indexOf",t)},join(t){return j(this).join(t)},lastIndexOf(...t){return Nt(this,"lastIndexOf",t)},map(t,e){return R(this,"map",t,e,void 0,arguments)},pop(){return q(this,"pop")},push(...t){return q(this,"push",t)},reduce(t,...e){return zt(this,"reduce",t,e)},reduceRight(t,...e){return zt(this,"reduceRight",t,e)},shift(){return q(this,"shift")},some(t,e){return R(this,"some",t,e,void 0,arguments)},splice(...t){return q(this,"splice",t)},toReversed(){return j(this).toReversed()},toSorted(t){return j(this).toSorted(t)},toSpliced(...t){return j(this).toSpliced(...t)},unshift(...t){return q(this,"unshift",t)},values(){return wt(this,"values",t=>E(this,t))}};function wt(t,e,n){const r=Et(t),s=r[e]();return r!==t&&!y(t)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.done||(i.value=n(i.value)),i}),s}const Me=Array.prototype;function R(t,e,n,r,s,i){const o=Et(t),c=o!==t&&!y(t),a=o[e];if(a!==Me[e]){const l=a.apply(t,i);return c?C(l):l}let u=n;o!==t&&(c?u=function(l,f){return n.call(this,E(t,l),f,t)}:n.length>2&&(u=function(l,f){return n.call(this,l,f,t)}));const p=a.call(o,u,r);return c&&s?s(p):p}function zt(t,e,n,r){const s=Et(t),i=s!==t&&!y(t);let o=n,c=!1;s!==t&&(i?(c=r.length===0,o=function(u,p,l){return c&&(c=!1,u=E(t,u)),n.call(this,u,E(t,p),l,t)}):n.length>3&&(o=function(u,p,l){return n.call(this,u,p,l,t)}));const a=s[e](o,...r);return c?E(t,a):a}function Nt(t,e,n){const r=h(t);g(r,"iterate",U);const s=r[e](...n);return(s===-1||s===!1)&&J(n[0])?(n[0]=h(n[0]),r[e](...n)):s}function q(t,e,n=[]){et(),yt();const r=h(t)[e].apply(t,n);return St(),nt(),r}const Pe=Ee("__proto__,__v_isRef,__isVue"),Ut=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(T));function Fe(t){T(t)||(t=String(t));const e=h(this);return g(e,"has",t),e.hasOwnProperty(t)}class qt{constructor(e=!1,n=!1){this._isReadonly=e,this._isShallow=n}get(e,n,r){if(n==="__v_skip")return e.__v_skip;const s=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return i;if(n==="__v_raw")return r===(s?i?Je:Gt:i?qe:Yt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(r)?e:void 0;const o=d(e);if(!s){let a;if(o&&(a=xe[n]))return a;if(n==="hasOwnProperty")return Fe}const c=Reflect.get(e,n,m(e)?e:r);if((T(n)?Ut.has(n):Pe(n))||(s||g(e,"get",n),i))return c;if(m(c)){const a=o&&X(n)?c:c.value;return s&&b(a)?Rt(a):a}return b(c)?s?Rt(c):Qt(c):c}}class ke extends qt{constructor(e=!1){super(!1,e)}set(e,n,r,s){let i=e[n];const o=d(e)&&X(n);if(!this._isShallow){const u=w(i);if(!y(r)&&!w(r)&&(i=h(i),r=h(r)),!o&&m(i)&&!m(r))return u?(process.env.NODE_ENV!=="production"&&k(`Set operation on key "${String(n)}" failed: target is readonly.`,e[n]),!0):(i.value=r,!0)}const c=o?Number(n)<e.length:_t(e,n),a=Reflect.set(e,n,r,m(e)?e:s);return e===h(s)&&a&&(c?x(r,i)&&$(e,"set",n,r,i):$(e,"add",n,r)),a}deleteProperty(e,n){const r=_t(e,n),s=e[n],i=Reflect.deleteProperty(e,n);return i&&r&&$(e,"delete",n,void 0,s),i}has(e,n){const r=Reflect.has(e,n);return(!T(n)||!Ut.has(n))&&g(e,"has",n),r}ownKeys(e){return g(e,"iterate",d(e)?"length":M),Reflect.ownKeys(e)}}class je extends qt{constructor(e=!1){super(!0,e)}set(e,n){return process.env.NODE_ENV!=="production"&&k(`Set operation on key "${String(n)}" failed: target is readonly.`,e),!0}deleteProperty(e,n){return process.env.NODE_ENV!=="production"&&k(`Delete operation on key "${String(n)}" failed: target is readonly.`,e),!0}}const Ke=new ke,He=new je,vt=t=>t,rt=t=>Reflect.getPrototypeOf(t);function Le(t,e,n){return function(...r){const s=this.__v_raw,i=h(s),o=z(i),c=t==="entries"||t===Symbol.iterator&&o,a=t==="keys"&&o,u=s[t](...r),p=n?vt:e?B:C;return!e&&g(i,"iterate",a?Ot:M),D(Object.create(u),{next(){const{value:l,done:f}=u.next();return f?{value:l,done:f}:{value:c?[p(l[0]),p(l[1])]:p(l),done:f}}})}}function it(t){return function(...e){if(process.env.NODE_ENV!=="production"){const n=e[0]?`on key "${e[0]}" `:"";k(`${Ce(t)} operation ${n}failed: target is readonly.`,h(this))}return t==="delete"?!1:t==="clear"?void 0:this}}function We(t,e){const n={get(s){const i=this.__v_raw,o=h(i),c=h(s);t||(x(s,c)&&g(o,"get",s),g(o,"get",c));const{has:a}=rt(o),u=e?vt:t?B:C;if(a.call(o,s))return u(i.get(s));if(a.call(o,c))return u(i.get(c));i!==o&&i.get(s)},get size(){const s=this.__v_raw;return!t&&g(h(s),"iterate",M),s.size},has(s){const i=this.__v_raw,o=h(i),c=h(s);return t||(x(s,c)&&g(o,"has",s),g(o,"has",c)),s===c?i.has(s):i.has(s)||i.has(c)},forEach(s,i){const o=this,c=o.__v_raw,a=h(c),u=e?vt:t?B:C;return!t&&g(a,"iterate",M),c.forEach((p,l)=>s.call(i,u(p),u(l),o))}};return D(n,t?{add:it("add"),set:it("set"),delete:it("delete"),clear:it("clear")}:{add(s){const i=h(this),o=rt(i),c=h(s),a=!e&&!y(s)&&!w(s)?c:s;return o.has.call(i,a)||x(s,a)&&o.has.call(i,s)||x(c,a)&&o.has.call(i,c)||(i.add(a),$(i,"add",a,a)),this},set(s,i){!e&&!y(i)&&!w(i)&&(i=h(i));const o=h(this),{has:c,get:a}=rt(o);let u=c.call(o,s);u?process.env.NODE_ENV!=="production"&&Bt(o,c,s):(s=h(s),u=c.call(o,s));const p=a.call(o,s);return o.set(s,i),u?x(i,p)&&$(o,"set",s,i,p):$(o,"add",s,i),this},delete(s){const i=h(this),{has:o,get:c}=rt(i);let a=o.call(i,s);a?process.env.NODE_ENV!=="production"&&Bt(i,o,s):(s=h(s),a=o.call(i,s));const u=c?c.call(i,s):void 0,p=i.delete(s);return a&&$(i,"delete",s,void 0,u),p},clear(){const s=h(this),i=s.size!==0,o=process.env.NODE_ENV!=="production"?z(s)?new Map(s):new Set(s):void 0,c=s.clear();return i&&$(s,"clear",void 0,void 0,o),c}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Le(s,t,e)}),n}function Jt(t,e){const n=We(t,e);return(r,s,i)=>s==="__v_isReactive"?!t:s==="__v_isReadonly"?t:s==="__v_raw"?r:Reflect.get(_t(n,s)&&s in r?n:r,s,i)}const ze={get:Jt(!1,!1)},Ue={get:Jt(!0,!1)};function Bt(t,e,n){const r=h(n);if(r!==n&&e.call(t,r)){const s=jt(t);k(`Reactive ${s} contains both the raw and reactive versions of the same object${s==="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 Yt=new WeakMap,qe=new WeakMap,Gt=new WeakMap,Je=new WeakMap;function Be(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Qt(t){return w(t)?t:Xt(t,!1,Ke,ze,Yt)}function Rt(t){return Xt(t,!0,He,Ue,Gt)}function Xt(t,e,n,r,s){if(!b(t))return process.env.NODE_ENV!=="production"&&k(`value cannot be made ${e?"readonly":"reactive"}: ${String(t)}`),t;if(t.__v_raw&&!(e&&t.__v_isReactive)||t.__v_skip||!Object.isExtensible(t))return t;const i=s.get(t);if(i)return i;const o=Be(jt(t));if(o===0)return t;const c=new Proxy(t,o===2?r:n);return s.set(t,c),c}function Ct(t){return w(t)?Ct(t.__v_raw):!!(t&&t.__v_isReactive)}function w(t){return!!(t&&t.__v_isReadonly)}function y(t){return!!(t&&t.__v_isShallow)}function J(t){return t?!!t.__v_raw:!1}function h(t){const e=t&&t.__v_raw;return e?h(e):t}const C=t=>b(t)?Qt(t):t,B=t=>b(t)?Rt(t):t;function m(t){return t?t.__v_isRef===!0:!1}function Zt(t){return Ye(t,!1)}function Ye(t,e){return m(t)?t:new Ge(t,e)}class Ge{constructor(e,n){this.dep=new Wt,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?e:h(e),this._value=n?e:C(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,r=this.__v_isShallow||y(e)||w(e);e=r?e:h(e),x(e,n)&&(this._rawValue=e,this._value=r?e:C(e),process.env.NODE_ENV!=="production"?this.dep.trigger({target:this,type:"set",key:"value",newValue:e,oldValue:n}):this.dep.trigger())}}function Qe(t){return m(t)?t.value:t}class Xe{constructor(e,n,r){this._object=e,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0,this._key=T(n)?n:String(n),this._raw=h(e);let s=!0,i=e;if(!d(e)||T(this._key)||!X(this._key))do s=!J(i)||y(i);while(s&&(i=i.__v_raw));this._shallow=s}get value(){let e=this._object[this._key];return this._shallow&&(e=Qe(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&m(this._raw[this._key])){const n=this._object[this._key];if(m(n)){n.value=e;return}}this._object[this._key]=e}get dep(){return Te(this._raw,this._key)}}class Ze{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 tn(t,e,n){return m(t)?t:I(t)?new Ze(t):b(t)&&arguments.length>1?en(t,e,n):Zt(t)}function en(t,e,n){return new Xe(t,e,n)}const P=[];function nn(t){P.push(t)}function sn(){P.pop()}let At=!1;function K(t,...e){if(At)return;At=!0,et();const n=P.length?P[P.length-1].component:null,r=n&&n.appContext.config.warnHandler,s=rn();if(r)It(r,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,s.map(({vnode:i})=>`at <${_e(n,i.type)}>`).join(`
|
|
1
|
+
(function(_,F){typeof exports=="object"&&typeof module<"u"?F(exports,require("pinia")):typeof define=="function"&&define.amd?define(["exports","pinia"],F):(_=typeof globalThis<"u"?globalThis:_||self,F(_["pinia-plugin-subscription"]={},_.Pinia))})(this,(function(_,F){"use strict";class Se{_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,r){this._name=e,this._createInstance=n,r&&(this._console=r)}invoke({store:e,options:n},r){return this._storeInstance=this._createInstance(e,{...n,...this.pluginOptions},r,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 Tt{_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 ht="pinia-plugin-subscription",ye=(t,e="white")=>`background-color: ${t}; color: ${e}; padding: 1px; margin-right: 5px; font-size: 12px`;function Oe(t,e){if(!t)throw new Error("Style instructions are required");console.log("%c%s",t,e.shift(),...e)}class xt{_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} ${ht}] - ${e} `}generateStyle(e){return ye(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){Oe(this.generateStyle(e),this.rebuildArgs(n,e.icon))}}class we extends xt{_pluginName=ht}const Ee=new we;function Q(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 Mt="PluginSubscription";class Pt extends Tt{_className=Mt;_pluginDebug;_resetStoreCallback=[];_subscribers=[];_subscribersDelivered=new Set;_subscriptions=[];_subscriptionsDelivered=new Set;set subscribers(e){this._subscribers=e}get subscriptions(){if(!Q(this._subscriptions))return this._subscriptions}constructor(e,n){super(Array.isArray(n)&&!!n?.includes(Mt),Ee),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(r=>{this._subscribersDelivered.has(`${r.name}-${e.$id}`)||r.invoke({store:e,options:n},this.definePluginDebug(r))&&(this._subscribersDelivered.add(`${r.name}-${e.$id}`),r.subscriptions&&this.subscriptionDelivery({store:e,options:n},r.subscriptions),r.storeMutationSubscription&&this.storeMutationSubscription(r.storeMutationSubscription),r.storeOnActionSubscription&&this.storeOnActionSubscription(r.storeOnActionSubscription),r.resetStoreCallback&&this.addResetStoreCallback(r.resetStoreCallback))}),this.rewriteResetStore({store:e},JSON.stringify(e.$state),Object.assign({},e))}catch(r){this.logError(r,e,n)}}}rewriteResetStore({store:e},n,r){e.$reset=()=>{this.debugLog("rewriteResetStore()",{initState:n,store:e,customStore:r}),this.executeResetStoreCallbacks(e),e.$patch(JSON.parse(n))}}storeOnActionSubscription(e){const{store:n,callback:r}=e();n.$onAction(({after:s,args:i,name:o})=>{this.debugLog(`storeOnActionSubscription ${n.$id}`,{after:s,args:i,name:o,store:n}),r({after:s,args:i,name:o})})}storeMutationSubscription(e){const{store:n,callback:r}=e();n.$subscribe(s=>{this.debugLog(`$subscribe ${n.$id}`,{mutation:s,store:n}),r(s)})}subscriptionDelivery({store:e,options:n},r){Object.entries(r).forEach(([s,i])=>{try{if(this._subscriptionsDelivered.has(`${s}-${e.$id}`))return;const{subscription:o,subscriptionOptions:c,stores:a}=i;this.debugLog(`subscriptionDelivery() - store: ${e.$id}`,["pluginName:",s,"subscription:",o,"options:",i,"stores:",a]);const u={storeOptions:{...n?.storeOptions??{},...c}};o.invoke({store:e,options:{...n,...u}},this.debug),this._subscriptionsDelivered.add(`${s}-${e.$id}`),Q(a)||a?.forEach(h=>o.invoke({store:h,options:{...n,...u,...h?.storeOptions??{}}},this.debug))}catch(o){this.logError("subscriptionDelivery()",o,e,n)}})}}function Ne(t){const e=Object.create(null);for(const n of t.split(","))e[n]=1;return n=>n in e}const dt=process.env.NODE_ENV!=="production"?Object.freeze({}):{};process.env.NODE_ENV!=="production"&&Object.freeze([]);const Ft=()=>{},ve=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),Re=t=>t.startsWith("onUpdate:"),V=Object.assign,Ce=Object.prototype.hasOwnProperty,_t=(t,e)=>Ce.call(t,e),d=Array.isArray,z=t=>kt(t)==="[object Map]",I=t=>typeof t=="function",v=t=>typeof t=="string",T=t=>typeof t=="symbol",b=t=>t!==null&&typeof t=="object",Ae=Object.prototype.toString,kt=t=>Ae.call(t),jt=t=>kt(t).slice(8,-1),X=t=>v(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Ie=(t=>{const e=Object.create(null);return(n=>e[n]||(e[n]=t(n)))})(t=>t.charAt(0).toUpperCase()+t.slice(1)),x=(t,e)=>!Object.is(t,e);let Kt;const Z=()=>Kt||(Kt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function gt(t){if(d(t)){const e={};for(let n=0;n<t.length;n++){const r=t[n],s=v(r)?Te(r):gt(r);if(s)for(const i in s)e[i]=s[i]}return e}else if(v(t)||b(t))return t}const $e=/;(?![^(]*\))/g,De=/:([^]+)/,Ve=/\/\*[^]*?\*\//g;function Te(t){const e={};return t.replace(Ve,"").split($e).forEach(n=>{if(n){const r=n.split(De);r.length>1&&(e[r[0].trim()]=r[1].trim())}}),e}function bt(t){let e="";if(v(t))e=t;else if(d(t))for(let n=0;n<t.length;n++){const r=bt(t[n]);r&&(e+=r+" ")}else if(b(t))for(const n in t)t[n]&&(e+=n+" ");return e.trim()}function k(t,...e){console.warn(`[Vue warn] ${t}`,...e)}let xe,Ht=0,mt;function St(){Ht++}function yt(){if(--Ht>0)return;let t;for(;mt;){let e=mt;for(mt=void 0;e;){const n=e.next;if(e.next=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(r){t||(t=r)}e=n}}if(t)throw t}let tt=!0;const Lt=[];function et(){Lt.push(tt),tt=!1}function nt(){const t=Lt.pop();tt=t===void 0?!0:t}class Wt{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){St();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(V({effect:n.sub},e));for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{yt()}}}const st=new WeakMap,M=Symbol(process.env.NODE_ENV!=="production"?"Object iterate":""),Ot=Symbol(process.env.NODE_ENV!=="production"?"Map keys iterate":""),U=Symbol(process.env.NODE_ENV!=="production"?"Array iterate":"");function g(t,e,n){if(tt&&xe){let r=st.get(t);r||st.set(t,r=new Map);let s=r.get(n);s||(r.set(n,s=new Wt),s.map=r,s.key=n),process.env.NODE_ENV!=="production"?s.track({target:t,type:e,key:n}):s.track()}}function $(t,e,n,r,s,i){const o=st.get(t);if(!o)return;const c=a=>{a&&(process.env.NODE_ENV!=="production"?a.trigger({target:t,type:e,key:n,newValue:r,oldValue:s,oldTarget:i}):a.trigger())};if(St(),e==="clear")o.forEach(c);else{const a=d(t),u=a&&X(n);if(a&&n==="length"){const h=Number(r);o.forEach((l,f)=>{(f==="length"||f===U||!T(f)&&f>=h)&&c(l)})}else switch((n!==void 0||o.has(void 0))&&c(o.get(n)),u&&c(o.get(U)),e){case"add":a?u&&c(o.get("length")):(c(o.get(M)),z(t)&&c(o.get(Ot)));break;case"delete":a||(c(o.get(M)),z(t)&&c(o.get(Ot)));break;case"set":z(t)&&c(o.get(M));break}}yt()}function Me(t,e){const n=st.get(t);return n&&n.get(e)}function j(t){const e=p(t);return e===t?e:(g(e,"iterate",U),S(t)?e:e.map(C))}function wt(t){return g(t=p(t),"iterate",U),t}function w(t,e){return E(t)?J(Ct(t)?C(e):e):C(e)}const Pe={__proto__:null,[Symbol.iterator](){return Et(this,Symbol.iterator,t=>w(this,t))},concat(...t){return j(this).concat(...t.map(e=>d(e)?j(e):e))},entries(){return Et(this,"entries",t=>(t[1]=w(this,t[1]),t))},every(t,e){return R(this,"every",t,e,void 0,arguments)},filter(t,e){return R(this,"filter",t,e,n=>n.map(r=>w(this,r)),arguments)},find(t,e){return R(this,"find",t,e,n=>w(this,n),arguments)},findIndex(t,e){return R(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return R(this,"findLast",t,e,n=>w(this,n),arguments)},findLastIndex(t,e){return R(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return R(this,"forEach",t,e,void 0,arguments)},includes(...t){return Nt(this,"includes",t)},indexOf(...t){return Nt(this,"indexOf",t)},join(t){return j(this).join(t)},lastIndexOf(...t){return Nt(this,"lastIndexOf",t)},map(t,e){return R(this,"map",t,e,void 0,arguments)},pop(){return q(this,"pop")},push(...t){return q(this,"push",t)},reduce(t,...e){return zt(this,"reduce",t,e)},reduceRight(t,...e){return zt(this,"reduceRight",t,e)},shift(){return q(this,"shift")},some(t,e){return R(this,"some",t,e,void 0,arguments)},splice(...t){return q(this,"splice",t)},toReversed(){return j(this).toReversed()},toSorted(t){return j(this).toSorted(t)},toSpliced(...t){return j(this).toSpliced(...t)},unshift(...t){return q(this,"unshift",t)},values(){return Et(this,"values",t=>w(this,t))}};function Et(t,e,n){const r=wt(t),s=r[e]();return r!==t&&!S(t)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.done||(i.value=n(i.value)),i}),s}const Fe=Array.prototype;function R(t,e,n,r,s,i){const o=wt(t),c=o!==t&&!S(t),a=o[e];if(a!==Fe[e]){const l=a.apply(t,i);return c?C(l):l}let u=n;o!==t&&(c?u=function(l,f){return n.call(this,w(t,l),f,t)}:n.length>2&&(u=function(l,f){return n.call(this,l,f,t)}));const h=a.call(o,u,r);return c&&s?s(h):h}function zt(t,e,n,r){const s=wt(t),i=s!==t&&!S(t);let o=n,c=!1;s!==t&&(i?(c=r.length===0,o=function(u,h,l){return c&&(c=!1,u=w(t,u)),n.call(this,u,w(t,h),l,t)}):n.length>3&&(o=function(u,h,l){return n.call(this,u,h,l,t)}));const a=s[e](o,...r);return c?w(t,a):a}function Nt(t,e,n){const r=p(t);g(r,"iterate",U);const s=r[e](...n);return(s===-1||s===!1)&&B(n[0])?(n[0]=p(n[0]),r[e](...n)):s}function q(t,e,n=[]){et(),St();const r=p(t)[e].apply(t,n);return yt(),nt(),r}const ke=Ne("__proto__,__v_isRef,__isVue"),Ut=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(T));function je(t){T(t)||(t=String(t));const e=p(this);return g(e,"has",t),e.hasOwnProperty(t)}class qt{constructor(e=!1,n=!1){this._isReadonly=e,this._isShallow=n}get(e,n,r){if(n==="__v_skip")return e.__v_skip;const s=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return i;if(n==="__v_raw")return r===(s?i?Ye:Gt:i?Je:Yt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(r)?e:void 0;const o=d(e);if(!s){let a;if(o&&(a=Pe[n]))return a;if(n==="hasOwnProperty")return je}const c=Reflect.get(e,n,m(e)?e:r);if((T(n)?Ut.has(n):ke(n))||(s||g(e,"get",n),i))return c;if(m(c)){const a=o&&X(n)?c:c.value;return s&&b(a)?Rt(a):a}return b(c)?s?Rt(c):Qt(c):c}}class Ke extends qt{constructor(e=!1){super(!1,e)}set(e,n,r,s){let i=e[n];const o=d(e)&&X(n);if(!this._isShallow){const u=E(i);if(!S(r)&&!E(r)&&(i=p(i),r=p(r)),!o&&m(i)&&!m(r))return u?(process.env.NODE_ENV!=="production"&&k(`Set operation on key "${String(n)}" failed: target is readonly.`,e[n]),!0):(i.value=r,!0)}const c=o?Number(n)<e.length:_t(e,n),a=Reflect.set(e,n,r,m(e)?e:s);return e===p(s)&&a&&(c?x(r,i)&&$(e,"set",n,r,i):$(e,"add",n,r)),a}deleteProperty(e,n){const r=_t(e,n),s=e[n],i=Reflect.deleteProperty(e,n);return i&&r&&$(e,"delete",n,void 0,s),i}has(e,n){const r=Reflect.has(e,n);return(!T(n)||!Ut.has(n))&&g(e,"has",n),r}ownKeys(e){return g(e,"iterate",d(e)?"length":M),Reflect.ownKeys(e)}}class He extends qt{constructor(e=!1){super(!0,e)}set(e,n){return process.env.NODE_ENV!=="production"&&k(`Set operation on key "${String(n)}" failed: target is readonly.`,e),!0}deleteProperty(e,n){return process.env.NODE_ENV!=="production"&&k(`Delete operation on key "${String(n)}" failed: target is readonly.`,e),!0}}const Le=new Ke,We=new He,vt=t=>t,rt=t=>Reflect.getPrototypeOf(t);function ze(t,e,n){return function(...r){const s=this.__v_raw,i=p(s),o=z(i),c=t==="entries"||t===Symbol.iterator&&o,a=t==="keys"&&o,u=s[t](...r),h=n?vt:e?J:C;return!e&&g(i,"iterate",a?Ot:M),V(Object.create(u),{next(){const{value:l,done:f}=u.next();return f?{value:l,done:f}:{value:c?[h(l[0]),h(l[1])]:h(l),done:f}}})}}function it(t){return function(...e){if(process.env.NODE_ENV!=="production"){const n=e[0]?`on key "${e[0]}" `:"";k(`${Ie(t)} operation ${n}failed: target is readonly.`,p(this))}return t==="delete"?!1:t==="clear"?void 0:this}}function Ue(t,e){const n={get(s){const i=this.__v_raw,o=p(i),c=p(s);t||(x(s,c)&&g(o,"get",s),g(o,"get",c));const{has:a}=rt(o),u=e?vt:t?J:C;if(a.call(o,s))return u(i.get(s));if(a.call(o,c))return u(i.get(c));i!==o&&i.get(s)},get size(){const s=this.__v_raw;return!t&&g(p(s),"iterate",M),s.size},has(s){const i=this.__v_raw,o=p(i),c=p(s);return t||(x(s,c)&&g(o,"has",s),g(o,"has",c)),s===c?i.has(s):i.has(s)||i.has(c)},forEach(s,i){const o=this,c=o.__v_raw,a=p(c),u=e?vt:t?J:C;return!t&&g(a,"iterate",M),c.forEach((h,l)=>s.call(i,u(h),u(l),o))}};return V(n,t?{add:it("add"),set:it("set"),delete:it("delete"),clear:it("clear")}:{add(s){const i=p(this),o=rt(i),c=p(s),a=!e&&!S(s)&&!E(s)?c:s;return o.has.call(i,a)||x(s,a)&&o.has.call(i,s)||x(c,a)&&o.has.call(i,c)||(i.add(a),$(i,"add",a,a)),this},set(s,i){!e&&!S(i)&&!E(i)&&(i=p(i));const o=p(this),{has:c,get:a}=rt(o);let u=c.call(o,s);u?process.env.NODE_ENV!=="production"&&Jt(o,c,s):(s=p(s),u=c.call(o,s));const h=a.call(o,s);return o.set(s,i),u?x(i,h)&&$(o,"set",s,i,h):$(o,"add",s,i),this},delete(s){const i=p(this),{has:o,get:c}=rt(i);let a=o.call(i,s);a?process.env.NODE_ENV!=="production"&&Jt(i,o,s):(s=p(s),a=o.call(i,s));const u=c?c.call(i,s):void 0,h=i.delete(s);return a&&$(i,"delete",s,void 0,u),h},clear(){const s=p(this),i=s.size!==0,o=process.env.NODE_ENV!=="production"?z(s)?new Map(s):new Set(s):void 0,c=s.clear();return i&&$(s,"clear",void 0,void 0,o),c}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=ze(s,t,e)}),n}function Bt(t,e){const n=Ue(t,e);return(r,s,i)=>s==="__v_isReactive"?!t:s==="__v_isReadonly"?t:s==="__v_raw"?r:Reflect.get(_t(n,s)&&s in r?n:r,s,i)}const qe={get:Bt(!1,!1)},Be={get:Bt(!0,!1)};function Jt(t,e,n){const r=p(n);if(r!==n&&e.call(t,r)){const s=jt(t);k(`Reactive ${s} contains both the raw and reactive versions of the same object${s==="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 Yt=new WeakMap,Je=new WeakMap,Gt=new WeakMap,Ye=new WeakMap;function Ge(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Qt(t){return E(t)?t:Xt(t,!1,Le,qe,Yt)}function Rt(t){return Xt(t,!0,We,Be,Gt)}function Xt(t,e,n,r,s){if(!b(t))return process.env.NODE_ENV!=="production"&&k(`value cannot be made ${e?"readonly":"reactive"}: ${String(t)}`),t;if(t.__v_raw&&!(e&&t.__v_isReactive)||t.__v_skip||!Object.isExtensible(t))return t;const i=s.get(t);if(i)return i;const o=Ge(jt(t));if(o===0)return t;const c=new Proxy(t,o===2?r:n);return s.set(t,c),c}function Ct(t){return E(t)?Ct(t.__v_raw):!!(t&&t.__v_isReactive)}function E(t){return!!(t&&t.__v_isReadonly)}function S(t){return!!(t&&t.__v_isShallow)}function B(t){return t?!!t.__v_raw:!1}function p(t){const e=t&&t.__v_raw;return e?p(e):t}const C=t=>b(t)?Qt(t):t,J=t=>b(t)?Rt(t):t;function m(t){return t?t.__v_isRef===!0:!1}function Zt(t){return Qe(t,!1)}function Qe(t,e){return m(t)?t:new Xe(t,e)}class Xe{constructor(e,n){this.dep=new Wt,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?e:p(e),this._value=n?e:C(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,r=this.__v_isShallow||S(e)||E(e);e=r?e:p(e),x(e,n)&&(this._rawValue=e,this._value=r?e:C(e),process.env.NODE_ENV!=="production"?this.dep.trigger({target:this,type:"set",key:"value",newValue:e,oldValue:n}):this.dep.trigger())}}function Ze(t){return m(t)?t.value:t}class tn{constructor(e,n,r){this._object=e,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0,this._key=T(n)?n:String(n),this._raw=p(e);let s=!0,i=e;if(!d(e)||T(this._key)||!X(this._key))do s=!B(i)||S(i);while(s&&(i=i.__v_raw));this._shallow=s}get value(){let e=this._object[this._key];return this._shallow&&(e=Ze(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&m(this._raw[this._key])){const n=this._object[this._key];if(m(n)){n.value=e;return}}this._object[this._key]=e}get dep(){return Me(this._raw,this._key)}}class en{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 nn(t,e,n){return m(t)?t:I(t)?new en(t):b(t)&&arguments.length>1?sn(t,e,n):Zt(t)}function sn(t,e,n){return new tn(t,e,n)}const P=[];function rn(t){P.push(t)}function on(){P.pop()}let At=!1;function K(t,...e){if(At)return;At=!0,et();const n=P.length?P[P.length-1].component:null,r=n&&n.appContext.config.warnHandler,s=cn();if(r)It(r,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,s.map(({vnode:i})=>`at <${_e(n,i.type)}>`).join(`
|
|
2
2
|
`),s]);else{const i=[`[Vue warn]: ${t}`,...e];s.length&&i.push(`
|
|
3
|
-
`,...
|
|
4
|
-
`],...
|
|
5
|
-
Component that was made reactive: `,t)),
|
|
3
|
+
`,...ln(s)),console.warn(...i)}nt(),At=!1}function cn(){let t=P[P.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 r=t.component&&t.component.parent;t=r&&r.vnode}return e}function ln(t){const e=[];return t.forEach((n,r)=>{e.push(...r===0?[]:[`
|
|
4
|
+
`],...an(n))}),e}function an({vnode:t,recurseCount:e}){const n=e>0?`... (${e} recursive calls)`:"",r=t.component?t.component.parent==null:!1,s=` at <${_e(t.component,t.type,r)}`,i=">"+n;return t.props?[s,...un(t.props),i]:[s+i]}function un(t){const e=[],n=Object.keys(t);return n.slice(0,3).forEach(r=>{e.push(...te(r,t[r]))}),n.length>3&&e.push(" ..."),e}function te(t,e,n){return v(e)?(e=JSON.stringify(e),n?e:[`${t}=${e}`]):typeof e=="number"||typeof e=="boolean"||e==null?n?e:[`${t}=${e}`]:m(e)?(e=te(t,p(e.value),!0),n?e:[`${t}=Ref<`,e,">"]):I(e)?[`${t}=fn${e.name?`<${e.name}>`:""}`]:(e=p(e),n?e:[`${t}=`,e])}const ee={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 It(t,e,n,r){try{return r?t(...r):t()}catch(s){ne(s,e,n)}}function ne(t,e,n,r=!0){const s=e?e.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:o}=e&&e.appContext.config||dt;if(e){let c=e.parent;const a=e.proxy,u=process.env.NODE_ENV!=="production"?ee[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,u)===!1)return}c=c.parent}if(i){et(),It(i,null,10,[t,a,u]),nt();return}}fn(t,n,s,r,o)}function fn(t,e,n,r=!0,s=!1){if(process.env.NODE_ENV!=="production"){const i=ee[e];if(n&&rn(n),K(`Unhandled error${i?` during execution of ${i}`:""}`),n&&on(),r)throw t;console.error(t)}else{if(s)throw t;console.error(t)}}const y=[];let A=-1;const H=[];let D=null,L=0;const pn=Promise.resolve();let $t=null;const hn=100;function dn(t){let e=A+1,n=y.length;for(;e<n;){const r=e+n>>>1,s=y[r],i=Y(s);i<t||i===t&&s.flags&2?e=r+1:n=r}return e}function _n(t){if(!(t.flags&1)){const e=Y(t),n=y[y.length-1];!n||!(t.flags&2)&&e>=Y(n)?y.push(t):y.splice(dn(e),0,t),t.flags|=1,se()}}function se(){$t||($t=pn.then(re))}function gn(t){d(t)?H.push(...t):D&&t.id===-1?D.splice(L+1,0,t):t.flags&1||(H.push(t),t.flags|=1),se()}function bn(t){if(H.length){const e=[...new Set(H)].sort((n,r)=>Y(n)-Y(r));if(H.length=0,D){D.push(...e);return}for(D=e,process.env.NODE_ENV!=="production"&&(t=t||new Map),L=0;L<D.length;L++){const n=D[L];process.env.NODE_ENV!=="production"&&ie(t,n)||(n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2)}D=null,L=0}}const Y=t=>t.id==null?t.flags&2?-1:1/0:t.id;function re(t){process.env.NODE_ENV!=="production"&&(t=t||new Map);const e=process.env.NODE_ENV!=="production"?n=>ie(t,n):Ft;try{for(A=0;A<y.length;A++){const n=y[A];if(n&&!(n.flags&8)){if(process.env.NODE_ENV!=="production"&&e(n))continue;n.flags&4&&(n.flags&=-2),It(n,n.i,n.i?15:14),n.flags&4||(n.flags&=-2)}}}finally{for(;A<y.length;A++){const n=y[A];n&&(n.flags&=-2)}A=-1,y.length=0,bn(t),$t=null,(y.length||H.length)&&re(t)}}function ie(t,e){const n=t.get(e)||0;if(n>hn){const r=e.i,s=r&&de(r.type);return ne(`Maximum recursive updates exceeded${s?` in component <${s}>`:""}. 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 Dt=new Map;process.env.NODE_ENV!=="production"&&(Z().__VUE_HMR_RUNTIME__={createRecord:Vt(mn),rerender:Vt(Sn),reload:Vt(yn)});const ot=new Map;function mn(t,e){return ot.has(t)?!1:(ot.set(t,{initialDef:ct(e),instances:new Set}),!0)}function ct(t){return ge(t)?t.__vccOpts:t}function Sn(t,e){const n=ot.get(t);n&&(n.initialDef.render=e,[...n.instances].forEach(r=>{e&&(r.render=e,ct(r.type).render=e),r.renderCache=[],r.job.flags&8||r.update()}))}function yn(t,e){const n=ot.get(t);if(!n)return;e=ct(e),oe(n.initialDef,e);const r=[...n.instances];for(let s=0;s<r.length;s++){const i=r[s],o=ct(i.type);let c=Dt.get(o);c||(o!==n.initialDef&&oe(o,e),Dt.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?_n(()=>{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)}gn(()=>{Dt.clear()})}function oe(t,e){V(t,e);for(const n in t)n!=="__file"&&!(n in e)&&delete t[n]}function Vt(t){return(e,n)=>{try{return t(e,n)}catch(r){console.error(r),console.warn("[HMR] Something went wrong during Vue component hot-reload. Full reload required.")}}}let W,lt=[];function ce(t,e){var n,r;W=t,W?(W.enabled=!0,lt.forEach(({event:s,args:i})=>W.emit(s,...i)),lt=[]):typeof window<"u"&&window.HTMLElement&&!((r=(n=window.navigator)==null?void 0:n.userAgent)!=null&&r.includes("jsdom"))?((e.__VUE_DEVTOOLS_HOOK_REPLAY__=e.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(i=>{ce(i,e)}),setTimeout(()=>{W||(e.__VUE_DEVTOOLS_HOOK_REPLAY__=null,lt=[])},3e3)):lt=[]}let at=null,On=null;const wn=t=>t.__isTeleport;function le(t,e){t.shapeFlag&6&&t.component?(t.transition=e,le(t.component.subTree,e)):t.shapeFlag&128?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}Z().requestIdleCallback,Z().cancelIdleCallback;const En=Symbol.for("v-ndc"),Nn={};process.env.NODE_ENV!=="production"&&(Nn.ownKeys=t=>(K("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 vn={},ae=t=>Object.getPrototypeOf(t)===vn,Rn=t=>t.__isSuspense,ue=Symbol.for("v-fgt"),Cn=Symbol.for("v-txt"),An=Symbol.for("v-cmt");function In(t){return t?t.__v_isVNode===!0:!1}const $n=(...t)=>pe(...t),fe=({key:t})=>t??null,ut=({ref:t,ref_key:e,ref_for:n})=>(typeof t=="number"&&(t=""+t),t!=null?v(t)||m(t)||I(t)?{i:at,r:t,k:e,f:!!n}:t:null);function Dn(t,e=null,n=null,r=0,s=null,i=t===ue?0:1,o=!1,c=!1){const a={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&fe(e),ref:e&&ut(e),scopeId:On,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:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:at};return c?(pt(a,n),i&128&&t.normalize(a)):n&&(a.shapeFlag|=v(n)?8:16),process.env.NODE_ENV!=="production"&&a.key!==a.key&&K("VNode created with invalid key (NaN). VNode type:",a.type),a}const Vn=process.env.NODE_ENV!=="production"?$n:pe;function pe(t,e=null,n=null,r=0,s=null,i=!1){if((!t||t===En)&&(process.env.NODE_ENV!=="production"&&!t&&K(`Invalid vnode type when creating vnode: ${t}.`),t=An),In(t)){const c=ft(t,e,!0);return n&&pt(c,n),c.patchFlag=-2,c}if(ge(t)&&(t=t.__vccOpts),e){e=Tn(e);let{class:c,style:a}=e;c&&!v(c)&&(e.class=bt(c)),b(a)&&(B(a)&&!d(a)&&(a=V({},a)),e.style=gt(a))}const o=v(t)?1:Rn(t)?128:wn(t)?64:b(t)?4:I(t)?2:0;return process.env.NODE_ENV!=="production"&&o&4&&B(t)&&(t=p(t),K("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)),Dn(t,e,n,r,s,o,i,!0)}function Tn(t){return t?B(t)||ae(t)?V({},t):t:null}function ft(t,e,n=!1,r=!1){const{props:s,ref:i,patchFlag:o,children:c,transition:a}=t,u=e?Mn(s||{},e):s,h={__v_isVNode:!0,__v_skip:!0,type:t.type,props:u,key:u&&fe(u),ref:e&&e.ref?n&&i?d(i)?i.concat(ut(e)):[i,ut(e)]:ut(e):i,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:process.env.NODE_ENV!=="production"&&o===-1&&d(c)?c.map(he):c,target:t.target,targetStart:t.targetStart,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==ue?o===-1?16:o|16:o,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:a,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&ft(t.ssContent),ssFallback:t.ssFallback&&ft(t.ssFallback),placeholder:t.placeholder,el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return a&&r&&le(h,a.clone(h)),h}function he(t){const e=ft(t);return d(t.children)&&(e.children=t.children.map(he)),e}function xn(t=" ",e=0){return Vn(Cn,null,t,e)}function pt(t,e){let n=0;const{shapeFlag:r}=t;if(e==null)e=null;else if(d(e))n=16;else if(typeof e=="object")if(r&65){const s=e.default;s&&(s._c&&(s._d=!1),pt(t,s()),s._c&&(s._d=!0));return}else n=32,!e._&&!ae(e)&&(e._ctx=at);else if(I(e)){if(r&65){pt(t,{default:e});return}e={default:e,_ctx:at},n=32}else e=String(e),r&64?(n=16,e=[xn(e)]):n=8;t.children=e,t.shapeFlag|=n}function Mn(...t){const e={};for(let n=0;n<t.length;n++){const r=t[n];for(const s in r)if(s==="class")e.class!==r.class&&(e.class=bt([e.class,r.class]));else if(s==="style")e.style=gt([e.style,r.style]);else if(ve(s)){const i=e[s],o=r[s];o&&i!==o&&!(d(i)&&i.includes(o))?e[s]=i?[].concat(i,o):o:o==null&&i==null&&!Re(s)&&(e[s]=o)}else s!==""&&(e[s]=r[s])}return e}{const t=Z(),e=(n,r)=>{let s;return(s=t[n])||(s=t[n]=[]),s.push(r),i=>{s.length>1?s.forEach(o=>o(i)):s[0](i)}};e("__VUE_INSTANCE_SETTERS__",n=>n),e("__VUE_SSR_SETTERS__",n=>n)}process.env.NODE_ENV;const Pn=/(?:^|[-_])\w/g,Fn=t=>t.replace(Pn,e=>e.toUpperCase()).replace(/[-_]/g,"");function de(t,e=!0){return I(t)?t.displayName||t.name:t.name||e&&t.__name}function _e(t,e,n=!1){let r=de(e);if(!r&&e.__file){const s=e.__file.match(/([^/\\]+)\.\w+$/);s&&(r=s[1])}if(!r&&t){const s=i=>{for(const o in i)if(i[o]===e)return o};r=s(t.components)||t.parent&&s(t.parent.type.components)||s(t.appContext.components)}return r?Fn(r):n?"App":"Anonymous"}function ge(t){return I(t)&&"__vccOpts"in t}function kn(){if(process.env.NODE_ENV==="production"||typeof window>"u")return;const t={style:"color:#3ba776"},e={style:"color:#1677ff"},n={style:"color:#f5222d"},r={style:"color:#eb2f96"},s={__vue_custom_formatter:!0,header(l){if(!b(l))return null;if(l.__isVue)return["div",t,"VueInstance"];if(m(l)){et();const f=l.value;return nt(),["div",{},["span",t,h(l)],"<",c(f),">"]}else{if(Ct(l))return["div",{},["span",t,S(l)?"ShallowReactive":"Reactive"],"<",c(l),`>${E(l)?" (readonly)":""}`];if(E(l))return["div",{},["span",t,S(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 f=[];l.type.props&&l.props&&f.push(o("props",p(l.props))),l.setupState!==dt&&f.push(o("setup",l.setupState)),l.data!==dt&&f.push(o("data",p(l.data)));const O=a(l,"computed");O&&f.push(o("computed",O));const N=a(l,"inject");return N&&f.push(o("injected",N)),f.push(["div",{},["span",{style:r.style+";opacity:0.66"},"$ (internal): "],["object",{object:l}]]),f}function o(l,f){return f=V({},f),Object.keys(f).length?["div",{style:"line-height:1.25em;margin-bottom:0.6em"},["div",{style:"color:#476582"},l],["div",{style:"padding-left:1.25em"},...Object.keys(f).map(O=>["div",{},["span",r,O+": "],c(f[O],!1)])]]:["span",{}]}function c(l,f=!0){return typeof l=="number"?["span",e,l]:typeof l=="string"?["span",n,JSON.stringify(l)]:typeof l=="boolean"?["span",r,l]:b(l)?["object",{object:f?p(l):l}]:["span",n,String(l)]}function a(l,f){const O=l.type;if(I(O))return;const N={};for(const G in l.ctx)u(O,G,f)&&(N[G]=l.ctx[G]);return N}function u(l,f,O){const N=l[O];if(d(N)&&N.includes(f)||b(N)&&f in N||l.extends&&u(l.extends,f,O)||l.mixins&&l.mixins.some(G=>u(G,f,O)))return!0}function h(l){return S(l)?"ShallowRef":l.effect?"ComputedRef":"Ref"}window.devtoolsFormatters?window.devtoolsFormatters.push(s):window.devtoolsFormatters=[s]}process.env.NODE_ENV,process.env.NODE_ENV,process.env.NODE_ENV;function jn(){kn()}process.env.NODE_ENV!=="production"&&jn();const be=new WeakMap,me=new Map;function Kn(t,e,n){const r=n?{storeOptions:n}:{};return typeof e=="function"?Ln(t,e,r):Wn(t,e,r)}function Hn(t){return be.get(t)??(typeof t?.$id=="string"?me.get(t.$id):void 0)}function Ln(t,e,n){const r={id:t,extensions:{}};me.set(t,r);const s=F.defineStore(t,()=>e(r),n);return Object.assign(((...i)=>{const o=s(...i);return be.set(o,r),o}),s)}function Wn(t,e,n){return n&&(e={...e,...n??{}}),F.defineStore(t,e)}const zn=new Set(["_","$"]);function Un(t){return zn.has(t[0])}class qn extends Tt{_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,r=!1,s){super(r,s),this._options=n.storeOptions,this._store=e}addToState(e,n){this.isOptionApi()||n?.value||(n=Zt(n)),this.state[e]=n,this.store[e]=nn(this.state,e)}addSubscription(e,n,r){this._subscriptions[e]={subscription:n,...r??{}}}static customizeStore(e,n,r=!1,s){if(n.storeOptions&&this.hasRequiredKeys(n.storeOptions))return new this(e,n,r,s)}hasDeniedFirstChar(e){return Un(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(!Q(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 Bn(t,e){const n=new Pt(t,e);return n.plugin.bind(n)}_.CustomConsole=xt,_.PLUGIN_NAME=ht,_.PluginSubscriber=Se,_.PluginSubscription=Pt,_.Store=qn,_.createPlugin=Bn,_.defineAStore=Kn,_.getDefineAStoreSetupContext=Hn,_.isEmpty=Q,Object.defineProperty(_,Symbol.toStringTag,{value:"Module"})}));
|
package/dist/types/index.d.ts
CHANGED
|
@@ -24,6 +24,10 @@ export type CustomStore<TStore, TState> = PiniaStore & TStore & TState & PiniaCu
|
|
|
24
24
|
export interface PluginStoreOptions {
|
|
25
25
|
storeOptions: StoreOptions;
|
|
26
26
|
}
|
|
27
|
+
export interface DefineAStoreSetupContext {
|
|
28
|
+
id: string;
|
|
29
|
+
extensions: Record<string, unknown>;
|
|
30
|
+
}
|
|
27
31
|
export type StatePropertyValue = StdStatePropertyValue | Ref<StdStatePropertyValue> | StdStatePropertyValue[] | Ref<StdStatePropertyValue[]> | Ref<StdStatePropertyValue>[];
|
|
28
32
|
export type StoreOptions = Record<string, StoreOptionsPropertyValue>;
|
|
29
33
|
export type StoreOptionsPropertyValue = OptionBaseProperty | OptionBaseProperty[] | ObjectBaseProperty | ObjectBaseProperty[];
|
|
@@ -58,7 +62,9 @@ export type StoreMutationSubscriptionCallback = (mutation: SubscriptionCallbackM
|
|
|
58
62
|
export type StoreMutationSubscription = NativePiniaSubscription<StoreMutationSubscriptionCallback>;
|
|
59
63
|
export declare const PLUGIN_NAME: string;
|
|
60
64
|
export declare function createPlugin(subscribers: PluginSubscriberInterface[], debug?: string[]): PiniaPlugin;
|
|
61
|
-
export declare function defineAStore<Sto, Sta>(id: string, storeDefinition: Omit<DefineStoreOptions<string, StateTree & Sta, AnyObject, Partial<Sto>>, 'id'
|
|
65
|
+
export declare function defineAStore<Sto, Sta>(id: string, storeDefinition: Omit<DefineStoreOptions<string, StateTree & Sta, AnyObject, Partial<Sto>>, 'id'>, options?: StoreOptions): StoreDefinition & Sta & Sto;
|
|
66
|
+
export declare function defineAStore<Sto, Sta>(id: string, storeDefinition: (ctx?: DefineAStoreSetupContext) => AnyObject, options?: StoreOptions): StoreDefinition & Sta & Sto;
|
|
67
|
+
export declare function getDefineAStoreSetupContext(store: AnyObject): DefineAStoreSetupContext | undefined;
|
|
62
68
|
export declare function isEmpty(value: any): boolean;
|
|
63
69
|
export declare abstract class Debug {
|
|
64
70
|
protected abstract _className: string;
|
|
@@ -117,6 +123,7 @@ export declare class Store extends Debug {
|
|
|
117
123
|
getSubscriptions(): PluginSubscriptions | undefined;
|
|
118
124
|
getValue(value: any): any;
|
|
119
125
|
hasDeniedFirstChar(property: string): boolean;
|
|
126
|
+
protected static hasRequiredKeys(options: AnyObject): boolean;
|
|
120
127
|
isOptionApi(): boolean;
|
|
121
128
|
stateHas(property: string): boolean;
|
|
122
129
|
storeHas(property: string): boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pinia-plugin-subscription",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3-beta.1",
|
|
4
4
|
"description": "Pinia plugin for Vue.js that helps building Pinia plugins by centralizing subscriber registration and providing a Store base class for store helpers.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|