Socket
Socket
Sign inDemoInstall

amos

Package Overview
Dependencies
7
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.2.3 to 0.2.4

32

dist/amos.cjs.js

@@ -104,3 +104,12 @@ 'use strict';

*/
/**
* Returns the first argument
* @param v
*/
var identity = function (v) { return v; };
/**
* Check two objects is shallow equal or not
* @param a
* @param b
*/
function shallowEqual(a, b) {

@@ -121,2 +130,8 @@ if (a === b) {

}
/**
* Copy properties from src function to dst function, and returns dst
*
* @param src
* @param dst
*/
function hoistMethod(src, dst) {

@@ -135,2 +150,3 @@ var _a;

var kAmosObject = typeof Symbol === 'function' ? Symbol('AMOS_OBJECT') : 'Symbol(AMOS_OBJECT)';
/** @internal */
function defineAmosObject(key, obj) {

@@ -142,8 +158,20 @@ if (!obj.hasOwnProperty(kAmosObject)) {

}
/**
* Check an object is an amos object or not
*
* @param key
* @param o
*/
function isAmosObject(key, o) {
return !!o && o[kAmosObject] === key;
}
/** @internal */
function strictEqual(a, b) {
return a === b;
}
/**
* Check two array is shallow equal or not
* @param a
* @param b
*/
function arrayEqual(a, b) {

@@ -160,2 +188,3 @@ if (a.length !== b.length) {

}
/** @internal */
var isArray = Array.isArray;

@@ -622,3 +651,3 @@

*/
var VERSION = '0.2.3';
var VERSION = '0.2.4';

@@ -630,2 +659,3 @@ exports.Box = Box;

exports.action = action;
exports.arrayEqual = arrayEqual;
exports.createStore = createStore;

@@ -632,0 +662,0 @@ exports.hoistMethod = hoistMethod;

@@ -96,3 +96,12 @@ import { __spread, __values, __read } from 'tslib';

*/
/**
* Returns the first argument
* @param v
*/
var identity = function (v) { return v; };
/**
* Check two objects is shallow equal or not
* @param a
* @param b
*/
function shallowEqual(a, b) {

@@ -113,2 +122,8 @@ if (a === b) {

}
/**
* Copy properties from src function to dst function, and returns dst
*
* @param src
* @param dst
*/
function hoistMethod(src, dst) {

@@ -127,2 +142,3 @@ var _a;

var kAmosObject = typeof Symbol === 'function' ? Symbol('AMOS_OBJECT') : 'Symbol(AMOS_OBJECT)';
/** @internal */
function defineAmosObject(key, obj) {

@@ -134,8 +150,20 @@ if (!obj.hasOwnProperty(kAmosObject)) {

}
/**
* Check an object is an amos object or not
*
* @param key
* @param o
*/
function isAmosObject(key, o) {
return !!o && o[kAmosObject] === key;
}
/** @internal */
function strictEqual(a, b) {
return a === b;
}
/**
* Check two array is shallow equal or not
* @param a
* @param b
*/
function arrayEqual(a, b) {

@@ -152,2 +180,3 @@ if (a.length !== b.length) {

}
/** @internal */
var isArray = Array.isArray;

@@ -614,5 +643,5 @@

*/
var VERSION = '0.2.3';
var VERSION = '0.2.4';
export { Box, Consumer, Provider, VERSION, action, createStore, hoistMethod, identity, isAmosObject, selector, shallowEqual, signal, useDispatch, useSelector, useStore };
export { Box, Consumer, Provider, VERSION, action, arrayEqual, createStore, hoistMethod, identity, isAmosObject, selector, shallowEqual, signal, useDispatch, useSelector, useStore };
//# sourceMappingURL=amos.es.js.map

2

dist/amos.umd.js

@@ -1,2 +0,2 @@

!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],e):e((r="undefined"!=typeof globalThis?globalThis:r||self).Amos={},r.React)}(this,(function(r,e){"use strict";function t(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}var n=t(e),o=function(){function r(r,e,t){this.key=r,this.initialState=e,this.preload=t,this.listeners={}}return r.prototype.subscribe=function(r,e){this.listeners["string"==typeof r?r:r.type]=e},r.prototype.mutation=function(r,e){var t=this;return function(){for(var n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return{object:"mutation",type:e,box:t,args:n,result:n[0],mutator:r}}},r}();function u(r){var e="function"==typeof Symbol&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&"number"==typeof r.length)return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function i(r,e){var t="function"==typeof Symbol&&r[Symbol.iterator];if(!t)return r;var n,o,u=t.call(r),i=[];try{for(;(void 0===e||e-- >0)&&!(n=u.next()).done;)i.push(n.value)}catch(r){o={error:r}}finally{try{n&&!n.done&&(t=u.return)&&t.call(u)}finally{if(o)throw o.error}}return i}function s(){for(var r=[],e=0;e<arguments.length;e++)r=r.concat(i(arguments[e]));return r}var a=function(r){return r};var c="function"==typeof Symbol?Symbol("AMOS_OBJECT"):"Symbol(AMOS_OBJECT)";function f(r,e){return e.hasOwnProperty(c)||Object.defineProperty(e,c,{value:r}),e}function l(r,e){return!!e&&e[c]===r}function p(r,e){return r===e}function y(r,e){if(r.length!==e.length)return!1;for(var t=0;t<r.length;t++)if(r[t]!==e[t])return!1;return!0}var d=Array.isArray;var v=e.createContext(null);function h(){var r=e.useContext(v);if(!r)throw new Error("[Amos] you are using hooks without <Provider />.");return r.store}var b={selectors:[],deps:[],snapshots:[],results:[]};function g(r,e){for(var t in r)if(r.hasOwnProperty(t)&&e.hasOwnProperty(t))return!0;return!1}function m(r,e,t,n){var o,u;if(!(null===(u=r.factory)||void 0===u?void 0:u.deps)||!t[n])return!0;var i=(o=r.factory).deps.apply(o,s([e.select],r.args)),a=y(t[n]||[],i);return t[n]=i,!a}function O(r,e,t){return r.factory?r.factory.compare(e,t):p(e,t)}function w(r,e,t,n,o){var u,i;if(!(r&&"function"==typeof r&&t&&r.args&&e.args))return!0;if(!(r===e||e.factory&&e.factory===r.factory))return!0;if(void 0===(null===(i=e.factory)||void 0===i?void 0:i.deps))return!y(r.args,e.args);var a=(u=e.factory).deps.apply(u,s([n.select],e.args));return!y(o||[],a)&&a}r.Box=o,r.Consumer=function(r){var e=r.children;return n.default.createElement(v.Consumer,null,(function(r){if(!r)throw new Error("[Amos] <Consumer /> should use inside <Provider />.");return e(r.store)}))},r.Provider=function(r){var t=r.store,o=r.children,u=i(e.useState({store:t}),2),s=u[0],a=u[1];return e.useEffect((function(){s.store!=s.store&&a({store:t})}),[t]),n.default.createElement(v.Provider,{value:s},o)},r.VERSION="0.2.3",r.action=function(r,e){return Object.assign((function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return{object:"action",type:e,args:t,actor:r}}),{type:e})},r.createStore=function(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];var n,o={},i=[],a=[],c=function(e){if(!o.hasOwnProperty(e.key)){var t=e.initialState;(null==r?void 0:r.hasOwnProperty(e.key))&&(t=e.preload(r[e.key],t)),o[e.key]=t,i.push(e)}},l=0,p={},y=function(r,e){(e!==o[r]||p.hasOwnProperty(r))&&(p[r]=e,o[r]=e)},v=function(r){var e,t;switch(r.object){case"action":return r.actor.apply(r,s([h.dispatch,h.select],r.args));case"mutation":return c(r.box),y(r.box.key,r.mutator.apply(r,s([o[r.box.key]],r.args))),r.result;case"signal":try{for(var n=u(i),a=n.next();!a.done;a=n.next()){var f=a.value,l=f.listeners[r.type];l&&y(f.key,l(o[f.key],r.data))}}catch(r){e={error:r}}finally{try{a&&!a.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return r.data}},h={snapshot:function(){return o},subscribe:function(r){return a.push(r),function(){var e=a.indexOf(r);e>-1&&a.splice(e,1)}},dispatch:f("store.dispatch",(function(r){1==++l&&(p={});try{return d(r)?r.map(v):v(r)}finally{0==--l&&Object.keys(p).length>0&&a.forEach((function(r){return r(p)}))}})),select:f("store.select",(function(r,e){if("function"!=typeof r)return c(r),n&&(n[r.key]=o[r.key]),o[r.key];if(!e)return r(h.select);if(n)throw new Error("[Amos] recursive snapshot collection is not supported.");n=e;try{return r(h.select)}finally{n=void 0}}))};return h=e.reduce((function(r,e){return e(r)}),h),"object"==typeof process&&"development"===process.env.NODE_ENV&&Object.freeze(h),h},r.hoistMethod=function(r,e){var t,n=function(t){e.hasOwnProperty(t)||Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))};return Object.getOwnPropertyNames(r).forEach(n),null===(t=Object.getOwnPropertySymbols)||void 0===t||t.call(Object,r).forEach(n),e},r.identity=a,r.isAmosObject=l,r.selector=function(r,e,t,n){void 0===t&&(t=p);var o=Object.assign((function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=e[0];if(l("store.select",n))return r.apply(void 0,s(e));var u=function(t){return r.apply(void 0,s([t],e))};return u.factory=o,u.args=e,u}),{deps:e,compare:t,type:n});return o},r.shallowEqual=function(r,e){if(r===e)return!0;var t=Object.keys(r);if(t.length!==Object.keys(e).length)return!1;for(var n=0;n<t.length;n++)if(!e.hasOwnProperty(t[n])||r[t[n]]!==e[t[n]])return!1;return!0},r.signal=function(r,e){return void 0===e&&(e=a),Object.assign((function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return{object:"signal",type:r,data:e.apply(void 0,s(t))}}),{type:r})},r.useDispatch=function(){return h().dispatch},r.useSelector=function(){for(var r,t,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];var u,s=i(e.useReducer((function(r){return r+1}),0),2),a=s[1],c=h(),f=e.useRef(b),l=e.useRef();if((null===(r=l.current)||void 0===r?void 0:r.store)!==c&&(f.current=b,null===(t=l.current)||void 0===t||t.disposer(),l.current={store:c,updated:!1,error:void 0,disposer:c.subscribe((function(r){var e,t=0,n=f.current,o=n.selectors,u=n.snapshots,i=n.results,s=n.deps,p=o.length;try{for(;t<p;t++){var y=o[t],d=u[t];if("function"==typeof y){if((!d||g(d,r))&&m(y,c,s,t)){var v={},h=c.select(y,v);(e=l.current).updated||(e.updated=!O(y,i[t],h)),u[t]=v,i[t]=h}}else if(r.hasOwnProperty(y.key)){var b=c.select(y);l.current.updated=b!==i[t],i[t]=b}}l.current.updated&&a()}catch(r){u.length=i.length=t-1,l.current.error="object"==typeof r&&r?Object.assign(r,{message:"[Amos] selector throws error: "+r.message}):new Error("[Amos] selector throws falsy error: "+r),a()}}))}),e.useEffect((function(){return function(){var r;return null===(r=l.current)||void 0===r?void 0:r.disposer()}}),[]),l.current.error){var p=l.current.error;throw l.current.error=void 0,p}if(l.current.updated)l.current.updated=!1,u=f.current.results;else{f.current===b&&(f.current={selectors:[],deps:[],snapshots:[],results:[]});for(var y=f.current,d=y.selectors,v=y.deps,j=y.snapshots,P=y.results,k=0;k<n.length;k++){var E=d[k],S=n[k];if("object"==typeof S)P[k]=c.select(S),d[k]=S;else{var x=w(E,S,j[k],c,v[k]);if(x){j[k]=void 0;var A={};P[k]=c.select(S,A),v[k]=!0===x?void 0:x,j[k]=A,d[k]=S}}}P.length=n.length,u=P}return e.useDebugValue(u,(function(r){return r.reduce((function(r,e,t){var o,u,i,s=n[t],a="function"==typeof s?null!==(i=null!==(o=s.type)&&void 0!==o?o:null===(u=s.factory)||void 0===u?void 0:u.type)&&void 0!==i?i:s.name:s.key;return r.hasOwnProperty(a)&&(a=a+"_"+t),r[a]=e,r}),{})})),u},r.useStore=h,Object.defineProperty(r,"__esModule",{value:!0})}));
!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],e):e((r="undefined"!=typeof globalThis?globalThis:r||self).Amos={},r.React)}(this,(function(r,e){"use strict";function t(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}var n=t(e),o=function(){function r(r,e,t){this.key=r,this.initialState=e,this.preload=t,this.listeners={}}return r.prototype.subscribe=function(r,e){this.listeners["string"==typeof r?r:r.type]=e},r.prototype.mutation=function(r,e){var t=this;return function(){for(var n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return{object:"mutation",type:e,box:t,args:n,result:n[0],mutator:r}}},r}();function u(r){var e="function"==typeof Symbol&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&"number"==typeof r.length)return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function i(r,e){var t="function"==typeof Symbol&&r[Symbol.iterator];if(!t)return r;var n,o,u=t.call(r),i=[];try{for(;(void 0===e||e-- >0)&&!(n=u.next()).done;)i.push(n.value)}catch(r){o={error:r}}finally{try{n&&!n.done&&(t=u.return)&&t.call(u)}finally{if(o)throw o.error}}return i}function s(){for(var r=[],e=0;e<arguments.length;e++)r=r.concat(i(arguments[e]));return r}var a=function(r){return r};var c="function"==typeof Symbol?Symbol("AMOS_OBJECT"):"Symbol(AMOS_OBJECT)";function f(r,e){return e.hasOwnProperty(c)||Object.defineProperty(e,c,{value:r}),e}function l(r,e){return!!e&&e[c]===r}function p(r,e){return r===e}function y(r,e){if(r.length!==e.length)return!1;for(var t=0;t<r.length;t++)if(r[t]!==e[t])return!1;return!0}var d=Array.isArray;var v=e.createContext(null);function h(){var r=e.useContext(v);if(!r)throw new Error("[Amos] you are using hooks without <Provider />.");return r.store}var b={selectors:[],deps:[],snapshots:[],results:[]};function g(r,e){for(var t in r)if(r.hasOwnProperty(t)&&e.hasOwnProperty(t))return!0;return!1}function m(r,e,t,n){var o,u;if(!(null===(u=r.factory)||void 0===u?void 0:u.deps)||!t[n])return!0;var i=(o=r.factory).deps.apply(o,s([e.select],r.args)),a=y(t[n]||[],i);return t[n]=i,!a}function O(r,e,t){return r.factory?r.factory.compare(e,t):p(e,t)}function w(r,e,t,n,o){var u,i;if(!(r&&"function"==typeof r&&t&&r.args&&e.args))return!0;if(!(r===e||e.factory&&e.factory===r.factory))return!0;if(void 0===(null===(i=e.factory)||void 0===i?void 0:i.deps))return!y(r.args,e.args);var a=(u=e.factory).deps.apply(u,s([n.select],e.args));return!y(o||[],a)&&a}r.Box=o,r.Consumer=function(r){var e=r.children;return n.default.createElement(v.Consumer,null,(function(r){if(!r)throw new Error("[Amos] <Consumer /> should use inside <Provider />.");return e(r.store)}))},r.Provider=function(r){var t=r.store,o=r.children,u=i(e.useState({store:t}),2),s=u[0],a=u[1];return e.useEffect((function(){s.store!=s.store&&a({store:t})}),[t]),n.default.createElement(v.Provider,{value:s},o)},r.VERSION="0.2.4",r.action=function(r,e){return Object.assign((function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return{object:"action",type:e,args:t,actor:r}}),{type:e})},r.arrayEqual=y,r.createStore=function(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];var n,o={},i=[],a=[],c=function(e){if(!o.hasOwnProperty(e.key)){var t=e.initialState;(null==r?void 0:r.hasOwnProperty(e.key))&&(t=e.preload(r[e.key],t)),o[e.key]=t,i.push(e)}},l=0,p={},y=function(r,e){(e!==o[r]||p.hasOwnProperty(r))&&(p[r]=e,o[r]=e)},v=function(r){var e,t;switch(r.object){case"action":return r.actor.apply(r,s([h.dispatch,h.select],r.args));case"mutation":return c(r.box),y(r.box.key,r.mutator.apply(r,s([o[r.box.key]],r.args))),r.result;case"signal":try{for(var n=u(i),a=n.next();!a.done;a=n.next()){var f=a.value,l=f.listeners[r.type];l&&y(f.key,l(o[f.key],r.data))}}catch(r){e={error:r}}finally{try{a&&!a.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return r.data}},h={snapshot:function(){return o},subscribe:function(r){return a.push(r),function(){var e=a.indexOf(r);e>-1&&a.splice(e,1)}},dispatch:f("store.dispatch",(function(r){1==++l&&(p={});try{return d(r)?r.map(v):v(r)}finally{0==--l&&Object.keys(p).length>0&&a.forEach((function(r){return r(p)}))}})),select:f("store.select",(function(r,e){if("function"!=typeof r)return c(r),n&&(n[r.key]=o[r.key]),o[r.key];if(!e)return r(h.select);if(n)throw new Error("[Amos] recursive snapshot collection is not supported.");n=e;try{return r(h.select)}finally{n=void 0}}))};return h=e.reduce((function(r,e){return e(r)}),h),"object"==typeof process&&"development"===process.env.NODE_ENV&&Object.freeze(h),h},r.hoistMethod=function(r,e){var t,n=function(t){e.hasOwnProperty(t)||Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))};return Object.getOwnPropertyNames(r).forEach(n),null===(t=Object.getOwnPropertySymbols)||void 0===t||t.call(Object,r).forEach(n),e},r.identity=a,r.isAmosObject=l,r.selector=function(r,e,t,n){void 0===t&&(t=p);var o=Object.assign((function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=e[0];if(l("store.select",n))return r.apply(void 0,s(e));var u=function(t){return r.apply(void 0,s([t],e))};return u.factory=o,u.args=e,u}),{deps:e,compare:t,type:n});return o},r.shallowEqual=function(r,e){if(r===e)return!0;var t=Object.keys(r);if(t.length!==Object.keys(e).length)return!1;for(var n=0;n<t.length;n++)if(!e.hasOwnProperty(t[n])||r[t[n]]!==e[t[n]])return!1;return!0},r.signal=function(r,e){return void 0===e&&(e=a),Object.assign((function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return{object:"signal",type:r,data:e.apply(void 0,s(t))}}),{type:r})},r.useDispatch=function(){return h().dispatch},r.useSelector=function(){for(var r,t,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];var u,s=i(e.useReducer((function(r){return r+1}),0),2),a=s[1],c=h(),f=e.useRef(b),l=e.useRef();if((null===(r=l.current)||void 0===r?void 0:r.store)!==c&&(f.current=b,null===(t=l.current)||void 0===t||t.disposer(),l.current={store:c,updated:!1,error:void 0,disposer:c.subscribe((function(r){var e,t=0,n=f.current,o=n.selectors,u=n.snapshots,i=n.results,s=n.deps,p=o.length;try{for(;t<p;t++){var y=o[t],d=u[t];if("function"==typeof y){if((!d||g(d,r))&&m(y,c,s,t)){var v={},h=c.select(y,v);(e=l.current).updated||(e.updated=!O(y,i[t],h)),u[t]=v,i[t]=h}}else if(r.hasOwnProperty(y.key)){var b=c.select(y);l.current.updated=b!==i[t],i[t]=b}}l.current.updated&&a()}catch(r){u.length=i.length=t-1,l.current.error="object"==typeof r&&r?Object.assign(r,{message:"[Amos] selector throws error: "+r.message}):new Error("[Amos] selector throws falsy error: "+r),a()}}))}),e.useEffect((function(){return function(){var r;return null===(r=l.current)||void 0===r?void 0:r.disposer()}}),[]),l.current.error){var p=l.current.error;throw l.current.error=void 0,p}if(l.current.updated)l.current.updated=!1,u=f.current.results;else{f.current===b&&(f.current={selectors:[],deps:[],snapshots:[],results:[]});for(var y=f.current,d=y.selectors,v=y.deps,j=y.snapshots,P=y.results,E=0;E<n.length;E++){var k=d[E],S=n[E];if("object"==typeof S)P[E]=c.select(S),d[E]=S;else{var x=w(k,S,j[E],c,v[E]);if(x){j[E]=void 0;var A={};P[E]=c.select(S,A),v[E]=!0===x?void 0:x,j[E]=A,d[E]=S}}}P.length=n.length,u=P}return e.useDebugValue(u,(function(r){return r.reduce((function(r,e,t){var o,u,i,s=n[t],a="function"==typeof s?null!==(i=null!==(o=s.type)&&void 0!==o?o:null===(u=s.factory)||void 0===u?void 0:u.type)&&void 0!==i?i:s.name:s.key;return r.hasOwnProperty(a)&&(a=a+"_"+t),r[a]=e,r}),{})})),u},r.useStore=h,Object.defineProperty(r,"__esModule",{value:!0})}));
//# sourceMappingURL=amos.umd.js.map

