mobx-miniprogram-bindings
Version:
Mobx binding utils for WeChat miniprogram
2 lines (1 loc) • 6.27 kB
JavaScript
;var A=(r,n)=>()=>(n||r((n={exports:{}}).exports,n),n.exports);var j=A(()=>{});var w=A(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});var J=M,F={createActions:function(){return T},createDataFieldsReactions:function(){return W}};for(x in F)Object.defineProperty(J,x,{enumerable:!0,get:F[x]});var x,l=require("mobx-miniprogram");function _(r,n){(n==null||n>r.length)&&(n=r.length);for(var e=0,i=Array(n);e<n;e++)i[e]=r[e];return i}function I(r,n,e){return n in r?Object.defineProperty(r,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):r[n]=e,r}function k(r){return function(n){if(Array.isArray(n))return _(n)}(r)||function(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}(r)||function(n,e){if(n){if(typeof n=="string")return _(n,void 0);var i=Object.prototype.toString.call(n).slice(8,-1);if(i==="Object"&&n.constructor&&(i=n.constructor.name),i==="Map"||i==="Set")return Array.from(i);if(i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return _(n,e)}}(r)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function R(r){return r&&typeof Symbol<"u"&&r.constructor===Symbol?"symbol":typeof r}var T=function(r,n){var e=n.store,i=n.actions;if(i){if(e===void 0)throw Error("[mobx-miniprogram] no store specified");Array.isArray(i)?i.forEach(function(o){if(r[o])throw Error("[mobx-miniprogram] multiple action definition");r[o]=function(){for(var u=arguments.length,c=Array(u),s=0;s<u;s++)c[s]=arguments[s];return e[o].apply(e,k(c))}}):(i===void 0?"undefined":R(i))==="object"&&Object.keys(i).forEach(function(o){var u=i[o];if(typeof o!="string"&&typeof o!="number")throw Error("[mobx-miniprogram] unrecognized field definition");r[o]=function(){for(var c=arguments.length,s=Array(c),a=0;a<c;a++)s[a]=arguments[a];return e[u].apply(e,k(s))}})}},W=function(r,n){var e=n.store,i=n.fields,o=n.structuralComparison,u=n.namespace||"";if(u&&typeof u!="string")throw Error("[mobx-miniprogram] namespace only expect string");var c=Object.assign({},r[u=u.replace(/ /gm,"")]),s=o?l.comparer.structural:void 0,a=null,B=function(){if(a!==null){var t=a;a=null,r.setData(t)}},O=function(t,f){if(a||(a={},typeof wx<"u"?wx.nextTick(B):Promise.resolve().then(B)),u!==""){var d,g;d=function(m){for(var b=1;b<arguments.length;b++){var p=arguments[b]!=null?arguments[b]:{},y=Object.keys(p);typeof Object.getOwnPropertySymbols=="function"&&(y=y.concat(Object.getOwnPropertySymbols(p).filter(function(h){return Object.getOwnPropertyDescriptor(p,h).enumerable}))),y.forEach(function(h){I(m,h,p[h])})}return m}({},c),g=(g=I({},t,(0,l.toJS)(f)))!=null?g:{},Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(g)):function(m,b){var p=Object.keys(m);if(Object.getOwnPropertySymbols){var y=Object.getOwnPropertySymbols(m);p.push.apply(p,y)}return p}(Object(g)).forEach(function(m){Object.defineProperty(d,m,Object.getOwnPropertyDescriptor(g,m))}),c=d,a[u]=c}else a[t]=(0,l.toJS)(f)},S=[];if(Array.isArray(i)){if(e===void 0)throw Error("[mobx-miniprogram] no store specified");S=i.map(function(t){return(0,l.reaction)(function(){return e[t]},function(f){O(t,f)},{equals:s,fireImmediately:!0})})}else(i===void 0?"undefined":R(i))==="object"&&i&&(S=Object.keys(i).map(function(t){var f=i[t];if(typeof f=="function")return(0,l.reaction)(function(){return f.call(r,e)},function(d){O(t,d)},{equals:s,fireImmediately:!0});if(typeof t!="string"&&typeof t!="number")throw Error("[mobx-miniprogram] unrecognized field definition");if(e===void 0)throw Error("[mobx-miniprogram] no store specified");return(0,l.reaction)(function(){return e[f]},function(d){O(String(t),d)},{equals:s,fireImmediately:!0})}));return{updateStoreBindings:B,destroyStoreBindings:function(){S.forEach(function(t){return t()})}}}});var C=A(P=>{"use strict";Object.defineProperty(P,"__esModule",{value:!0}),Object.defineProperty(P,"behavior",{enumerable:!0,get:function(){return U}}),j();var v=w(),U=Behavior({definitionFilter:function(r){r.methods=r.methods||{};var n=r.storeBindings;r.storeBindings=void 0,n&&(r.methods._mobxMiniprogramBindings=function(){return n},Array.isArray(n)?n.forEach(function(e){(0,v.createActions)(r.methods,e)}):(0,v.createActions)(r.methods,n))},lifetimes:{attached:function(){var r=this;if(typeof r._mobxMiniprogramBindings=="function"){var n=r._mobxMiniprogramBindings();if(!n){r._mobxMiniprogramBindings=null;return}Array.isArray(n)?r._mobxMiniprogramBindings=n.map(function(e){var i=(0,v.createDataFieldsReactions)(r,e);return i.updateStoreBindings(),i}):(r._mobxMiniprogramBindings=(0,v.createDataFieldsReactions)(this,n),r._mobxMiniprogramBindings.updateStoreBindings())}},detached:function(){this._mobxMiniprogramBindings&&(Array.isArray(this._mobxMiniprogramBindings)?this._mobxMiniprogramBindings.forEach(function(r){r.destroyStoreBindings()}):this._mobxMiniprogramBindings.destroyStoreBindings())}},methods:{updateStoreBindings:function(){this._mobxMiniprogramBindings&&typeof this._mobxMiniprogramBindings!="function"&&(Array.isArray(this._mobxMiniprogramBindings)?this._mobxMiniprogramBindings.forEach(function(r){r.updateStoreBindings()}):this._mobxMiniprogramBindings.updateStoreBindings())}}})});Object.defineProperty(exports,"__esModule",{value:!0});var $=exports,z={BehaviorWithStore:function(){return H},ComponentWithStore:function(){return G},createStoreBindings:function(){return K},initStoreBindings:function(){return N},storeBindingsBehavior:function(){return L}};for(E in z)Object.defineProperty($,E,{enumerable:!0,get:z[E]});var E;j();var q=C(),D=w();function G(r){return Array.isArray(r.behaviors)||(r.behaviors=[]),r.behaviors.unshift(q.behavior),Component(r)}function H(r){return Array.isArray(r.behaviors)||(r.behaviors=[]),r.behaviors.unshift(q.behavior),Behavior(r)}var K=function(r,n){return(0,D.createActions)(r,n),(0,D.createDataFieldsReactions)(r,n)},L=q.behavior,N=function(r,n){var e,i=r.self,o=r.lifetime;return o("attached",function(){(e=(0,D.createDataFieldsReactions)(i,n)).updateStoreBindings()}),o("detached",function(){e.destroyStoreBindings()}),{updateStoreBindings:function(){e&&e.updateStoreBindings()}}};