@devloops/react-native-variant
Version:
react-native material ui library
2 lines • 2.65 kB
JavaScript
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=require("react");function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return typeof key==="symbol"?key:String(key);}function _toPrimitive(input,hint){if(typeof input!=="object"||input===null)return input;var prim=input[typeof Symbol==="function"?Symbol.toPrimitive:"@@toPrimitive"];if(prim!==undefined){var res=prim.call(input,hint||"default");if(typeof res!=="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.");}return(hint==="string"?String:Number)(input);}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly)symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;});keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach(function(key){(0,_defineProperty2.default)(target,key,source[key]);});}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source));}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}}return target;}var useMap=function useMap(){var initialMap=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var _useState=(0,_react.useState)(initialMap),_useState2=(0,_slicedToArray2.default)(_useState,2),map=_useState2[0],_set=_useState2[1];var stableActions=(0,_react.useMemo)(function(){return{set:function set(key,entry){_set(function(prevMap){return _objectSpread({},prevMap,(0,_defineProperty2.default)({},key,entry));});},remove:function remove(key){_set(function(prevMap){var omit=prevMap[key],rest=(0,_objectWithoutProperties2.default)(prevMap,[key].map(_toPropertyKey));return rest;});},reset:function reset(){return _set(initialMap);}};},[_set]);var utils=_objectSpread({get:(0,_react.useCallback)(function(key){return map[key];},[map])},stableActions);return[map,utils];};var _default=useMap;exports.default=_default;
//# sourceMappingURL=useMap.js.map