@@ -8,3 +8,3 @@ export { JSONState, Mutation, Box } from './box';

export { useStore, useDispatch, MapSelector, useSelector } from './hooks';
export { identity, shallowEqual, isAmosObject, hoistMethod } from './utils';
export declare const VERSION = "__VERSION__";
export { identity, shallowEqual, isAmosObject, hoistMethod, arrayEqual } from './utils';
export declare const VERSION: string;

@@ -0,13 +1,38 @@

/**
* Returns the first argument
* @param v
*/
export declare const identity: <T>(v: T) => T;
/**
* Check two objects is shallow equal or not
* @param a
* @param b
*/
export declare function shallowEqual<T extends object>(a: T, b: T): boolean;
/**
* Copy properties from src function to dst function, and returns dst
*
* @param src
* @param dst
*/
export declare function hoistMethod<M extends (...args: any[]) => any>(src: M, dst: (...args: Parameters<M>) => ReturnType<M>): M;
export declare const kAmosObject: unique symbol;
/**
* A symbol indicates the object is a amos' object.
*/
export interface AmosObject<K extends string> {
[kAmosObject]: K;
}
export declare function defineAmosObject<K extends string, T extends object>(key: K, obj: T): T & AmosObject<K>;
/**
* Check an object is an amos object or not
*
* @param key
* @param o
*/
export declare function isAmosObject<T extends AmosObject<any>>(key: T[typeof kAmosObject], o: any): o is T;
export declare function strictEqual<T>(a: T, b: T): boolean;
export declare function arrayEqual<T>(a: T[], b: T[]): boolean;
export declare function values<T extends object>(o: T): T[keyof T][];
export declare const isArray: (args: any) => args is any[] | readonly any[];
/**
* Check two array is shallow equal or not
* @param a
* @param b
*/
export declare function arrayEqual<T extends ArrayLike<any>>(a: T, b: T): boolean;
{
"name": "amos",
"version": "0.2.3",
"version": "0.2.4",
"description": "A decentralized state manager for react",

@@ -5,0 +5,0 @@ "keywords": [

@@ -9,2 +9,3 @@ /*

action,
arrayEqual,
Box,

@@ -45,2 +46,3 @@ Consumer,

isAmosObject,
arrayEqual,
VERSION,

@@ -47,0 +49,0 @@ });

@@ -22,4 +22,4 @@ /*

export { useStore, useDispatch, MapSelector, useSelector } from './hooks';
export { identity, shallowEqual, isAmosObject, hoistMethod } from './utils';
export { identity, shallowEqual, isAmosObject, hoistMethod, arrayEqual } from './utils';
export const VERSION = '__VERSION__';
export const VERSION: string = '__VERSION__';

@@ -67,2 +67,8 @@ /*

expect(arrayEqual([1, 2, {}], [1, 2, {}])).toBe(false);
function testArgs() {
expect(arrayEqual(arguments, arguments)).toBe(true);
}
testArgs();
});

@@ -69,0 +75,0 @@

@@ -6,4 +6,13 @@ /*

/**
* Returns the first argument
* @param v
*/
export const identity = <T>(v: T) => v;
/**
* Check two objects is shallow equal or not
* @param a
* @param b
*/
export function shallowEqual<T extends object>(a: T, b: T): boolean {

@@ -25,2 +34,8 @@ if (a === b) {

/**
* Copy properties from src function to dst function, and returns dst
*
* @param src
* @param dst
*/
export function hoistMethod<M extends (...args: any[]) => any>(

@@ -44,2 +59,5 @@ src: M,

/**
* A symbol indicates the object is a amos' object.
*/
export interface AmosObject<K extends string> {

@@ -49,2 +67,3 @@ [kAmosObject]: K;

/** @internal */
export function defineAmosObject<K extends string, T extends object>(

@@ -60,2 +79,8 @@ key: K,

/**
* Check an object is an amos object or not
*
* @param key
* @param o
*/
export function isAmosObject<T extends AmosObject<any>>(

@@ -68,2 +93,3 @@ key: T[typeof kAmosObject],

/** @internal */
export function strictEqual<T>(a: T, b: T) {

@@ -73,3 +99,8 @@ return a === b;

export function arrayEqual<T>(a: T[], b: T[]) {
/**
* Check two array is shallow equal or not
* @param a
* @param b
*/
export function arrayEqual<T extends ArrayLike<any>>(a: T, b: T) {
if (a.length !== b.length) {

@@ -86,2 +117,3 @@ return false;

/** @internal */
export function values<T extends object>(o: T): T[keyof T][] {

@@ -91,2 +123,3 @@ return Object.keys(o).map((k) => o[k as keyof T]);

/** @internal */
export const isArray: (args: any) => args is any[] | readonly any[] = Array.isArray;

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc