This commit is contained in:
2024-01-18 10:56:09 +05:00
parent f38244ce06
commit cdfb720873
160 changed files with 9331 additions and 0 deletions
+68
View File
@@ -0,0 +1,68 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react'), require('zustand/traditional')) :
typeof define === 'function' && define.amd ? define(['react', 'zustand/traditional'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.zustandContext = factory(global.React, global.traditional));
})(this, (function (ReactExports, traditional) { 'use strict';
function _extends() {
_extends = Object.assign ? Object.assign.bind() : function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
return _extends.apply(this, arguments);
}
var createElement = ReactExports.createElement,
reactCreateContext = ReactExports.createContext,
useContext = ReactExports.useContext,
useMemo = ReactExports.useMemo,
useRef = ReactExports.useRef;
function createContext() {
{
console.warn("[DEPRECATED] `context` will be removed in a future version. Instead use `import { createStore, useStore } from 'zustand'`. See: https://github.com/pmndrs/zustand/discussions/1180.");
}
var ZustandContext = reactCreateContext(undefined);
var Provider = function Provider(_ref) {
var createStore = _ref.createStore,
children = _ref.children;
var storeRef = useRef();
if (!storeRef.current) {
storeRef.current = createStore();
}
return createElement(ZustandContext.Provider, {
value: storeRef.current
}, children);
};
var useContextStore = function useContextStore(selector, equalityFn) {
var store = useContext(ZustandContext);
if (!store) {
throw new Error('Seems like you have not used zustand provider as an ancestor.');
}
return traditional.useStoreWithEqualityFn(store, selector, equalityFn);
};
var useStoreApi = function useStoreApi() {
var store = useContext(ZustandContext);
if (!store) {
throw new Error('Seems like you have not used zustand provider as an ancestor.');
}
return useMemo(function () {
return _extends({}, store);
}, [store]);
};
return {
Provider: Provider,
useStore: useContextStore,
useStoreApi: useStoreApi
};
}
return createContext;
}));
+1
View File
@@ -0,0 +1 @@
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("react"),require("zustand/traditional")):"function"==typeof define&&define.amd?define(["react","zustand/traditional"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).zustandContext=t(e.React,e.traditional)}(this,(function(e,t){"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},r.apply(this,arguments)}var n=e.createElement,o=e.createContext,i=e.useContext,u=e.useMemo,a=e.useRef;return function(){var e=o(void 0);return{Provider:function(t){var r=t.createStore,o=t.children,i=a();return i.current||(i.current=r()),n(e.Provider,{value:i.current},o)},useStore:function(r,n){var o=i(e);if(!o)throw new Error("Seems like you have not used zustand provider as an ancestor.");return t.useStoreWithEqualityFn(o,r,n)},useStoreApi:function(){var t=i(e);if(!t)throw new Error("Seems like you have not used zustand provider as an ancestor.");return u((function(){return r({},t)}),[t])}}}}));
+55
View File
@@ -0,0 +1,55 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('zustand/vanilla'), require('react'), require('use-sync-external-store/shim/with-selector')) :
typeof define === 'function' && define.amd ? define(['exports', 'zustand/vanilla', 'react', 'use-sync-external-store/shim/with-selector'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.zustand = {}, global.zustandVanilla, global.React, global.useSyncExternalStoreShimWithSelector));
})(this, (function (exports, vanilla, ReactExports, useSyncExternalStoreExports) { 'use strict';
var useDebugValue = ReactExports.useDebugValue;
var useSyncExternalStoreWithSelector = useSyncExternalStoreExports.useSyncExternalStoreWithSelector;
var didWarnAboutEqualityFn = false;
function useStore(api, selector, equalityFn) {
if (selector === void 0) {
selector = api.getState;
}
if (equalityFn && !didWarnAboutEqualityFn) {
console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937");
didWarnAboutEqualityFn = true;
}
var slice = useSyncExternalStoreWithSelector(api.subscribe, api.getState, api.getServerState || api.getState, selector, equalityFn);
useDebugValue(slice);
return slice;
}
var createImpl = function createImpl(createState) {
if (typeof createState !== 'function') {
console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");
}
var api = typeof createState === 'function' ? vanilla.createStore(createState) : createState;
var useBoundStore = function useBoundStore(selector, equalityFn) {
return useStore(api, selector, equalityFn);
};
Object.assign(useBoundStore, api);
return useBoundStore;
};
var create = function create(createState) {
return createState ? createImpl(createState) : createImpl;
};
var react = (function (createState) {
{
console.warn("[DEPRECATED] Default export is deprecated. Instead use `import { create } from 'zustand'`.");
}
return create(createState);
});
exports.create = create;
exports.default = react;
exports.useStore = useStore;
Object.keys(vanilla).forEach(function (k) {
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
enumerable: true,
get: function () { return vanilla[k]; }
});
});
Object.defineProperty(exports, '__esModule', { value: true });
}));
+1
View File
@@ -0,0 +1 @@
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("zustand/vanilla"),require("react"),require("use-sync-external-store/shim/with-selector")):"function"==typeof define&&define.amd?define(["exports","zustand/vanilla","react","use-sync-external-store/shim/with-selector"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zustand={},e.zustandVanilla,e.React,e.useSyncExternalStoreShimWithSelector)}(this,(function(e,t,r,n){"use strict";var u=r.useDebugValue,o=n.useSyncExternalStoreWithSelector;function a(e,t,r){void 0===t&&(t=e.getState);var n=o(e.subscribe,e.getState,e.getServerState||e.getState,t,r);return u(n),n}var i=function(e){var r="function"==typeof e?t.createStore(e):e,n=function(e,t){return a(r,e,t)};return Object.assign(n,r),n},c=function(e){return e?i(e):i};e.create=c,e.default=function(e){return c(e)},e.useStore=a,Object.keys(t).forEach((function(r){"default"===r||Object.prototype.hasOwnProperty.call(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[r]}})})),Object.defineProperty(e,"__esModule",{value:!0})}));
+615
View File
@@ -0,0 +1,615 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.zustandMiddleware = {}));
})(this, (function (exports) { 'use strict';
function _extends() {
_extends = Object.assign ? Object.assign.bind() : function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
return target;
};
return _extends.apply(this, arguments);
}
function _objectWithoutPropertiesLoose(source, excluded) {
if (source == null) return {};
var target = {};
var sourceKeys = Object.keys(source);
var key, i;
for (i = 0; i < sourceKeys.length; i++) {
key = sourceKeys[i];
if (excluded.indexOf(key) >= 0) continue;
target[key] = source[key];
}
return target;
}
var reduxImpl = function reduxImpl(reducer, initial) {
return function (set, _get, api) {
api.dispatch = function (action) {
set(function (state) {
return reducer(state, action);
}, false, action);
return action;
};
api.dispatchFromDevtools = true;
return _extends({
dispatch: function dispatch() {
var _ref;
return (_ref = api).dispatch.apply(_ref, arguments);
}
}, initial);
};
};
var redux = reduxImpl;
var _excluded = ["enabled", "anonymousActionType", "store"],
_excluded2 = ["connection"];
var trackedConnections = new Map();
var getTrackedConnectionState = function getTrackedConnectionState(name) {
var api = trackedConnections.get(name);
if (!api) return {};
return Object.fromEntries(Object.entries(api.stores).map(function (_ref) {
var key = _ref[0],
api = _ref[1];
return [key, api.getState()];
}));
};
var extractConnectionInformation = function extractConnectionInformation(store, extensionConnector, options) {
if (store === undefined) {
return {
type: 'untracked',
connection: extensionConnector.connect(options)
};
}
var existingConnection = trackedConnections.get(options.name);
if (existingConnection) {
return _extends({
type: 'tracked',
store: store
}, existingConnection);
}
var newConnection = {
connection: extensionConnector.connect(options),
stores: {}
};
trackedConnections.set(options.name, newConnection);
return _extends({
type: 'tracked',
store: store
}, newConnection);
};
var devtoolsImpl = function devtoolsImpl(fn, devtoolsOptions) {
if (devtoolsOptions === void 0) {
devtoolsOptions = {};
}
return function (set, get, api) {
var _devtoolsOptions = devtoolsOptions,
enabled = _devtoolsOptions.enabled,
anonymousActionType = _devtoolsOptions.anonymousActionType,
store = _devtoolsOptions.store,
options = _objectWithoutPropertiesLoose(_devtoolsOptions, _excluded);
var extensionConnector;
try {
extensionConnector = (enabled != null ? enabled : "development" !== 'production') && window.__REDUX_DEVTOOLS_EXTENSION__;
} catch (e) {}
if (!extensionConnector) {
if (enabled) {
console.warn('[zustand devtools middleware] Please install/enable Redux devtools extension');
}
return fn(set, get, api);
}
var _extractConnectionInf = extractConnectionInformation(store, extensionConnector, options),
connection = _extractConnectionInf.connection,
connectionInformation = _objectWithoutPropertiesLoose(_extractConnectionInf, _excluded2);
var isRecording = true;
api.setState = function (state, replace, nameOrAction) {
var _extends2;
var r = set(state, replace);
if (!isRecording) return r;
var action = nameOrAction === undefined ? {
type: anonymousActionType || 'anonymous'
} : typeof nameOrAction === 'string' ? {
type: nameOrAction
} : nameOrAction;
if (store === undefined) {
connection == null || connection.send(action, get());
return r;
}
connection == null || connection.send(_extends({}, action, {
type: store + "/" + action.type
}), _extends({}, getTrackedConnectionState(options.name), (_extends2 = {}, _extends2[store] = api.getState(), _extends2)));
return r;
};
var setStateFromDevtools = function setStateFromDevtools() {
var originalIsRecording = isRecording;
isRecording = false;
set.apply(void 0, arguments);
isRecording = originalIsRecording;
};
var initialState = fn(api.setState, get, api);
if (connectionInformation.type === 'untracked') {
connection == null || connection.init(initialState);
} else {
connectionInformation.stores[connectionInformation.store] = api;
connection == null || connection.init(Object.fromEntries(Object.entries(connectionInformation.stores).map(function (_ref2) {
var key = _ref2[0],
store = _ref2[1];
return [key, key === connectionInformation.store ? initialState : store.getState()];
})));
}
if (api.dispatchFromDevtools && typeof api.dispatch === 'function') {
var didWarnAboutReservedActionType = false;
var originalDispatch = api.dispatch;
api.dispatch = function () {
for (var _len = arguments.length, a = new Array(_len), _key = 0; _key < _len; _key++) {
a[_key] = arguments[_key];
}
if (a[0].type === '__setState' && !didWarnAboutReservedActionType) {
console.warn('[zustand devtools middleware] "__setState" action type is reserved ' + 'to set state from the devtools. Avoid using it.');
didWarnAboutReservedActionType = true;
}
originalDispatch.apply(void 0, a);
};
}
connection.subscribe(function (message) {
switch (message.type) {
case 'ACTION':
if (typeof message.payload !== 'string') {
console.error('[zustand devtools middleware] Unsupported action format');
return;
}
return parseJsonThen(message.payload, function (action) {
if (action.type === '__setState') {
if (store === undefined) {
setStateFromDevtools(action.state);
return;
}
if (Object.keys(action.state).length !== 1) {
console.error("\n [zustand devtools middleware] Unsupported __setState action format. \n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n ");
}
var stateFromDevtools = action.state[store];
if (stateFromDevtools === undefined || stateFromDevtools === null) {
return;
}
if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {
setStateFromDevtools(stateFromDevtools);
}
return;
}
if (!api.dispatchFromDevtools) return;
if (typeof api.dispatch !== 'function') return;
api.dispatch(action);
});
case 'DISPATCH':
switch (message.payload.type) {
case 'RESET':
setStateFromDevtools(initialState);
if (store === undefined) {
return connection == null ? void 0 : connection.init(api.getState());
}
return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));
case 'COMMIT':
if (store === undefined) {
connection == null || connection.init(api.getState());
return;
}
return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));
case 'ROLLBACK':
return parseJsonThen(message.state, function (state) {
if (store === undefined) {
setStateFromDevtools(state);
connection == null || connection.init(api.getState());
return;
}
setStateFromDevtools(state[store]);
connection == null || connection.init(getTrackedConnectionState(options.name));
});
case 'JUMP_TO_STATE':
case 'JUMP_TO_ACTION':
return parseJsonThen(message.state, function (state) {
if (store === undefined) {
setStateFromDevtools(state);
return;
}
if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {
setStateFromDevtools(state[store]);
}
});
case 'IMPORT_STATE':
{
var _nextLiftedState$comp;
var nextLiftedState = message.payload.nextLiftedState;
var lastComputedState = (_nextLiftedState$comp = nextLiftedState.computedStates.slice(-1)[0]) == null ? void 0 : _nextLiftedState$comp.state;
if (!lastComputedState) return;
if (store === undefined) {
setStateFromDevtools(lastComputedState);
} else {
setStateFromDevtools(lastComputedState[store]);
}
connection == null || connection.send(null, nextLiftedState);
return;
}
case 'PAUSE_RECORDING':
return isRecording = !isRecording;
}
return;
}
});
return initialState;
};
};
var devtools = devtoolsImpl;
var parseJsonThen = function parseJsonThen(stringified, f) {
var parsed;
try {
parsed = JSON.parse(stringified);
} catch (e) {
console.error('[zustand devtools middleware] Could not parse the received json', e);
}
if (parsed !== undefined) f(parsed);
};
var subscribeWithSelectorImpl = function subscribeWithSelectorImpl(fn) {
return function (set, get, api) {
var origSubscribe = api.subscribe;
api.subscribe = function (selector, optListener, options) {
var listener = selector;
if (optListener) {
var equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;
var currentSlice = selector(api.getState());
listener = function listener(state) {
var nextSlice = selector(state);
if (!equalityFn(currentSlice, nextSlice)) {
var previousSlice = currentSlice;
optListener(currentSlice = nextSlice, previousSlice);
}
};
if (options != null && options.fireImmediately) {
optListener(currentSlice, currentSlice);
}
}
return origSubscribe(listener);
};
var initialState = fn(set, get, api);
return initialState;
};
};
var subscribeWithSelector = subscribeWithSelectorImpl;
var combine = function combine(initialState, create) {
return function () {
return Object.assign({}, initialState, create.apply(void 0, arguments));
};
};
function createJSONStorage(getStorage, options) {
var storage;
try {
storage = getStorage();
} catch (e) {
return;
}
var persistStorage = {
getItem: function getItem(name) {
var _getItem;
var parse = function parse(str) {
if (str === null) {
return null;
}
return JSON.parse(str, options == null ? void 0 : options.reviver);
};
var str = (_getItem = storage.getItem(name)) != null ? _getItem : null;
if (str instanceof Promise) {
return str.then(parse);
}
return parse(str);
},
setItem: function setItem(name, newValue) {
return storage.setItem(name, JSON.stringify(newValue, options == null ? void 0 : options.replacer));
},
removeItem: function removeItem(name) {
return storage.removeItem(name);
}
};
return persistStorage;
}
var toThenable = function toThenable(fn) {
return function (input) {
try {
var result = fn(input);
if (result instanceof Promise) {
return result;
}
return {
then: function then(onFulfilled) {
return toThenable(onFulfilled)(result);
},
catch: function _catch(_onRejected) {
return this;
}
};
} catch (e) {
return {
then: function then(_onFulfilled) {
return this;
},
catch: function _catch(onRejected) {
return toThenable(onRejected)(e);
}
};
}
};
};
var oldImpl = function oldImpl(config, baseOptions) {
return function (set, get, api) {
var options = _extends({
getStorage: function getStorage() {
return localStorage;
},
serialize: JSON.stringify,
deserialize: JSON.parse,
partialize: function partialize(state) {
return state;
},
version: 0,
merge: function merge(persistedState, currentState) {
return _extends({}, currentState, persistedState);
}
}, baseOptions);
var _hasHydrated = false;
var hydrationListeners = new Set();
var finishHydrationListeners = new Set();
var storage;
try {
storage = options.getStorage();
} catch (e) {}
if (!storage) {
return config(function () {
console.warn("[zustand persist middleware] Unable to update item '" + options.name + "', the given storage is currently unavailable.");
set.apply(void 0, arguments);
}, get, api);
}
var thenableSerialize = toThenable(options.serialize);
var setItem = function setItem() {
var state = options.partialize(_extends({}, get()));
var errorInSync;
var thenable = thenableSerialize({
state: state,
version: options.version
}).then(function (serializedValue) {
return storage.setItem(options.name, serializedValue);
}).catch(function (e) {
errorInSync = e;
});
if (errorInSync) {
throw errorInSync;
}
return thenable;
};
var savedSetState = api.setState;
api.setState = function (state, replace) {
savedSetState(state, replace);
void setItem();
};
var configResult = config(function () {
set.apply(void 0, arguments);
void setItem();
}, get, api);
var stateFromStorage;
var hydrate = function hydrate() {
if (!storage) return;
_hasHydrated = false;
hydrationListeners.forEach(function (cb) {
return cb(get());
});
var postRehydrationCallback = (options.onRehydrateStorage == null ? void 0 : options.onRehydrateStorage(get())) || undefined;
return toThenable(storage.getItem.bind(storage))(options.name).then(function (storageValue) {
if (storageValue) {
return options.deserialize(storageValue);
}
}).then(function (deserializedStorageValue) {
if (deserializedStorageValue) {
if (typeof deserializedStorageValue.version === 'number' && deserializedStorageValue.version !== options.version) {
if (options.migrate) {
return options.migrate(deserializedStorageValue.state, deserializedStorageValue.version);
}
console.error("State loaded from storage couldn't be migrated since no migrate function was provided");
} else {
return deserializedStorageValue.state;
}
}
}).then(function (migratedState) {
var _get;
stateFromStorage = options.merge(migratedState, (_get = get()) != null ? _get : configResult);
set(stateFromStorage, true);
return setItem();
}).then(function () {
postRehydrationCallback == null || postRehydrationCallback(stateFromStorage, undefined);
_hasHydrated = true;
finishHydrationListeners.forEach(function (cb) {
return cb(stateFromStorage);
});
}).catch(function (e) {
postRehydrationCallback == null || postRehydrationCallback(undefined, e);
});
};
api.persist = {
setOptions: function setOptions(newOptions) {
options = _extends({}, options, newOptions);
if (newOptions.getStorage) {
storage = newOptions.getStorage();
}
},
clearStorage: function clearStorage() {
var _storage;
(_storage = storage) == null || _storage.removeItem(options.name);
},
getOptions: function getOptions() {
return options;
},
rehydrate: function rehydrate() {
return hydrate();
},
hasHydrated: function hasHydrated() {
return _hasHydrated;
},
onHydrate: function onHydrate(cb) {
hydrationListeners.add(cb);
return function () {
hydrationListeners.delete(cb);
};
},
onFinishHydration: function onFinishHydration(cb) {
finishHydrationListeners.add(cb);
return function () {
finishHydrationListeners.delete(cb);
};
}
};
hydrate();
return stateFromStorage || configResult;
};
};
var newImpl = function newImpl(config, baseOptions) {
return function (set, get, api) {
var options = _extends({
storage: createJSONStorage(function () {
return localStorage;
}),
partialize: function partialize(state) {
return state;
},
version: 0,
merge: function merge(persistedState, currentState) {
return _extends({}, currentState, persistedState);
}
}, baseOptions);
var _hasHydrated2 = false;
var hydrationListeners = new Set();
var finishHydrationListeners = new Set();
var storage = options.storage;
if (!storage) {
return config(function () {
console.warn("[zustand persist middleware] Unable to update item '" + options.name + "', the given storage is currently unavailable.");
set.apply(void 0, arguments);
}, get, api);
}
var setItem = function setItem() {
var state = options.partialize(_extends({}, get()));
return storage.setItem(options.name, {
state: state,
version: options.version
});
};
var savedSetState = api.setState;
api.setState = function (state, replace) {
savedSetState(state, replace);
void setItem();
};
var configResult = config(function () {
set.apply(void 0, arguments);
void setItem();
}, get, api);
var stateFromStorage;
var hydrate = function hydrate() {
var _get3;
if (!storage) return;
_hasHydrated2 = false;
hydrationListeners.forEach(function (cb) {
var _get2;
return cb((_get2 = get()) != null ? _get2 : configResult);
});
var postRehydrationCallback = (options.onRehydrateStorage == null ? void 0 : options.onRehydrateStorage((_get3 = get()) != null ? _get3 : configResult)) || undefined;
return toThenable(storage.getItem.bind(storage))(options.name).then(function (deserializedStorageValue) {
if (deserializedStorageValue) {
if (typeof deserializedStorageValue.version === 'number' && deserializedStorageValue.version !== options.version) {
if (options.migrate) {
return options.migrate(deserializedStorageValue.state, deserializedStorageValue.version);
}
console.error("State loaded from storage couldn't be migrated since no migrate function was provided");
} else {
return deserializedStorageValue.state;
}
}
}).then(function (migratedState) {
var _get4;
stateFromStorage = options.merge(migratedState, (_get4 = get()) != null ? _get4 : configResult);
set(stateFromStorage, true);
return setItem();
}).then(function () {
postRehydrationCallback == null || postRehydrationCallback(stateFromStorage, undefined);
stateFromStorage = get();
_hasHydrated2 = true;
finishHydrationListeners.forEach(function (cb) {
return cb(stateFromStorage);
});
}).catch(function (e) {
postRehydrationCallback == null || postRehydrationCallback(undefined, e);
});
};
api.persist = {
setOptions: function setOptions(newOptions) {
options = _extends({}, options, newOptions);
if (newOptions.storage) {
storage = newOptions.storage;
}
},
clearStorage: function clearStorage() {
var _storage2;
(_storage2 = storage) == null || _storage2.removeItem(options.name);
},
getOptions: function getOptions() {
return options;
},
rehydrate: function rehydrate() {
return hydrate();
},
hasHydrated: function hasHydrated() {
return _hasHydrated2;
},
onHydrate: function onHydrate(cb) {
hydrationListeners.add(cb);
return function () {
hydrationListeners.delete(cb);
};
},
onFinishHydration: function onFinishHydration(cb) {
finishHydrationListeners.add(cb);
return function () {
finishHydrationListeners.delete(cb);
};
}
};
if (!options.skipHydration) {
hydrate();
}
return stateFromStorage || configResult;
};
};
var persistImpl = function persistImpl(config, baseOptions) {
if ('getStorage' in baseOptions || 'serialize' in baseOptions || 'deserialize' in baseOptions) {
{
console.warn('[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead.');
}
return oldImpl(config, baseOptions);
}
return newImpl(config, baseOptions);
};
var persist = persistImpl;
exports.combine = combine;
exports.createJSONStorage = createJSONStorage;
exports.devtools = devtools;
exports.persist = persist;
exports.redux = redux;
exports.subscribeWithSelector = subscribeWithSelector;
}));
File diff suppressed because one or more lines are too long
+23
View File
@@ -0,0 +1,23 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('immer')) :
typeof define === 'function' && define.amd ? define(['exports', 'immer'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.zustandMiddlewareImmer = {}, global.immer));
})(this, (function (exports, immer$1) { 'use strict';
var immerImpl = function immerImpl(initializer) {
return function (set, get, store) {
store.setState = function (updater, replace) {
var nextState = typeof updater === 'function' ? immer$1.produce(updater) : updater;
for (var _len = arguments.length, a = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
a[_key - 2] = arguments[_key];
}
return set.apply(void 0, [nextState, replace].concat(a));
};
return initializer(store.setState, get, store);
};
};
var immer = immerImpl;
exports.immer = immer;
}));
+1
View File
@@ -0,0 +1 @@
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("immer")):"function"==typeof define&&define.amd?define(["exports","immer"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zustandMiddlewareImmer={},e.immer)}(this,(function(e,t){"use strict";var n=function(e){return function(n,r,i){return i.setState=function(e,r){for(var i="function"==typeof e?t.produce(e):e,o=arguments.length,f=new Array(o>2?o-2:0),u=2;u<o;u++)f[u-2]=arguments[u];return n.apply(void 0,[i,r].concat(f))},e(i.setState,r,i)}};e.immer=n}));
+91
View File
@@ -0,0 +1,91 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :
typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.zustandReactShallow = {}, global.React));
})(this, (function (exports, ReactExports) { 'use strict';
function _unsupportedIterableToArray(o, minLen) {
if (!o) return;
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
var n = Object.prototype.toString.call(o).slice(8, -1);
if (n === "Object" && o.constructor) n = o.constructor.name;
if (n === "Map" || n === "Set") return Array.from(o);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
}
function _arrayLikeToArray(arr, len) {
if (len == null || len > arr.length) len = arr.length;
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
return arr2;
}
function _createForOfIteratorHelperLoose(o, allowArrayLike) {
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
if (it) return (it = it.call(o)).next.bind(it);
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
if (it) o = it;
var i = 0;
return function () {
if (i >= o.length) return {
done: true
};
return {
done: false,
value: o[i++]
};
};
}
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function shallow(objA, objB) {
if (Object.is(objA, objB)) {
return true;
}
if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
return false;
}
if (objA instanceof Map && objB instanceof Map) {
if (objA.size !== objB.size) return false;
for (var _iterator = _createForOfIteratorHelperLoose(objA), _step; !(_step = _iterator()).done;) {
var _step$value = _step.value,
key = _step$value[0],
value = _step$value[1];
if (!Object.is(value, objB.get(key))) {
return false;
}
}
return true;
}
if (objA instanceof Set && objB instanceof Set) {
if (objA.size !== objB.size) return false;
for (var _iterator2 = _createForOfIteratorHelperLoose(objA), _step2; !(_step2 = _iterator2()).done;) {
var _value = _step2.value;
if (!objB.has(_value)) {
return false;
}
}
return true;
}
var keysA = Object.keys(objA);
if (keysA.length !== Object.keys(objB).length) {
return false;
}
for (var i = 0; i < keysA.length; i++) {
if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) {
return false;
}
}
return true;
}
var useRef = ReactExports.useRef;
function useShallow(selector) {
var prev = useRef();
return function (state) {
var next = selector(state);
return shallow(prev.current, next) ? prev.current : prev.current = next;
};
}
exports.useShallow = useShallow;
}));
+1
View File
@@ -0,0 +1 @@
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zustandReactShallow={},e.React)}(this,(function(e,t){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function n(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o=t.useRef;e.useShallow=function(e){var t=o();return function(r){var o=e(r);return function(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(var r,o=n(e);!(r=o()).done;){var i=r.value,a=i[0],u=i[1];if(!Object.is(u,t.get(a)))return!1}return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(var f,c=n(e);!(f=c()).done;){var l=f.value;if(!t.has(l))return!1}return!0}var s=Object.keys(e);if(s.length!==Object.keys(t).length)return!1;for(var y=0;y<s.length;y++)if(!Object.prototype.hasOwnProperty.call(t,s[y])||!Object.is(e[s[y]],t[s[y]]))return!1;return!0}(t.current,o)?t.current:t.current=o}}}));
+92
View File
@@ -0,0 +1,92 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.zustandShallow = {}));
})(this, (function (exports) { 'use strict';
function _unsupportedIterableToArray(o, minLen) {
if (!o) return;
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
var n = Object.prototype.toString.call(o).slice(8, -1);
if (n === "Object" && o.constructor) n = o.constructor.name;
if (n === "Map" || n === "Set") return Array.from(o);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
}
function _arrayLikeToArray(arr, len) {
if (len == null || len > arr.length) len = arr.length;
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
return arr2;
}
function _createForOfIteratorHelperLoose(o, allowArrayLike) {
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
if (it) return (it = it.call(o)).next.bind(it);
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
if (it) o = it;
var i = 0;
return function () {
if (i >= o.length) return {
done: true
};
return {
done: false,
value: o[i++]
};
};
}
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function shallow$1(objA, objB) {
if (Object.is(objA, objB)) {
return true;
}
if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
return false;
}
if (objA instanceof Map && objB instanceof Map) {
if (objA.size !== objB.size) return false;
for (var _iterator = _createForOfIteratorHelperLoose(objA), _step; !(_step = _iterator()).done;) {
var _step$value = _step.value,
key = _step$value[0],
value = _step$value[1];
if (!Object.is(value, objB.get(key))) {
return false;
}
}
return true;
}
if (objA instanceof Set && objB instanceof Set) {
if (objA.size !== objB.size) return false;
for (var _iterator2 = _createForOfIteratorHelperLoose(objA), _step2; !(_step2 = _iterator2()).done;) {
var _value = _step2.value;
if (!objB.has(_value)) {
return false;
}
}
return true;
}
var keysA = Object.keys(objA);
if (keysA.length !== Object.keys(objB).length) {
return false;
}
for (var i = 0; i < keysA.length; i++) {
if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) {
return false;
}
}
return true;
}
var shallow = (function (objA, objB) {
{
console.warn("[DEPRECATED] Default export is deprecated. Instead use `import { shallow } from 'zustand/shallow'`.");
}
return shallow$1(objA, objB);
});
exports.default = shallow;
exports.shallow = shallow$1;
Object.defineProperty(exports, '__esModule', { value: true });
}));
+1
View File
@@ -0,0 +1 @@
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zustandShallow={})}(this,(function(e){"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function r(e,r){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,r){if(e){if("string"==typeof e)return t(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,r):void 0}}(e))||r&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function n(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(var n,o=r(e);!(n=o()).done;){var i=n.value,a=i[0],f=i[1];if(!Object.is(f,t.get(a)))return!1}return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(var u,l=r(e);!(u=l()).done;){var s=u.value;if(!t.has(s))return!1}return!0}var c=Object.keys(e);if(c.length!==Object.keys(t).length)return!1;for(var d=0;d<c.length;d++)if(!Object.prototype.hasOwnProperty.call(t,c[d])||!Object.is(e[c[d]],t[c[d]]))return!1;return!0}e.default=function(e,t){return n(e,t)},e.shallow=n,Object.defineProperty(e,"__esModule",{value:!0})}));
+35
View File
@@ -0,0 +1,35 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('use-sync-external-store/shim/with-selector'), require('zustand/vanilla')) :
typeof define === 'function' && define.amd ? define(['exports', 'react', 'use-sync-external-store/shim/with-selector', 'zustand/vanilla'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.zustandTraditional = {}, global.React, global.useSyncExternalStoreShimWithSelector, global.zustandVanilla));
})(this, (function (exports, ReactExports, useSyncExternalStoreExports, vanilla) { 'use strict';
var useDebugValue = ReactExports.useDebugValue;
var useSyncExternalStoreWithSelector = useSyncExternalStoreExports.useSyncExternalStoreWithSelector;
function useStoreWithEqualityFn(api, selector, equalityFn) {
if (selector === void 0) {
selector = api.getState;
}
var slice = useSyncExternalStoreWithSelector(api.subscribe, api.getState, api.getServerState || api.getState, selector, equalityFn);
useDebugValue(slice);
return slice;
}
var createWithEqualityFnImpl = function createWithEqualityFnImpl(createState, defaultEqualityFn) {
var api = vanilla.createStore(createState);
var useBoundStoreWithEqualityFn = function useBoundStoreWithEqualityFn(selector, equalityFn) {
if (equalityFn === void 0) {
equalityFn = defaultEqualityFn;
}
return useStoreWithEqualityFn(api, selector, equalityFn);
};
Object.assign(useBoundStoreWithEqualityFn, api);
return useBoundStoreWithEqualityFn;
};
var createWithEqualityFn = function createWithEqualityFn(createState, defaultEqualityFn) {
return createState ? createWithEqualityFnImpl(createState, defaultEqualityFn) : createWithEqualityFnImpl;
};
exports.createWithEqualityFn = createWithEqualityFn;
exports.useStoreWithEqualityFn = useStoreWithEqualityFn;
}));
+1
View File
@@ -0,0 +1 @@
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("use-sync-external-store/shim/with-selector"),require("zustand/vanilla")):"function"==typeof define&&define.amd?define(["exports","react","use-sync-external-store/shim/with-selector","zustand/vanilla"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zustandTraditional={},e.React,e.useSyncExternalStoreShimWithSelector,e.zustandVanilla)}(this,(function(e,t,n,r){"use strict";var i=t.useDebugValue,a=n.useSyncExternalStoreWithSelector;function u(e,t,n){void 0===t&&(t=e.getState);var r=a(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return i(r),r}var o=function(e,t){var n=r.createStore(e),i=function(e,r){return void 0===r&&(r=t),u(n,e,r)};return Object.assign(i,n),i};e.createWithEqualityFn=function(e,t){return e?o(e,t):o},e.useStoreWithEqualityFn=u}));
+59
View File
@@ -0,0 +1,59 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.zustandVanilla = {}));
})(this, (function (exports) { 'use strict';
var createStoreImpl = function createStoreImpl(createState) {
var state;
var listeners = new Set();
var setState = function setState(partial, replace) {
var nextState = typeof partial === 'function' ? partial(state) : partial;
if (!Object.is(nextState, state)) {
var _previousState = state;
state = (replace != null ? replace : typeof nextState !== 'object' || nextState === null) ? nextState : Object.assign({}, state, nextState);
listeners.forEach(function (listener) {
return listener(state, _previousState);
});
}
};
var getState = function getState() {
return state;
};
var subscribe = function subscribe(listener) {
listeners.add(listener);
return function () {
return listeners.delete(listener);
};
};
var destroy = function destroy() {
{
console.warn('[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected.');
}
listeners.clear();
};
var api = {
setState: setState,
getState: getState,
subscribe: subscribe,
destroy: destroy
};
state = createState(setState, getState, api);
return api;
};
var createStore = function createStore(createState) {
return createState ? createStoreImpl(createState) : createStoreImpl;
};
var vanilla = (function (createState) {
{
console.warn("[DEPRECATED] Default export is deprecated. Instead use import { createStore } from 'zustand/vanilla'.");
}
return createStore(createState);
});
exports.createStore = createStore;
exports.default = vanilla;
Object.defineProperty(exports, '__esModule', { value: true });
}));
+1
View File
@@ -0,0 +1 @@
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zustandVanilla={})}(this,(function(e){"use strict";var t=function(e){var t,n=new Set,o=function(e,o){var u="function"==typeof e?e(t):e;if(!Object.is(u,t)){var r=t;t=(null!=o?o:"object"!=typeof u||null===u)?u:Object.assign({},t,u),n.forEach((function(e){return e(t,r)}))}},u=function(){return t},r={setState:o,getState:u,subscribe:function(e){return n.add(e),function(){return n.delete(e)}},destroy:function(){n.clear()}};return t=e(o,u,r),r},n=function(e){return e?t(e):t};e.createStore=n,e.default=function(e){return n(e)},Object.defineProperty(e,"__esModule",{value:!0})}));
+82
View File
@@ -0,0 +1,82 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.zustandVanillaShallow = {}));
})(this, (function (exports) { 'use strict';
function _unsupportedIterableToArray(o, minLen) {
if (!o) return;
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
var n = Object.prototype.toString.call(o).slice(8, -1);
if (n === "Object" && o.constructor) n = o.constructor.name;
if (n === "Map" || n === "Set") return Array.from(o);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
}
function _arrayLikeToArray(arr, len) {
if (len == null || len > arr.length) len = arr.length;
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
return arr2;
}
function _createForOfIteratorHelperLoose(o, allowArrayLike) {
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
if (it) return (it = it.call(o)).next.bind(it);
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
if (it) o = it;
var i = 0;
return function () {
if (i >= o.length) return {
done: true
};
return {
done: false,
value: o[i++]
};
};
}
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function shallow(objA, objB) {
if (Object.is(objA, objB)) {
return true;
}
if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
return false;
}
if (objA instanceof Map && objB instanceof Map) {
if (objA.size !== objB.size) return false;
for (var _iterator = _createForOfIteratorHelperLoose(objA), _step; !(_step = _iterator()).done;) {
var _step$value = _step.value,
key = _step$value[0],
value = _step$value[1];
if (!Object.is(value, objB.get(key))) {
return false;
}
}
return true;
}
if (objA instanceof Set && objB instanceof Set) {
if (objA.size !== objB.size) return false;
for (var _iterator2 = _createForOfIteratorHelperLoose(objA), _step2; !(_step2 = _iterator2()).done;) {
var _value = _step2.value;
if (!objB.has(_value)) {
return false;
}
}
return true;
}
var keysA = Object.keys(objA);
if (keysA.length !== Object.keys(objB).length) {
return false;
}
for (var i = 0; i < keysA.length; i++) {
if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) {
return false;
}
}
return true;
}
exports.shallow = shallow;
}));
+1
View File
@@ -0,0 +1 @@
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zustandVanillaShallow={})}(this,(function(e){"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function r(e,r){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,r){if(e){if("string"==typeof e)return t(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,r):void 0}}(e))||r&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}e.shallow=function(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(var n,o=r(e);!(n=o()).done;){var i=n.value,a=i[0],f=i[1];if(!Object.is(f,t.get(a)))return!1}return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(var l,u=r(e);!(l=u()).done;){var s=l.value;if(!t.has(s))return!1}return!0}var c=Object.keys(e);if(c.length!==Object.keys(t).length)return!1;for(var y=0;y<c.length;y++)if(!Object.prototype.hasOwnProperty.call(t,c[y])||!Object.is(e[c[y]],t[c[y]]))return!1;return!0}}));