UNPKG

micro-message

Version:

global data store of micro front-end / multi app

7 lines (6 loc) 3.08 kB
/*! * micro-message v1.2.15 * (c) 2020-2023 fz6m && qiutian00 * Released under the MIT License. */ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("lodash/get"),n=require("lodash/set"),e=require("lodash/isEqual");function r(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var o=r(t),u=r(n),a=r(e),c="_$store",i="__$$",f="__subscribe__",l="__value_subscribe__",d=[f,l],s="_$all";o.default(window,c)||u.default(window,c,{});var p=function(t){return"function"==typeof t},v=function(t){return~d.indexOf(t)},h=function(t){var n=v(t);return"".concat(n?i:"_$").concat(t)},y=function(t,n){var e=v(t);return"".concat(e?i:"_$").concat(t,".").concat(n)},_=function(){return _=Object.assign||function(t){for(var n,e=1,r=arguments.length;e<r;e++)for(var o in n=arguments[e])Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o]);return t},_.apply(this,arguments)};function g(t,n,e){if(e||2===arguments.length)for(var r,o=0,u=n.length;o<u;o++)!r&&o in n||(r||(r=Array.prototype.slice.call(n,0,o)),r[o]=n[o]);return t.concat(r||Array.prototype.slice.call(n))}var $=function(t,n){return m(t,n)||[]},w=function(t,n,e){var r=$(t,e);if(!~r.indexOf(n)){var o=g(g([],r,!0),[n],!1);k(t,o,e)}},S=function(t,n){for(var e=[],r=2;r<arguments.length;r++)e[r-2]=arguments[r];var o=$(t,n);o.forEach((function(t){try{t.apply(void 0,e)}catch(t){}}))},b=function(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];var r=$(s,t);r.forEach((function(t){try{t.apply(void 0,n)}catch(t){}}))},x=function(t){return{get:function(n){return $(n,t)},add:function(n,e){return w(n,e,t)},addToAll:function(n){return function(t,n){w(s,t,n)}(n,t)},destory:function(n){return function(t,n){k(t,[],n)}(n,t)},delete:function(n,e){return function(t,n,e){var r=$(t,e),o=r.indexOf(n);return!!~o&&(r.splice(o,1),k(t,r,e),!0)}(n,e,t)},dispatch:function(n){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return S.apply(void 0,g([n,t],e,!1))},dispatchAll:function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return b.apply(void 0,g([t],n,!1))}}},O=x(l),A=function(t){var n=t.key,e=t.newValue,r=t.oldValue,o=t.newStoreValue,u=function(t){return d.some((function(n){return t.startsWith(h(n))}))}(n);u||a.default(r,e)||(O.dispatchAll(o),O.dispatch(n,e,r))};var V={$on:function(t,n){!p(t)||n?"string"==typeof t&&p(n)&&O.add(t,n):O.addToAll(t)},$destory:O.destory,$delete:O.delete},j=function(){return o.default(window,c)||{}},q=function(){return function(t){var n=_({},t);return d.forEach((function(t){delete n[h(t)]})),n}(j())},E=function(t){var n=j();return o.default(n,t)},W=function(t,n){var e=E(t),r=j();u.default(r,t,n),A({key:t,newValue:n,oldValue:e,newStoreValue:q()})},k=function(t,n,e){var r=y(e,t);W(r,n)},m=function(t,n){var e=y(n,t);return E(e)},P={getStore:q,get:E,set:W,getWithScope:m,setWithScope:k,getScope:function(t){var n=h(t);return E(n)||{}},setScope:function(t,n){var e=h(n);W(e,t)}},T=x(f),B={$on:T.add,$off:T.destory,$emit:function(t,n){T.dispatch(t,n)},$delete:T.delete};exports.Store=P,exports.StoreBus=B,exports.StoreChange=V;