pinia-plugin-subscription 0.0.3 → 0.1.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.
- package/CHANGELOG.md +38 -0
- package/CONTRIBUTING.md +142 -0
- package/LICENSE +21 -0
- package/README.md +5 -1
- package/SECURITY.md +75 -0
- package/dist/pinia-plugin-subscription.js +548 -511
- package/dist/pinia-plugin-subscription.umd.cjs +4 -4
- package/dist/types/index.d.ts +0 -128
- package/package.json +38 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
(function(_,x){typeof exports=="object"&&typeof module<"u"?x(exports,require("pinia")):typeof define=="function"&&define.amd?define(["exports","pinia"],x):(_=typeof globalThis<"u"?globalThis:_||self,x(_["pinia-plugin-subscription"]={},_.Pinia))})(this,(function(_,x){"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,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 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,this._className=this.constructor.name,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 ot="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} ${ot}] - ${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=ot}const _e=new de;function B(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(!B(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(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}`),B(a)||a?.forEach(h=>o.invoke({store:h,options:{...n,...u,...h?.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 ct=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),me=t=>t.startsWith("onUpdate:"),V=Object.assign,ye=Object.prototype.hasOwnProperty,lt=(t,e)=>ye.call(t,e),d=Array.isArray,H=t=>Vt(t)==="[object Map]",A=t=>typeof t=="function",N=t=>typeof t=="string",D=t=>typeof t=="symbol",g=t=>t!==null&&typeof t=="object",Se=Object.prototype.toString,Vt=t=>Se.call(t),Dt=t=>Vt(t).slice(8,-1),Y=t=>N(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Oe=(t=>{const e=Object.create(null);return(n=>e[n]||(e[n]=t(n)))})(t=>t.charAt(0).toUpperCase()+t.slice(1)),L=(t,e)=>!Object.is(t,e);let Tt;const G=()=>Tt||(Tt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function at(t){if(d(t)){const e={};for(let n=0;n<t.length;n++){const r=t[n],s=N(r)?ve(r):at(r);if(s)for(const i in s)e[i]=s[i]}return e}else if(N(t)||g(t))return t}const Ee=/;(?![^(]*\))/g,we=/:([^]+)/,Ne=/\/\*[^]*?\*\//g;function ve(t){const e={};return t.replace(Ne,"").split(Ee).forEach(n=>{if(n){const r=n.split(we);r.length>1&&(e[r[0].trim()]=r[1].trim())}}),e}function ut(t){let e="";if(N(t))e=t;else if(d(t))for(let n=0;n<t.length;n++){const r=ut(t[n]);r&&(e+=r+" ")}else if(g(t))for(const n in t)t[n]&&(e+=n+" ");return e.trim()}function P(t,...e){console.warn(`[Vue warn] ${t}`,...e)}let xt=0,ft;function ht(){xt++}function pt(){if(--xt>0)return;let t;for(;ft;){let e=ft;for(ft=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}class Re{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){ht();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{pt()}}}const Pt=new WeakMap,dt=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,r,s,i){const o=Pt.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(ht(),e==="clear")o.forEach(c);else{const a=d(t),u=a&&Y(n);if(a&&n==="length"){const h=Number(r);o.forEach((l,p)=>{(p==="length"||p===Ft||!D(p)&&p>=h)&&c(l)})}else switch((n!==void 0||o.has(void 0))&&c(o.get(n)),u&&c(o.get(Ft)),e){case"add":a?u&&c(o.get("length")):(c(o.get(dt)),H(t)&&c(o.get(Mt)));break;case"delete":a||(c(o.get(dt)),H(t)&&c(o.get(Mt)));break;case"set":H(t)&&c(o.get(dt));break}}pt()}function Ce(t,e){const n=Pt.get(t);return n&&n.get(e)}function M(t){const e=f(t);return e===t||m(t)?e:e.map(R)}function _t(t){return t=f(t),t}function O(t,e){return E(t)?U(St(t)?R(e):e):R(e)}const Ae={__proto__:null,[Symbol.iterator](){return gt(this,Symbol.iterator,t=>O(this,t))},concat(...t){return M(this).concat(...t.map(e=>d(e)?M(e):e))},entries(){return gt(this,"entries",t=>(t[1]=O(this,t[1]),t))},every(t,e){return v(this,"every",t,e,void 0,arguments)},filter(t,e){return v(this,"filter",t,e,n=>n.map(r=>O(this,r)),arguments)},find(t,e){return v(this,"find",t,e,n=>O(this,n),arguments)},findIndex(t,e){return v(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return v(this,"findLast",t,e,n=>O(this,n),arguments)},findLastIndex(t,e){return v(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return v(this,"forEach",t,e,void 0,arguments)},includes(...t){return bt(this,"includes",t)},indexOf(...t){return bt(this,"indexOf",t)},join(t){return M(this).join(t)},lastIndexOf(...t){return bt(this,"lastIndexOf",t)},map(t,e){return v(this,"map",t,e,void 0,arguments)},pop(){return W(this,"pop")},push(...t){return W(this,"push",t)},reduce(t,...e){return kt(this,"reduce",t,e)},reduceRight(t,...e){return kt(this,"reduceRight",t,e)},shift(){return W(this,"shift")},some(t,e){return v(this,"some",t,e,void 0,arguments)},splice(...t){return W(this,"splice",t)},toReversed(){return M(this).toReversed()},toSorted(t){return M(this).toSorted(t)},toSpliced(...t){return M(this).toSpliced(...t)},unshift(...t){return W(this,"unshift",t)},values(){return gt(this,"values",t=>O(this,t))}};function gt(t,e,n){const r=_t(t),s=r[e]();return r!==t&&!m(t)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.done||(i.value=n(i.value)),i}),s}const Ie=Array.prototype;function v(t,e,n,r,s,i){const o=_t(t),c=o!==t&&!m(t),a=o[e];if(a!==Ie[e]){const l=a.apply(t,i);return c?R(l):l}let u=n;o!==t&&(c?u=function(l,p){return n.call(this,O(t,l),p,t)}:n.length>2&&(u=function(l,p){return n.call(this,l,p,t)}));const h=a.call(o,u,r);return c&&s?s(h):h}function kt(t,e,n,r){const s=_t(t),i=s!==t&&!m(t);let o=n,c=!1;s!==t&&(i?(c=r.length===0,o=function(u,h,l){return c&&(c=!1,u=O(t,u)),n.call(this,u,O(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?O(t,a):a}function bt(t,e,n){const r=f(t),s=r[e](...n);return(s===-1||s===!1)&&z(n[0])?(n[0]=f(n[0]),r[e](...n)):s}function W(t,e,n=[]){ht();const r=f(t)[e].apply(t,n);return pt(),r}const $e=ge("__proto__,__v_isRef,__isVue"),jt=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(D));function Ve(t){return D(t)||(t=String(t)),f(this).hasOwnProperty(t)}class Kt{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?He:zt:i?Ke:Wt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(r)?e:void 0;const o=d(e);if(!s){let a;if(o&&(a=Ae[n]))return a;if(n==="hasOwnProperty")return Ve}const c=Reflect.get(e,n,b(e)?e:r);if((D(n)?jt.has(n):$e(n))||i)return c;if(b(c)){const a=o&&Y(n)?c:c.value;return s&&g(a)?yt(a):a}return g(c)?s?yt(c):Ut(c):c}}class De extends Kt{constructor(e=!1){super(!1,e)}set(e,n,r,s){let i=e[n];const o=d(e)&&Y(n);if(!this._isShallow){const u=E(i);if(!m(r)&&!E(r)&&(i=f(i),r=f(r)),!o&&b(i)&&!b(r))return u?(process.env.NODE_ENV!=="production"&&P(`Set operation on key "${String(n)}" failed: target is readonly.`,e[n]),!0):(i.value=r,!0)}const c=o?Number(n)<e.length:lt(e,n),a=Reflect.set(e,n,r,b(e)?e:s);return e===f(s)&&a&&(c?L(r,i)&&I(e,"set",n,r,i):I(e,"add",n,r)),a}deleteProperty(e,n){const r=lt(e,n),s=e[n],i=Reflect.deleteProperty(e,n);return i&&r&&I(e,"delete",n,void 0,s),i}has(e,n){const r=Reflect.has(e,n);return!D(n)||jt.has(n),r}ownKeys(e){return Reflect.ownKeys(e)}}class Te extends Kt{constructor(e=!1){super(!0,e)}set(e,n){return process.env.NODE_ENV!=="production"&&P(`Set operation on key "${String(n)}" failed: target is readonly.`,e),!0}deleteProperty(e,n){return process.env.NODE_ENV!=="production"&&P(`Delete operation on key "${String(n)}" failed: target is readonly.`,e),!0}}const xe=new De,Pe=new Te,mt=t=>t,Q=t=>Reflect.getPrototypeOf(t);function Me(t,e,n){return function(...r){const s=this.__v_raw,o=H(f(s)),c=t==="entries"||t===Symbol.iterator&&o,a=s[t](...r),u=n?mt:e?U:R;return V(Object.create(a),{next(){const{value:h,done:l}=a.next();return l?{value:h,done:l}:{value:c?[u(h[0]),u(h[1])]:u(h),done:l}}})}}function X(t){return function(...e){if(process.env.NODE_ENV!=="production"){const n=e[0]?`on key "${e[0]}" `:"";P(`${Oe(t)} operation ${n}failed: target is readonly.`,f(this))}return t==="delete"?!1:t==="clear"?void 0:this}}function Fe(t,e){const n={get(s){const i=this.__v_raw,o=f(i),c=f(s),{has:a}=Q(o),u=e?mt:t?U:R;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(){return this.__v_raw.size},has(s){const i=this.__v_raw,o=f(s);return s===o?i.has(s):i.has(s)||i.has(o)},forEach(s,i){const o=this,c=o.__v_raw,a=e?mt:t?U:R;return c.forEach((u,h)=>s.call(i,a(u),a(h),o))}};return V(n,t?{add:X("add"),set:X("set"),delete:X("delete"),clear:X("clear")}:{add(s){const i=f(this),o=Q(i),c=f(s),a=!e&&!m(s)&&!E(s)?c:s;return o.has.call(i,a)||L(s,a)&&o.has.call(i,s)||L(c,a)&&o.has.call(i,c)||(i.add(a),I(i,"add",a,a)),this},set(s,i){!e&&!m(i)&&!E(i)&&(i=f(i));const o=f(this),{has:c,get:a}=Q(o);let u=c.call(o,s);u?process.env.NODE_ENV!=="production"&&Lt(o,c,s):(s=f(s),u=c.call(o,s));const h=a.call(o,s);return o.set(s,i),u?L(i,h)&&I(o,"set",s,i,h):I(o,"add",s,i),this},delete(s){const i=f(this),{has:o,get:c}=Q(i);let a=o.call(i,s);a?process.env.NODE_ENV!=="production"&&Lt(i,o,s):(s=f(s),a=o.call(i,s));const u=c?c.call(i,s):void 0,h=i.delete(s);return a&&I(i,"delete",s,void 0,u),h},clear(){const s=f(this),i=s.size!==0,o=process.env.NODE_ENV!=="production"?H(s)?new Map(s):new Set(s):void 0,c=s.clear();return i&&I(s,"clear",void 0,void 0,o),c}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Me(s,t,e)}),n}function Ht(t,e){const n=Fe(t,e);return(r,s,i)=>s==="__v_isReactive"?!t:s==="__v_isReadonly"?t:s==="__v_raw"?r:Reflect.get(lt(n,s)&&s in r?n:r,s,i)}const ke={get:Ht(!1,!1)},je={get:Ht(!0,!1)};function Lt(t,e,n){const r=f(n);if(r!==n&&e.call(t,r)){const s=Dt(t);P(`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 Wt=new WeakMap,Ke=new WeakMap,zt=new WeakMap,He=new WeakMap;function Le(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ut(t){return E(t)?t:qt(t,!1,xe,ke,Wt)}function yt(t){return qt(t,!0,Pe,je,zt)}function qt(t,e,n,r,s){if(!g(t))return process.env.NODE_ENV!=="production"&&P(`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=Le(Dt(t));if(o===0)return t;const c=new Proxy(t,o===2?r:n);return s.set(t,c),c}function St(t){return E(t)?St(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 R=t=>g(t)?Ut(t):t,U=t=>g(t)?yt(t):t;function b(t){return t?t.__v_isRef===!0:!1}function Jt(t){return We(t,!1)}function We(t,e){return b(t)?t:new ze(t,e)}class ze{constructor(e,n){this.dep=new Re,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?e:f(e),this._value=n?e:R(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||m(e)||E(e);e=r?e:f(e),L(e,n)&&(this._rawValue=e,this._value=r?e:R(e),process.env.NODE_ENV!=="production"?this.dep.trigger({target:this,type:"set",key:"value",newValue:e,oldValue:n}):this.dep.trigger())}}function Ue(t){return b(t)?t.value:t}class qe{constructor(e,n,r){this._object=e,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0,this._key=D(n)?n:String(n),this._raw=f(e);let s=!0,i=e;if(!d(e)||D(this._key)||!Y(this._key))do s=!z(i)||m(i);while(s&&(i=i.__v_raw));this._shallow=s}get value(){let e=this._object[this._key];return this._shallow&&(e=Ue(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 Ce(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:A(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 T=[];function Ge(t){T.push(t)}function Qe(){T.pop()}let Ot=!1;function F(t,...e){if(Ot)return;Ot=!0;const n=T.length?T[T.length-1].component:null,r=n&&n.appContext.config.warnHandler,s=Xe();if(r)Et(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 <${ae(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 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,this._className=this.constructor.name,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(`
|
|
2
2
|
`),s]);else{const i=[`[Vue warn]: ${t}`,...e];s.length&&i.push(`
|
|
3
|
-
`,...
|
|
4
|
-
`],...
|
|
5
|
-
Component that was made reactive: `,t)),
|
|
3
|
+
`,...on(s)),console.warn(...i)}nt(),At=!1}function rn(){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 on(t){const e=[];return t.forEach((n,r)=>{e.push(...r===0?[]:[`
|
|
4
|
+
`],...cn(n))}),e}function cn({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,...ln(t.props),i]:[s+i]}function ln(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,h(e.value),!0),n?e:[`${t}=Ref<`,e,">"]):I(e)?[`${t}=fn${e.name?`<${e.name}>`:""}`]:(e=h(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 p=c.ec;if(p){for(let l=0;l<p.length;l++)if(p[l](t,a,u)===!1)return}c=c.parent}if(i){et(),It(i,null,10,[t,a,u]),nt();return}}an(t,n,s,r,o)}function an(t,e,n,r=!0,s=!1){if(process.env.NODE_ENV!=="production"){const i=ee[e];if(n&&nn(n),K(`Unhandled error${i?` during execution of ${i}`:""}`),n&&sn(),r)throw t;console.error(t)}else{if(s)throw t;console.error(t)}}const S=[];let A=-1;const H=[];let V=null,L=0;const un=Promise.resolve();let $t=null;const fn=100;function hn(t){let e=A+1,n=S.length;for(;e<n;){const r=e+n>>>1,s=S[r],i=Y(s);i<t||i===t&&s.flags&2?e=r+1:n=r}return e}function pn(t){if(!(t.flags&1)){const e=Y(t),n=S[S.length-1];!n||!(t.flags&2)&&e>=Y(n)?S.push(t):S.splice(hn(e),0,t),t.flags|=1,se()}}function se(){$t||($t=un.then(re))}function dn(t){d(t)?H.push(...t):V&&t.id===-1?V.splice(L+1,0,t):t.flags&1||(H.push(t),t.flags|=1),se()}function _n(t){if(H.length){const e=[...new Set(H)].sort((n,r)=>Y(n)-Y(r));if(H.length=0,V){V.push(...e);return}for(V=e,process.env.NODE_ENV!=="production"&&(t=t||new Map),L=0;L<V.length;L++){const n=V[L];process.env.NODE_ENV!=="production"&&ie(t,n)||(n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2)}V=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<S.length;A++){const n=S[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<S.length;A++){const n=S[A];n&&(n.flags&=-2)}A=-1,S.length=0,_n(t),$t=null,(S.length||H.length)&&re(t)}}function ie(t,e){const n=t.get(e)||0;if(n>fn){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 Vt=new Map;process.env.NODE_ENV!=="production"&&(Z().__VUE_HMR_RUNTIME__={createRecord:Dt(gn),rerender:Dt(bn),reload:Dt(mn)});const ot=new Map;function gn(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 bn(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 mn(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=Vt.get(o);c||(o!==n.initialDef&&oe(o,e),Vt.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?pn(()=>{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)}dn(()=>{Vt.clear()})}function oe(t,e){D(t,e);for(const n in t)n!=="__file"&&!(n in e)&&delete t[n]}function Dt(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,yn=null;const Sn=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 On=Symbol.for("v-ndc"),En={};process.env.NODE_ENV!=="production"&&(En.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 wn={},ae=t=>Object.getPrototypeOf(t)===wn,Nn=t=>t.__isSuspense,ue=Symbol.for("v-fgt"),vn=Symbol.for("v-txt"),Rn=Symbol.for("v-cmt");function Cn(t){return t?t.__v_isVNode===!0:!1}const An=(...t)=>he(...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 In(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:yn,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?(ht(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 $n=process.env.NODE_ENV!=="production"?An:he;function he(t,e=null,n=null,r=0,s=null,i=!1){if((!t||t===On)&&(process.env.NODE_ENV!=="production"&&!t&&K(`Invalid vnode type when creating vnode: ${t}.`),t=Rn),Cn(t)){const c=ft(t,e,!0);return n&&ht(c,n),c.patchFlag=-2,c}if(ge(t)&&(t=t.__vccOpts),e){e=Vn(e);let{class:c,style:a}=e;c&&!v(c)&&(e.class=bt(c)),b(a)&&(J(a)&&!d(a)&&(a=D({},a)),e.style=gt(a))}const o=v(t)?1:Nn(t)?128:Sn(t)?64:b(t)?4:I(t)?2:0;return process.env.NODE_ENV!=="production"&&o&4&&J(t)&&(t=h(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)),In(t,e,n,r,s,o,i,!0)}function Vn(t){return t?J(t)||ae(t)?D({},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?Tn(s||{},e):s,p={__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(pe):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(p,a.clone(p)),p}function pe(t){const e=ft(t);return d(t.children)&&(e.children=t.children.map(pe)),e}function Dn(t=" ",e=0){return $n(vn,null,t,e)}function ht(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),ht(t,s()),s._c&&(s._d=!0));return}else n=32,!e._&&!ae(e)&&(e._ctx=at);else if(I(e)){if(r&65){ht(t,{default:e});return}e={default:e,_ctx:at},n=32}else e=String(e),r&64?(n=16,e=[Dn(e)]):n=8;t.children=e,t.shapeFlag|=n}function Tn(...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(we(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&&!Ne(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 xn=/(?:^|[-_])\w/g,Mn=t=>t.replace(xn,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?Mn(r):n?"App":"Anonymous"}function ge(t){return I(t)&&"__vccOpts"in t}function Pn(){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,p(l)],"<",c(f),">"]}else{if(Ct(l))return["div",{},["span",t,y(l)?"ShallowReactive":"Reactive"],"<",c(l),`>${w(l)?" (readonly)":""}`];if(w(l))return["div",{},["span",t,y(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",h(l.props))),l.setupState!==dt&&f.push(o("setup",l.setupState)),l.data!==dt&&f.push(o("data",h(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=D({},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?h(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 p(l){return y(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 Fn(){Pn()}process.env.NODE_ENV!=="production"&&Fn();function kn(t,e,n){const r=n?{storeOptions:n}:{};return typeof e=="function"?jn(t,e,r):Kn(t,e,r)}function jn(t,e,n){return F.defineStore(t,e,n)}function Kn(t,e,n){return n&&(e={...e,...n??{}}),F.defineStore(t,e)}const Hn=new Set(["_","$"]);function Ln(t){return Hn.has(t[0])}class Wn 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]=tn(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 Ln(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 zn(t,e){const n=new Pt(t,e);return n.plugin.bind(n)}_.CustomConsole=xt,_.PLUGIN_NAME=pt,_.PluginSubscriber=be,_.PluginSubscription=Pt,_.Store=Wn,_.createPlugin=zn,_.defineAStore=kn,_.isEmpty=Q,Object.defineProperty(_,Symbol.toStringTag,{value:"Module"})}));
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,123 +1,3 @@
|
|
|
1
|
-
import type { PiniaPlugin, PiniaPluginContext, Store as PiniaStore, StateTree, StoreDefinition } from "pinia"
|
|
2
|
-
import type { Console } from "./log"
|
|
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"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
declare module 'pinia-plugin-subscription' {
|
|
15
|
-
export const PLUGIN_NAME: string;
|
|
16
|
-
|
|
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
|
|
20
|
-
|
|
21
|
-
export function isEmpty(value: any): boolean
|
|
22
|
-
|
|
23
|
-
export default abstract class Debug {
|
|
24
|
-
protected abstract _className: string
|
|
25
|
-
public console: Console
|
|
26
|
-
public debug: boolean
|
|
27
|
-
|
|
28
|
-
constructor(debug: boolean, customConsole?: Console)
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
debugLog(message: string, args: any): void
|
|
32
|
-
|
|
33
|
-
logError(...args: any): void
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export abstract class CustomConsole {
|
|
37
|
-
protected _bgColor: string
|
|
38
|
-
protected _color: string
|
|
39
|
-
protected _icon: string
|
|
40
|
-
protected _errorBgColor: string
|
|
41
|
-
protected _errorColor: string
|
|
42
|
-
protected _errorIcon: string
|
|
43
|
-
protected abstract _pluginName: string
|
|
44
|
-
|
|
45
|
-
log(...args: any): void
|
|
46
|
-
error(...args: any): void
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export abstract class PluginSubscriber<Instance extends Store> implements PluginSubscriberInterface {
|
|
50
|
-
public console: Console
|
|
51
|
-
public name: string
|
|
52
|
-
public pluginOptions: AnyObject
|
|
53
|
-
public resetStoreCallback: ((store?: PiniaStore) => void) | undefined
|
|
54
|
-
public storeOnActionSubscription: StoreOnActionSubscription | undefined
|
|
55
|
-
public storeMutationSubscription: StoreMutationSubscription | undefined
|
|
56
|
-
public subscriptions: PluginSubscriptions | undefined
|
|
57
|
-
protected pluginCreated?: (store: PiniaStore) => void
|
|
58
|
-
protected _resetStoreCallback?: (store?: PiniaStore) => void
|
|
59
|
-
|
|
60
|
-
constructor(
|
|
61
|
-
pluginName: string,
|
|
62
|
-
createInstanceFunction: (store: PiniaStore, options: AnyObject, debug: boolean, pluginConsole?: Console) => Instance | undefined,
|
|
63
|
-
pluginConsole?: CustomConsole
|
|
64
|
-
)
|
|
65
|
-
|
|
66
|
-
public invoke(context: PiniaPluginContext, debug: boolean): boolean
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
export class Store extends Debug {
|
|
70
|
-
constructor(store: PiniaStore, options: AnyObject, debug: boolean, customConsole?: Console)
|
|
71
|
-
|
|
72
|
-
protected static _requiredKeys?: string[]
|
|
73
|
-
protected _className: string
|
|
74
|
-
public debug: boolean
|
|
75
|
-
public onAction: StoreOnActionSubscription | StoreOnActionSubscriptionCallback | undefined
|
|
76
|
-
public readonly options: StoreOptions
|
|
77
|
-
public resetCallback: (() => void) | undefined
|
|
78
|
-
public state: StateTree
|
|
79
|
-
public storeSubscribe: StoreMutationSubscriptionCallback | undefined
|
|
80
|
-
public readonly store: AnyObject
|
|
81
|
-
|
|
82
|
-
addPropertiesToState(properties: string[], values?: AnyObject): void
|
|
83
|
-
|
|
84
|
-
addSubscription(
|
|
85
|
-
pluginName: string,
|
|
86
|
-
subscription: PluginSubscriberInterface,
|
|
87
|
-
options?: { subscriptionOptions?: StoreOptions, stores?: PiniaStore[] }
|
|
88
|
-
): void
|
|
89
|
-
|
|
90
|
-
addToState(name: string, value?: StatePropertyValue): void
|
|
91
|
-
|
|
92
|
-
static customizeStore<Instance extends Store>(
|
|
93
|
-
store: PiniaStore,
|
|
94
|
-
options: AnyObject,
|
|
95
|
-
debug: boolean,
|
|
96
|
-
console?: Console
|
|
97
|
-
): Instance | undefined
|
|
98
|
-
|
|
99
|
-
debugLog(message: string, args: any): void
|
|
100
|
-
|
|
101
|
-
hasDeniedFirstChar(property: string): boolean
|
|
102
|
-
|
|
103
|
-
getOption(optionName: keyof StoreOptions): StoreOptionsPropertyValue
|
|
104
|
-
|
|
105
|
-
getStatePropertyValue(propertyName: string): StatePropertyValue
|
|
106
|
-
|
|
107
|
-
getSubscriptions(): PluginSubscriptions | undefined
|
|
108
|
-
|
|
109
|
-
getValue(value: any): any
|
|
110
|
-
|
|
111
|
-
protected static hasRequiredKeys(options: AnyObject): boolean
|
|
112
|
-
|
|
113
|
-
isOptionApi(): boolean
|
|
114
|
-
|
|
115
|
-
stateHas(property: string): boolean
|
|
116
|
-
|
|
117
|
-
storeHas(property: string): boolean
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
|
|
121
1
|
export interface AnyObject {
|
|
122
2
|
[key: number | string | symbol]: any;
|
|
123
3
|
}
|
|
@@ -127,11 +7,3 @@ export interface SearchCollectionCriteria {
|
|
|
127
7
|
export { Console, LogType, StyleDefinition as ConsoleStyleDefinition, StyleDefinitionKeys as ConsoleStyleDefinitionKeys, StyleDefinitions as ConsoleStyleDefinitions } from './log';
|
|
128
8
|
export type { CustomStore, PluginStoreOptions, StatePropertyValue, StoreOptions, StoreOptionsPropertyValue } from "./store";
|
|
129
9
|
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
|
-
}
|
package/package.json
CHANGED
|
@@ -1,8 +1,29 @@
|
|
|
1
1
|
{
|
|
2
|
-
"author": "Alexandre Bidaud <alexbidaud85@gmail.com> (https://github.com/AlxBDo)",
|
|
3
2
|
"name": "pinia-plugin-subscription",
|
|
4
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.1",
|
|
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
|
+
"sideEffects": false,
|
|
7
|
+
"author": "Alexandre Bidaud <alexbidaud85@gmail.com> (https://github.com/AlxBDo)",
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "https://github.com/AlxBDo/pinia-plugin-subscription.git"
|
|
12
|
+
},
|
|
13
|
+
"homepage": "https://github.com/AlxBDo/pinia-plugin-subscription",
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/AlxBDo/pinia-plugin-subscription/issues"
|
|
16
|
+
},
|
|
17
|
+
"keywords": [
|
|
18
|
+
"pinia",
|
|
19
|
+
"vue",
|
|
20
|
+
"plugin",
|
|
21
|
+
"store",
|
|
22
|
+
"subscription",
|
|
23
|
+
"vue3",
|
|
24
|
+
"state-management",
|
|
25
|
+
"typescript"
|
|
26
|
+
],
|
|
6
27
|
"exports": {
|
|
7
28
|
".": {
|
|
8
29
|
"types": "./dist/types/index.d.ts",
|
|
@@ -13,8 +34,18 @@
|
|
|
13
34
|
"main": "./dist/pinia-plugin-subscription.umd.cjs",
|
|
14
35
|
"types": "./dist/types/index.d.ts",
|
|
15
36
|
"files": [
|
|
16
|
-
"dist"
|
|
37
|
+
"dist",
|
|
38
|
+
"CHANGELOG.md",
|
|
39
|
+
"CONTRIBUTING.md",
|
|
40
|
+
"SECURITY.md"
|
|
17
41
|
],
|
|
42
|
+
"engines": {
|
|
43
|
+
"node": ">=18"
|
|
44
|
+
},
|
|
45
|
+
"publishConfig": {
|
|
46
|
+
"access": "public",
|
|
47
|
+
"provenance": true
|
|
48
|
+
},
|
|
18
49
|
"scripts": {
|
|
19
50
|
"dev": "vite",
|
|
20
51
|
"test": "vitest",
|
|
@@ -22,6 +53,10 @@
|
|
|
22
53
|
"build": "vitest && vite build && tsc --emitDeclarationOnly --outDir dist",
|
|
23
54
|
"preview": "vite preview"
|
|
24
55
|
},
|
|
56
|
+
"peerDependencies": {
|
|
57
|
+
"pinia": "^2.0.0 || ^3.0.0",
|
|
58
|
+
"vue": "^3.0.0"
|
|
59
|
+
},
|
|
25
60
|
"devDependencies": {
|
|
26
61
|
"@types/node": "^24.10.1",
|
|
27
62
|
"@vitejs/plugin-vue": "^6.0.1",
|