effector-vue
Advanced tools
Comparing version 22.1.0 to 22.1.1
@@ -1,2 +0,2 @@ | ||
'use strict';function e(e){return e&&'object'==typeof e&&'default'in e?e.default:e}function t(e,t){var r=this;void 0===t&&(t={immediate:1});var o=n.createEvent(),i=n.restore(o,{}),a=function(){r.$watch(e,(function(e,t){o({oldValue:t,newValue:e})}),t)};return this._data?a():this.$once('hook:created',a),i}function r(e){return this.$watchAsStore(e).map((function(e){return e.newValue}))}Object.defineProperty(exports,'__esModule',{value:1});var o=require('vue'),n=require('effector/compat'),i=e(o),a={beforeCreate:function(){var e=this,t=this.$options.effector;if("function"==typeof t&&(t=t.call(this)),t){this.$options.computed||(this.$options.computed={});var r={};if(n.is.store(t))r={state:t};else{if('object'!=typeof t)throw Error('property should be Store');r=Object.assign({},t)}this.__clear=n.createEvent(),n.withRegion(this.__clear,(function(){var t={},o=0;for(var a in r){var f=r[a];if(n.is.store(f))t[a]=f;else{if(!n.is.event(f)&&!n.is.effect(f))throw Error("Effector property "+a+" should be Store or Unit (will be transform to Store<number>)");t[a]=n.restore(f.map((function(){return++o})),null)}}var c=n.combine(t);for(var u in c.defaultState)i.util.defineReactive(e,u,c.defaultState[u]);c.watch((function(t){for(var r in t)e[r]=t[r]}));var s=function(r){var o=n.createEvent();n.forward({from:o,to:t[r]}),e.$options.computed[r]={get:function(){return e[r]},set:o}};for(var l in t)s(l)}))}},beforeDestroy:function(){this.__clear&&n.clearNode(this.__clear)}};exports.VueEffector=function(e){e.mixin(a),e.prototype.$watchAsStore=t,e.prototype.$store=r},exports.createComponent=function(e,t){return i.extend(Object.assign({},e,t&&{effector:function(){return t}}))}; | ||
'use strict';function e(e){return e&&'object'==typeof e&&'default'in e?e.default:e}function t(e,t){var r=this;void 0===t&&(t={immediate:1}),console.error('$watchAsStore is deprecated');var o=n.createEvent(),i=n.restore(o,{}),c=function(){r.$watch(e,(function(e,t){o({oldValue:t,newValue:e})}),t)};return this._data?c():this.$once('hook:created',c),i}function r(e){return console.error('$store is deprecated'),this.$watchAsStore(e).map((function(e){return e.newValue}))}Object.defineProperty(exports,'__esModule',{value:1});var o=require('vue'),n=require('effector/compat'),i=e(o),c={beforeCreate:function(){var e=this,t=this.$options.effector;if("function"==typeof t&&(t=t.call(this)),t){this.$options.computed||(this.$options.computed={});var r={};if(n.is.store(t))r={state:t};else{if('object'!=typeof t)throw Error('property should be Store');r=Object.assign({},t)}this.__clear=n.createEvent(),n.withRegion(this.__clear,(function(){var t={},o=0;for(var c in r){var a=r[c];if(n.is.store(a))t[c]=a;else{if(!n.is.event(a)&&!n.is.effect(a))throw Error("Effector property "+c+" should be Store or Unit (will be transform to Store<number>)");t[c]=n.restore(a.map((function(){return++o})),null)}}var f=n.combine(t);for(var s in f.defaultState)i.util.defineReactive(e,s,f.defaultState[s]);f.watch((function(t){for(var r in t)e[r]=t[r]}));var u=function(r){var o=n.createEvent();n.forward({from:o,to:t[r]}),e.$options.computed[r]={get:function(){return e[r]},set:o}};for(var l in t)u(l)}))}},beforeDestroy:function(){this.__clear&&n.clearNode(this.__clear)}};exports.VueEffector=function(e){e.mixin(c),e.prototype.$watchAsStore=t,e.prototype.$store=r},exports.createComponent=function(e,t){return i.extend(Object.assign({},e,t&&{effector:function(){return t}}))}; | ||
//# sourceMappingURL=compat.js.map |
@@ -8,2 +8,3 @@ import {DeepReadonly, Ref, UnwrapRef} from '@vue/reactivity' | ||
domain?: Domain; | ||
sid?: string; | ||
}; | ||
@@ -19,5 +20,14 @@ | ||
type ExtractStore<T extends Record<string, Store<unknown>>> = { | ||
[Key in keyof T]: T[Key] extends Store<infer U> ? Ref<UnwrapRef<U>> : never | ||
} | ||
export interface UseVModel { | ||
<T>(vm: Store<T>): Ref<T> | ||
<T extends Record<string, Store<any>>>(vm: T): ExtractStore<T> | ||
} | ||
export function useVModel<T>(vm: Store<T>): Ref<UnwrapRef<T>> | ||
export function useVModel<T extends Record<string, Store<any>>>(vm: T): ExtractStore<T> | ||
export function useStore<T>(store: Store<T>): DeepReadonly<Ref<T>> | ||
export function useVModel<T>(store: Store<T>): Ref<UnwrapRef<T>> | ||
export function createGate<Props>(config?: GateConfig<Props>): Gate<Props> | ||
export function useGate<Props>(GateComponent: Gate<Props>, cb?: () => Props): void |
@@ -1,2 +0,2 @@ | ||
function e(e,t,o){let r=[effector.step.run({fn:e=>t(e)})];if(o){let t=effector.createNode({node:r}),n=e.graphite.id,a=o.additionalLinks,l=a[n]||[];return a[n]=l,l.push(t),()=>{let e=l.indexOf(t);-1!==e&&l.splice(e,1),effector.clearNode(t)}}{let t=effector.createNode({node:r,parent:[e],family:{owners:e}});return()=>{effector.clearNode(t)}}}function t(e,t){return t?t.getState(e):e.getState()}function o(){let e,t=l.getCurrentInstance(),o=null==t?void 0:t.appContext.config.globalProperties.scopeName;return o&&(e=l.inject(o)),{scopeName:o,scope:e}}function r(e){let t=l.unref(e);return l.isReactive(t)?l.toRaw(t):t}function n(e,t=[]){if(null===e||'object'!=typeof e)return e;let o=t.filter((t=>t.original===e))[0];if(o)return o.copy;let r=Array.isArray(e)?[]:{};return t.push({original:e,copy:r}),Object.keys(e).forEach((o=>{r[o]=n(e[o],t)})),r}function a(e,t){let o,a;t&&(a=l.computed(t),o=l.watch(a,(t=>{let o=r(t);e.set(n(o))}),{deep:1,immediate:1})),l.onMounted((()=>{let t=r(a);e.open(n(t))})),l.onUnmounted((()=>{let t=r(a);e.close(n(t)),o&&o()}))}Object.defineProperty(exports,'__esModule',{value:1});var effector=require('effector'),l=require('vue');exports.createGate=e=>{function t(e){a(t,(()=>e))}var o;let r=effector.createStore(null!==(o=null==e?void 0:e.defaultState)&&void 0!==o?o:null,{named:'state'}),n=effector.createStore(Boolean(0),{named:'status'}),{set:l}=effector.createApi(r,{set:(e,t)=>t}),{open:u,close:s}=effector.createApi(n,{open:()=>Boolean(1),close:()=>Boolean(0)});if(t.open=u,t.close=s,t.status=n,t.state=r,t.set=l,r.reset(s),null!=e&&e.domain){let{hooks:t}=e.domain;effector.launch({target:[t.store,t.store,t.event,t.event,t.event],params:[n,r,u,s,l]})}return t},exports.useGate=a,exports.useStore=r=>{effector.is.store(r)||(()=>{throw Error("expect useStore argument to be a store")})();let{scope:n}=o(),a=t(r,n),u=l.shallowRef(a),s=e(r,(e=>{u.value=l.shallowRef(e).value}),n);return l.onUnmounted((()=>{s()})),l.readonly(u)},exports.useVModel=a=>{if(!effector.is.store(a))throw Error("expect useVModel argument to be a store");let{scope:u}=o(),s=l.ref(n(t(a,u))),i=0,c=0,p=e(a,(e=>{i||(c=1,s.value=l.ref(n(e)).value)}),u);return l.onUnmounted((()=>{p()})),l.watch((()=>s.value),(e=>{if(i=1,!c){let t=l.ref(r(e)).value;a.setState(n(t))}c=0,i=0}),{deep:1,immediate:0}),s}; | ||
function e(e,t,o){let n=[effector.step.run({fn:e=>t(e)})];if(o){let t=effector.createNode({node:n}),r=e.graphite.id,a=o.additionalLinks,l=a[r]||[];return a[r]=l,l.push(t),()=>{let e=l.indexOf(t);-1!==e&&l.splice(e,1),effector.clearNode(t)}}{let t=effector.createNode({node:n,parent:[e],family:{owners:e}});return()=>{effector.clearNode(t)}}}function t(e,t){return t?t.getState(e):e.getState()}function o(){let e,t=s.getCurrentInstance(),o=null==t?void 0:t.appContext.config.globalProperties.scopeName;return o&&(e=s.inject(o)),{scopeName:o,scope:e}}function n(e){let t=s.unref(e);return s.isReactive(t)?s.toRaw(t):t}function r(e,t=[]){if(null===e||'object'!=typeof e)return e;let o=t.filter((t=>t.original===e))[0];if(o)return o.copy;let n=Array.isArray(e)?[]:{};return t.push({original:e,copy:n}),Object.keys(e).forEach((o=>{n[o]=r(e[o],t)})),n}function a(a,l,i){if(!effector.is.store(a))throw Error("expect useVModel argument to be a store");let{scope:u}=o(),d=s.ref(r(t(a,u))),c=0,f=0,p=e(a,(e=>{c||(f=1,d.value=s.ref(r(e)).value)}),u);return s.onUnmounted((()=>{p()})),s.watch((()=>l&&i?i[l]:d.value),(e=>{if(c=1,!f){let t=s.ref(n(e)).value;a.setState(r(t))}f=0,c=0}),{deep:1,immediate:0}),d}function l(e,t){let o=t?e:e[0];var n;(e=>{if(!e)throw Error('expect first argument be an object')})(u(n=o)||(e=>'function'==typeof e)(n));let r=o.or,a=o.and;if(a){let o=t?a:a[0];if(u(o)&&'and'in o){let o=l(a,t);e=o[0],r={...r,...o[1]}}else e=a}return[e,r]}function i(e,t){let o,a;t&&(a=s.computed(t),o=s.watch(a,(t=>{let o=n(t);e.set(r(o))}),{deep:1,immediate:1})),s.onMounted((()=>{if(void 0!==a){let t=n(a.value);e.open(r(t))}else e.open()})),s.onUnmounted((()=>{if(void 0!==a){let t=n(a.value);e.close(r(t))}else e.close();o&&o()}))}Object.defineProperty(exports,'__esModule',{value:1});var effector=require('effector'),s=require('vue');let u=e=>'object'==typeof e&&null!==e,d=(e,t={})=>(u(e)&&(d(e.or,t),(e=>{for(let r in e)n=r,(e=>void 0===e)(o=e[r])||'or'===n||'and'===n||(t[n]=o);var o,n})(e),d(e.and,t)),t);exports.createGate=(...e)=>{function t(e){i(t,(()=>e))}var o;let n=e&&(e=>u(e)&&(e.and||e.or))(e[0])?e:[{and:e}],[[r],a]=l(n),s=d({or:a,and:r}),c=null==r?void 0:r.domain,f=`${c?`${c.compositeName.fullName}/`:''}${(null==s?void 0:s.name)||'gate'}`,p=effector.createEvent({name:`${f}.set`,sid:s.sid?`${s.sid}|set`:void 0}),v=effector.createEvent({name:`${f}.open`,sid:s.sid?`${s.sid}|open`:void 0}),m=effector.createEvent({name:`${f}.close`,sid:s.sid?`${s.sid}|close`:void 0}),g=effector.createStore(Boolean(0),{name:`${f}.status`,serialize:'ignore'}),h=effector.createStore(null!==(o=null==r?void 0:r.defaultState)&&void 0!==o?o:null,{name:`${f}.state`,sid:null==s?void 0:s.sid});if(h.on(p,((e,t)=>t)),g.on(v,(()=>Boolean(1))).on(m,(()=>Boolean(0))),t.open=v,t.close=m,t.status=g,t.state=h,t.set=p,effector.sample({clock:v,target:p}),h.reset(m),null!=r&&r.domain){let{hooks:e}=r.domain;effector.launch({target:[e.store,e.store,e.event,e.event,e.event],params:[g,h,v,m,p]})}return t},exports.useGate=i,exports.useStore=n=>{effector.is.store(n)||(()=>{throw Error("expect useStore argument to be a store")})();let{scope:r}=o(),a=t(n,r),l=s.shallowRef(a),i=e(n,(e=>{l.value=s.shallowRef(e).value}),r);return s.onUnmounted((()=>{i()})),s.readonly(l)},exports.useVModel=e=>{if(effector.is.store(e))return a(e);let t=s.reactive({}),o=Object.fromEntries(Object.entries(e).map((([e,o])=>[e,a(o,e,t)])));for(let e in o)t[e]=o[e];return t}; | ||
//# sourceMappingURL=composition.cjs.js.map |
@@ -8,2 +8,3 @@ import {DeepReadonly, Ref, UnwrapRef} from '@vue/reactivity' | ||
domain?: Domain; | ||
sid?: string; | ||
}; | ||
@@ -19,5 +20,14 @@ | ||
type ExtractStore<T extends Record<string, Store<unknown>>> = { | ||
[Key in keyof T]: T[Key] extends Store<infer U> ? Ref<UnwrapRef<U>> : never | ||
} | ||
export interface UseVModel { | ||
<T>(vm: Store<T>): Ref<T> | ||
<T extends Record<string, Store<any>>>(vm: T): ExtractStore<T> | ||
} | ||
export function useVModel<T>(vm: Store<T>): Ref<UnwrapRef<T>> | ||
export function useVModel<T extends Record<string, Store<any>>>(vm: T): ExtractStore<T> | ||
export function useStore<T>(store: Store<T>): DeepReadonly<Ref<T>> | ||
export function useVModel<T>(store: Store<T>): Ref<UnwrapRef<T>> | ||
export function createGate<Props>(config?: GateConfig<Props>): Gate<Props> | ||
export function useGate<Props>(GateComponent: Gate<Props>, cb?: () => Props): void |
@@ -8,2 +8,3 @@ import {DeepReadonly, Ref, UnwrapRef} from '@vue/reactivity' | ||
domain?: Domain; | ||
sid?: string; | ||
}; | ||
@@ -19,5 +20,14 @@ | ||
type ExtractStore<T extends Record<string, Store<unknown>>> = { | ||
[Key in keyof T]: T[Key] extends Store<infer U> ? Ref<UnwrapRef<U>> : never | ||
} | ||
export interface UseVModel { | ||
<T>(vm: Store<T>): Ref<T> | ||
<T extends Record<string, Store<any>>>(vm: T): ExtractStore<T> | ||
} | ||
export function useVModel<T>(vm: Store<T>): Ref<UnwrapRef<T>> | ||
export function useVModel<T extends Record<string, Store<any>>>(vm: T): ExtractStore<T> | ||
export function useStore<T>(store: Store<T>): DeepReadonly<Ref<T>> | ||
export function useVModel<T>(store: Store<T>): Ref<UnwrapRef<T>> | ||
export function createGate<Props>(config?: GateConfig<Props>): Gate<Props> | ||
export function useGate<Props>(GateComponent: Gate<Props>, cb?: () => Props): void |
@@ -1,2 +0,2 @@ | ||
function e(e){return e&&'object'==typeof e&&'default'in e?e.default:e}function t(e,t={immediate:1}){let o=effector.createEvent(),r=effector.restore(o,{}),i=()=>{this.$watch(e,((e,t)=>{o({oldValue:t,newValue:e})}),t)};return this._data?i():this.$once('hook:created',i),r}function o(e){return this.$watchAsStore(e).map((({newValue:e})=>e))}Object.defineProperty(exports,'__esModule',{value:1});var r=require('vue'),effector=require('effector'),i=e(r);const s={beforeCreate(){let e=this.$options.effector;if("function"==typeof e&&(e=e.call(this)),!e)return;this.$options.computed||(this.$options.computed={});let t={};if(effector.is.store(e))t={state:e};else{if('object'!=typeof e)throw Error('property should be Store');t={...e}}this.__clear=effector.createEvent(),effector.withRegion(this.__clear,(()=>{let e={},o=0;for(let r in t){let i=t[r];if(effector.is.store(i))e[r]=i;else{if(!effector.is.event(i)&&!effector.is.effect(i))throw Error(`Effector property ${r} should be Store or Unit (will be transform to Store<number>)`);e[r]=effector.restore(i.map((()=>++o)),null)}}let r=effector.combine(e);for(let e in r.defaultState)i.util.defineReactive(this,e,r.defaultState[e]);r.watch((e=>{for(let t in e)this[t]=e[t]}));for(let t in e){let o=effector.createEvent();effector.forward({from:o,to:e[t]}),this.$options.computed[t]={get:()=>this[t],set:o}}}))},beforeDestroy(){this.__clear&&effector.clearNode(this.__clear)}};exports.VueEffector=e=>{e.mixin(s),e.prototype.$watchAsStore=t,e.prototype.$store=o},exports.createComponent=(e,t)=>i.extend(Object.assign({},e,t&&{effector:()=>t})); | ||
function e(e){return e&&'object'==typeof e&&'default'in e?e.default:e}function t(e,t={immediate:1}){console.error('$watchAsStore is deprecated');let r=effector.createEvent(),o=effector.restore(r,{}),i=()=>{this.$watch(e,((e,t)=>{r({oldValue:t,newValue:e})}),t)};return this._data?i():this.$once('hook:created',i),o}function r(e){return console.error('$store is deprecated'),this.$watchAsStore(e).map((({newValue:e})=>e))}Object.defineProperty(exports,'__esModule',{value:1});var o=require('vue'),effector=require('effector'),i=e(o);const s={beforeCreate(){let e=this.$options.effector;if("function"==typeof e&&(e=e.call(this)),!e)return;this.$options.computed||(this.$options.computed={});let t={};if(effector.is.store(e))t={state:e};else{if('object'!=typeof e)throw Error('property should be Store');t={...e}}this.__clear=effector.createEvent(),effector.withRegion(this.__clear,(()=>{let e={},r=0;for(let o in t){let i=t[o];if(effector.is.store(i))e[o]=i;else{if(!effector.is.event(i)&&!effector.is.effect(i))throw Error(`Effector property ${o} should be Store or Unit (will be transform to Store<number>)`);e[o]=effector.restore(i.map((()=>++r)),null)}}let o=effector.combine(e);for(let e in o.defaultState)i.util.defineReactive(this,e,o.defaultState[e]);o.watch((e=>{for(let t in e)this[t]=e[t]}));for(let t in e){let r=effector.createEvent();effector.forward({from:r,to:e[t]}),this.$options.computed[t]={get:()=>this[t],set:r}}}))},beforeDestroy(){this.__clear&&effector.clearNode(this.__clear)}};exports.VueEffector=e=>{e.mixin(s),e.prototype.$watchAsStore=t,e.prototype.$store=r},exports.createComponent=(e,t)=>i.extend(Object.assign({},e,t&&{effector:()=>t})); | ||
//# sourceMappingURL=effector-vue.cjs.js.map |
@@ -1,2 +0,2 @@ | ||
((e,t)=>{'object'==typeof exports&&'undefined'!=typeof module?t(exports,require('vue'),require('effector')):'function'==typeof define&&define.amd?define(['exports','vue','effector'],t):t((e='undefined'!=typeof globalThis?globalThis:e||self).effectorVue={},e.Vue,e.effector)})(this,(function(e,t,effector){function o(e){return e&&'object'==typeof e&&'default'in e?e:{default:e}}function r(e,t={immediate:1}){let o=effector.createEvent(),r=effector.restore(o,{}),i=()=>{this.$watch(e,((e,t)=>{o({oldValue:t,newValue:e})}),t)};return this._data?i():this.$once('hook:created',i),r}function i(e){return this.$watchAsStore(e).map((({newValue:e})=>e))}var f=o(t);const n={beforeCreate(){let e=this.$options.effector;if("function"==typeof e&&(e=e.call(this)),!e)return;this.$options.computed||(this.$options.computed={});let t={};if(effector.is.store(e))t={state:e};else{if('object'!=typeof e)throw Error('property should be Store');t={...e}}this.__clear=effector.createEvent(),effector.withRegion(this.__clear,(()=>{let e={},o=0;for(let r in t){let i=t[r];if(effector.is.store(i))e[r]=i;else{if(!effector.is.event(i)&&!effector.is.effect(i))throw Error(`Effector property ${r} should be Store or Unit (will be transform to Store<number>)`);e[r]=effector.restore(i.map((()=>++o)),null)}}let r=effector.combine(e);for(let e in r.defaultState)f.default.util.defineReactive(this,e,r.defaultState[e]);r.watch((e=>{for(let t in e)this[t]=e[t]}));for(let t in e){let o=effector.createEvent();effector.forward({from:o,to:e[t]}),this.$options.computed[t]={get:()=>this[t],set:o}}}))},beforeDestroy(){this.__clear&&effector.clearNode(this.__clear)}};e.VueEffector=e=>{e.mixin(n),e.prototype.$watchAsStore=r,e.prototype.$store=i},e.createComponent=(e,t)=>f.default.extend(Object.assign({},e,t&&{effector:()=>t})),Object.defineProperty(e,'__esModule',{value:1})})); | ||
((e,t)=>{'object'==typeof exports&&'undefined'!=typeof module?t(exports,require('vue'),require('effector')):'function'==typeof define&&define.amd?define(['exports','vue','effector'],t):t((e='undefined'!=typeof globalThis?globalThis:e||self).effectorVue={},e.Vue,e.effector)})(this,(function(e,t,effector){function o(e){return e&&'object'==typeof e&&'default'in e?e:{default:e}}function r(e,t={immediate:1}){console.error('$watchAsStore is deprecated');let o=effector.createEvent(),r=effector.restore(o,{}),i=()=>{this.$watch(e,((e,t)=>{o({oldValue:t,newValue:e})}),t)};return this._data?i():this.$once('hook:created',i),r}function i(e){return console.error('$store is deprecated'),this.$watchAsStore(e).map((({newValue:e})=>e))}var f=o(t);const s={beforeCreate(){let e=this.$options.effector;if("function"==typeof e&&(e=e.call(this)),!e)return;this.$options.computed||(this.$options.computed={});let t={};if(effector.is.store(e))t={state:e};else{if('object'!=typeof e)throw Error('property should be Store');t={...e}}this.__clear=effector.createEvent(),effector.withRegion(this.__clear,(()=>{let e={},o=0;for(let r in t){let i=t[r];if(effector.is.store(i))e[r]=i;else{if(!effector.is.event(i)&&!effector.is.effect(i))throw Error(`Effector property ${r} should be Store or Unit (will be transform to Store<number>)`);e[r]=effector.restore(i.map((()=>++o)),null)}}let r=effector.combine(e);for(let e in r.defaultState)f.default.util.defineReactive(this,e,r.defaultState[e]);r.watch((e=>{for(let t in e)this[t]=e[t]}));for(let t in e){let o=effector.createEvent();effector.forward({from:o,to:e[t]}),this.$options.computed[t]={get:()=>this[t],set:o}}}))},beforeDestroy(){this.__clear&&effector.clearNode(this.__clear)}};e.VueEffector=e=>{e.mixin(s),e.prototype.$watchAsStore=r,e.prototype.$store=i},e.createComponent=(e,t)=>f.default.extend(Object.assign({},e,t&&{effector:()=>t})),Object.defineProperty(e,'__esModule',{value:1})})); | ||
//# sourceMappingURL=effector-vue.umd.js.map |
{ | ||
"name": "effector-vue", | ||
"version": "22.1.0", | ||
"version": "22.1.1", | ||
"description": "Vue bindings for effector", | ||
@@ -76,2 +76,6 @@ "main": "effector-vue.cjs.js", | ||
"composition api", | ||
"business", | ||
"logic", | ||
"data", | ||
"flow", | ||
"state management", | ||
@@ -78,0 +82,0 @@ "state manager", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
105384
761