UNPKG

@shined/reactive

Version:

⚛️ Proxy-driven state library for JavaScript application, Intuitive, Flexible and Written in TypeScript.

113 lines 4.32 kB
"use strict"; function _define_property(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _object_spread(target) { for(var i = 1; i < arguments.length; i++){ var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === "function") { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function(key) { _define_property(target, key, source[key]); }); } return target; } 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 _object_spread_props(target, source) { source = source != null ? source : {}; 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; } Object.defineProperty(exports, "__esModule", { value: true }); var _chunkVDKMANM7cjs = require('./chunk-VDKMANM7.cjs'); var _chunk7Y3UI2QQcjs = require('./chunk-7Y3UI2QQ.cjs'); // src/enhancers/react/with-use-derived.ts function withUseDerived(store) { var mapFn = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : function(s) { return s; }; var storeWithDerived = _chunk7Y3UI2QQcjs.withDerived.call(void 0, store, mapFn); return _object_spread_props(_object_spread({}, storeWithDerived), { useDerived: function() { var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; return _chunkVDKMANM7cjs.useSnapshot.call(void 0, store.mutate, mapFn, options); } }); } // src/react/use-reactive.ts var _react = require('react'); function useReactive(initialState) { var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; var store = useCreation(function() { return _chunkVDKMANM7cjs.createWithHooks.call(void 0, initialState); }, [ initialState ]); return [ store.useSnapshot(_object_spread({}, options)), store.mutate ]; } function useCreation(create, currDeps) { var _react_useRef_call = _react.useRef.call(void 0, {}), creation = _react_useRef_call.current; if (!creation.created || !_chunk7Y3UI2QQcjs.deepEqual.call(void 0, creation.preDeps, currDeps)) { creation.value = create(); creation.created = true; creation.preDeps = currDeps; } return creation.value; } exports.create = _chunkVDKMANM7cjs.createWithHooks; exports.createVanilla = _chunk7Y3UI2QQcjs.createVanilla; exports.devtools = _chunk7Y3UI2QQcjs.devtools; exports.getSnapshot = _chunk7Y3UI2QQcjs.getSnapshot; exports.produce = _chunk7Y3UI2QQcjs.produce; exports.ref = _chunk7Y3UI2QQcjs.ref; exports.setGlobalNotifyInSync = _chunk7Y3UI2QQcjs.setGlobalNotifyInSync; exports.snapshot = _chunk7Y3UI2QQcjs.snapshot; exports.subscribe = _chunk7Y3UI2QQcjs.subscribe; exports.useReactive = useReactive; exports.useSnapshot = _chunkVDKMANM7cjs.useSnapshot; exports.useSubscribe = _chunkVDKMANM7cjs.useSubscribe; exports.withDerived = _chunk7Y3UI2QQcjs.withDerived; exports.withSnapshot = _chunk7Y3UI2QQcjs.withSnapshot; exports.withSubscribe = _chunk7Y3UI2QQcjs.withSubscribe; exports.withUseDerived = withUseDerived; exports.withUseSnapshot = _chunkVDKMANM7cjs.withUseSnapshot; exports.withUseSubscribe = _chunkVDKMANM7cjs.withUseSubscribe; //# sourceMappingURL=index.cjs.map