Add settings page for managing forecasting API key and URL via UI
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
cae411eae7
commit
1c411e402e
19809 changed files with 1962608 additions and 97 deletions
6
frontend/node_modules/@reduxjs/toolkit/dist/cjs/index.js
generated
vendored
Normal file
6
frontend/node_modules/@reduxjs/toolkit/dist/cjs/index.js
generated
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
'use strict'
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
module.exports = require('./redux-toolkit.production.min.cjs')
|
||||
} else {
|
||||
module.exports = require('./redux-toolkit.development.cjs')
|
||||
}
|
||||
2406
frontend/node_modules/@reduxjs/toolkit/dist/cjs/redux-toolkit.development.cjs
generated
vendored
Normal file
2406
frontend/node_modules/@reduxjs/toolkit/dist/cjs/redux-toolkit.development.cjs
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
1
frontend/node_modules/@reduxjs/toolkit/dist/cjs/redux-toolkit.development.cjs.map
generated
vendored
Normal file
1
frontend/node_modules/@reduxjs/toolkit/dist/cjs/redux-toolkit.development.cjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
3
frontend/node_modules/@reduxjs/toolkit/dist/cjs/redux-toolkit.production.min.cjs
generated
vendored
Normal file
3
frontend/node_modules/@reduxjs/toolkit/dist/cjs/redux-toolkit.production.min.cjs
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
frontend/node_modules/@reduxjs/toolkit/dist/cjs/redux-toolkit.production.min.cjs.map
generated
vendored
Normal file
1
frontend/node_modules/@reduxjs/toolkit/dist/cjs/redux-toolkit.production.min.cjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
2665
frontend/node_modules/@reduxjs/toolkit/dist/index.d.mts
generated
vendored
Normal file
2665
frontend/node_modules/@reduxjs/toolkit/dist/index.d.mts
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
2665
frontend/node_modules/@reduxjs/toolkit/dist/index.d.ts
generated
vendored
Normal file
2665
frontend/node_modules/@reduxjs/toolkit/dist/index.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
6
frontend/node_modules/@reduxjs/toolkit/dist/query/cjs/index.js
generated
vendored
Normal file
6
frontend/node_modules/@reduxjs/toolkit/dist/query/cjs/index.js
generated
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
'use strict'
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
module.exports = require('./rtk-query.production.min.cjs')
|
||||
} else {
|
||||
module.exports = require('./rtk-query.development.cjs')
|
||||
}
|
||||
3092
frontend/node_modules/@reduxjs/toolkit/dist/query/cjs/rtk-query.development.cjs
generated
vendored
Normal file
3092
frontend/node_modules/@reduxjs/toolkit/dist/query/cjs/rtk-query.development.cjs
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
1
frontend/node_modules/@reduxjs/toolkit/dist/query/cjs/rtk-query.development.cjs.map
generated
vendored
Normal file
1
frontend/node_modules/@reduxjs/toolkit/dist/query/cjs/rtk-query.development.cjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
2
frontend/node_modules/@reduxjs/toolkit/dist/query/cjs/rtk-query.production.min.cjs
generated
vendored
Normal file
2
frontend/node_modules/@reduxjs/toolkit/dist/query/cjs/rtk-query.production.min.cjs
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
frontend/node_modules/@reduxjs/toolkit/dist/query/cjs/rtk-query.production.min.cjs.map
generated
vendored
Normal file
1
frontend/node_modules/@reduxjs/toolkit/dist/query/cjs/rtk-query.production.min.cjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
3066
frontend/node_modules/@reduxjs/toolkit/dist/query/index.d.mts
generated
vendored
Normal file
3066
frontend/node_modules/@reduxjs/toolkit/dist/query/index.d.mts
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
3066
frontend/node_modules/@reduxjs/toolkit/dist/query/index.d.ts
generated
vendored
Normal file
3066
frontend/node_modules/@reduxjs/toolkit/dist/query/index.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
6
frontend/node_modules/@reduxjs/toolkit/dist/query/react/cjs/index.js
generated
vendored
Normal file
6
frontend/node_modules/@reduxjs/toolkit/dist/query/react/cjs/index.js
generated
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
'use strict'
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
module.exports = require('./rtk-query-react.production.min.cjs')
|
||||
} else {
|
||||
module.exports = require('./rtk-query-react.development.cjs')
|
||||
}
|
||||
748
frontend/node_modules/@reduxjs/toolkit/dist/query/react/cjs/rtk-query-react.development.cjs
generated
vendored
Normal file
748
frontend/node_modules/@reduxjs/toolkit/dist/query/react/cjs/rtk-query-react.development.cjs
generated
vendored
Normal file
|
|
@ -0,0 +1,748 @@
|
|||
"use strict";
|
||||
var __create = Object.create;
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __getProtoOf = Object.getPrototypeOf;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
||||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
||||
// If the importer is in node compatibility mode or this is not an ESM
|
||||
// file that has been converted to a CommonJS file using a Babel-
|
||||
// compatible transform (i.e. "__esModule" has not been set), then set
|
||||
// "default" to the CommonJS "module.exports" for node compatibility.
|
||||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
||||
mod
|
||||
));
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/query/react/index.ts
|
||||
var react_exports = {};
|
||||
__export(react_exports, {
|
||||
ApiProvider: () => ApiProvider,
|
||||
UNINITIALIZED_VALUE: () => UNINITIALIZED_VALUE,
|
||||
createApi: () => createApi,
|
||||
reactHooksModule: () => reactHooksModule,
|
||||
reactHooksModuleName: () => reactHooksModuleName
|
||||
});
|
||||
module.exports = __toCommonJS(react_exports);
|
||||
|
||||
// src/query/react/rtkqImports.ts
|
||||
var import_query = require("@reduxjs/toolkit/query");
|
||||
|
||||
// src/query/react/module.ts
|
||||
var import_toolkit2 = require("@reduxjs/toolkit");
|
||||
var import_react_redux2 = require("react-redux");
|
||||
var import_reselect = require("reselect");
|
||||
|
||||
// src/query/utils/capitalize.ts
|
||||
function capitalize(str) {
|
||||
return str.replace(str[0], str[0].toUpperCase());
|
||||
}
|
||||
|
||||
// src/query/utils/countObjectKeys.ts
|
||||
function countObjectKeys(obj) {
|
||||
let count = 0;
|
||||
for (const _key in obj) {
|
||||
count++;
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
// src/query/endpointDefinitions.ts
|
||||
var ENDPOINT_QUERY = "query" /* query */;
|
||||
var ENDPOINT_MUTATION = "mutation" /* mutation */;
|
||||
var ENDPOINT_INFINITEQUERY = "infinitequery" /* infinitequery */;
|
||||
function isQueryDefinition(e) {
|
||||
return e.type === ENDPOINT_QUERY;
|
||||
}
|
||||
function isMutationDefinition(e) {
|
||||
return e.type === ENDPOINT_MUTATION;
|
||||
}
|
||||
function isInfiniteQueryDefinition(e) {
|
||||
return e.type === ENDPOINT_INFINITEQUERY;
|
||||
}
|
||||
|
||||
// src/query/tsHelpers.ts
|
||||
function safeAssign(target, ...args) {
|
||||
return Object.assign(target, ...args);
|
||||
}
|
||||
|
||||
// src/query/react/buildHooks.ts
|
||||
var import_toolkit = require("@reduxjs/toolkit");
|
||||
|
||||
// src/query/react/constants.ts
|
||||
var UNINITIALIZED_VALUE = /* @__PURE__ */ Symbol();
|
||||
|
||||
// src/query/react/reactImports.ts
|
||||
var import_react = require("react");
|
||||
|
||||
// src/query/react/reactReduxImports.ts
|
||||
var import_react_redux = require("react-redux");
|
||||
|
||||
// src/query/react/useSerializedStableValue.ts
|
||||
function useStableQueryArgs(queryArgs) {
|
||||
const cache = (0, import_react.useRef)(queryArgs);
|
||||
const copy = (0, import_react.useMemo)(() => (0, import_query.copyWithStructuralSharing)(cache.current, queryArgs), [queryArgs]);
|
||||
(0, import_react.useEffect)(() => {
|
||||
if (cache.current !== copy) {
|
||||
cache.current = copy;
|
||||
}
|
||||
}, [copy]);
|
||||
return copy;
|
||||
}
|
||||
|
||||
// src/query/react/useShallowStableValue.ts
|
||||
function useShallowStableValue(value) {
|
||||
const cache = (0, import_react.useRef)(value);
|
||||
(0, import_react.useEffect)(() => {
|
||||
if (!(0, import_react_redux.shallowEqual)(cache.current, value)) {
|
||||
cache.current = value;
|
||||
}
|
||||
}, [value]);
|
||||
return (0, import_react_redux.shallowEqual)(cache.current, value) ? cache.current : value;
|
||||
}
|
||||
|
||||
// src/query/react/buildHooks.ts
|
||||
var canUseDOM = () => !!(typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined");
|
||||
var isDOM = /* @__PURE__ */ canUseDOM();
|
||||
var isRunningInReactNative = () => typeof navigator !== "undefined" && navigator.product === "ReactNative";
|
||||
var isReactNative = /* @__PURE__ */ isRunningInReactNative();
|
||||
var getUseIsomorphicLayoutEffect = () => isDOM || isReactNative ? import_react.useLayoutEffect : import_react.useEffect;
|
||||
var useIsomorphicLayoutEffect = /* @__PURE__ */ getUseIsomorphicLayoutEffect();
|
||||
var noPendingQueryStateSelector = (selected) => {
|
||||
if (selected.isUninitialized) {
|
||||
return {
|
||||
...selected,
|
||||
isUninitialized: false,
|
||||
isFetching: true,
|
||||
isLoading: selected.data !== void 0 ? false : true,
|
||||
// This is the one place where we still have to use `QueryStatus` as an enum,
|
||||
// since it's the only reference in the React package and not in the core.
|
||||
status: import_query.QueryStatus.pending
|
||||
};
|
||||
}
|
||||
return selected;
|
||||
};
|
||||
function pick(obj, ...keys) {
|
||||
const ret = {};
|
||||
keys.forEach((key) => {
|
||||
ret[key] = obj[key];
|
||||
});
|
||||
return ret;
|
||||
}
|
||||
var COMMON_HOOK_DEBUG_FIELDS = ["data", "status", "isLoading", "isSuccess", "isError", "error"];
|
||||
function buildHooks({
|
||||
api,
|
||||
moduleOptions: {
|
||||
batch,
|
||||
hooks: {
|
||||
useDispatch,
|
||||
useSelector,
|
||||
useStore
|
||||
},
|
||||
unstable__sideEffectsInRender,
|
||||
createSelector
|
||||
},
|
||||
serializeQueryArgs,
|
||||
context
|
||||
}) {
|
||||
const usePossiblyImmediateEffect = unstable__sideEffectsInRender ? (cb) => cb() : import_react.useEffect;
|
||||
const unsubscribePromiseRef = (ref) => ref.current?.unsubscribe?.();
|
||||
const endpointDefinitions = context.endpointDefinitions;
|
||||
return {
|
||||
buildQueryHooks,
|
||||
buildInfiniteQueryHooks,
|
||||
buildMutationHook,
|
||||
usePrefetch
|
||||
};
|
||||
function queryStatePreSelector(currentState, lastResult, queryArgs) {
|
||||
if (lastResult?.endpointName && currentState.isUninitialized) {
|
||||
const {
|
||||
endpointName
|
||||
} = lastResult;
|
||||
const endpointDefinition = endpointDefinitions[endpointName];
|
||||
if (queryArgs !== import_query.skipToken && serializeQueryArgs({
|
||||
queryArgs: lastResult.originalArgs,
|
||||
endpointDefinition,
|
||||
endpointName
|
||||
}) === serializeQueryArgs({
|
||||
queryArgs,
|
||||
endpointDefinition,
|
||||
endpointName
|
||||
})) lastResult = void 0;
|
||||
}
|
||||
let data = currentState.isSuccess ? currentState.data : lastResult?.data;
|
||||
if (data === void 0) data = currentState.data;
|
||||
const hasData = data !== void 0;
|
||||
const isFetching = currentState.isLoading;
|
||||
const isLoading = (!lastResult || lastResult.isLoading || lastResult.isUninitialized) && !hasData && isFetching;
|
||||
const isSuccess = currentState.isSuccess || hasData && (isFetching && !lastResult?.isError || currentState.isUninitialized);
|
||||
return {
|
||||
...currentState,
|
||||
data,
|
||||
currentData: currentState.data,
|
||||
isFetching,
|
||||
isLoading,
|
||||
isSuccess
|
||||
};
|
||||
}
|
||||
function infiniteQueryStatePreSelector(currentState, lastResult, queryArgs) {
|
||||
if (lastResult?.endpointName && currentState.isUninitialized) {
|
||||
const {
|
||||
endpointName
|
||||
} = lastResult;
|
||||
const endpointDefinition = endpointDefinitions[endpointName];
|
||||
if (queryArgs !== import_query.skipToken && serializeQueryArgs({
|
||||
queryArgs: lastResult.originalArgs,
|
||||
endpointDefinition,
|
||||
endpointName
|
||||
}) === serializeQueryArgs({
|
||||
queryArgs,
|
||||
endpointDefinition,
|
||||
endpointName
|
||||
})) lastResult = void 0;
|
||||
}
|
||||
let data = currentState.isSuccess ? currentState.data : lastResult?.data;
|
||||
if (data === void 0) data = currentState.data;
|
||||
const hasData = data !== void 0;
|
||||
const isFetching = currentState.isLoading;
|
||||
const isLoading = (!lastResult || lastResult.isLoading || lastResult.isUninitialized) && !hasData && isFetching;
|
||||
const isSuccess = currentState.isSuccess || hasData && (isFetching && !lastResult?.isError || currentState.isUninitialized);
|
||||
return {
|
||||
...currentState,
|
||||
data,
|
||||
currentData: currentState.data,
|
||||
isFetching,
|
||||
isLoading,
|
||||
isSuccess
|
||||
};
|
||||
}
|
||||
function usePrefetch(endpointName, defaultOptions) {
|
||||
const dispatch = useDispatch();
|
||||
const stableDefaultOptions = useShallowStableValue(defaultOptions);
|
||||
return (0, import_react.useCallback)((arg, options) => dispatch(api.util.prefetch(endpointName, arg, {
|
||||
...stableDefaultOptions,
|
||||
...options
|
||||
})), [endpointName, dispatch, stableDefaultOptions]);
|
||||
}
|
||||
function useQuerySubscriptionCommonImpl(endpointName, arg, {
|
||||
refetchOnReconnect,
|
||||
refetchOnFocus,
|
||||
refetchOnMountOrArgChange,
|
||||
skip = false,
|
||||
pollingInterval = 0,
|
||||
skipPollingIfUnfocused = false,
|
||||
...rest
|
||||
} = {}) {
|
||||
const {
|
||||
initiate
|
||||
} = api.endpoints[endpointName];
|
||||
const dispatch = useDispatch();
|
||||
const subscriptionSelectorsRef = (0, import_react.useRef)(void 0);
|
||||
if (!subscriptionSelectorsRef.current) {
|
||||
const returnedValue = dispatch(api.internalActions.internal_getRTKQSubscriptions());
|
||||
if (true) {
|
||||
if (typeof returnedValue !== "object" || typeof returnedValue?.type === "string") {
|
||||
throw new Error(false ? _formatProdErrorMessage(37) : `Warning: Middleware for RTK-Query API at reducerPath "${api.reducerPath}" has not been added to the store.
|
||||
You must add the middleware for RTK-Query to function correctly!`);
|
||||
}
|
||||
}
|
||||
subscriptionSelectorsRef.current = returnedValue;
|
||||
}
|
||||
const stableArg = useStableQueryArgs(skip ? import_query.skipToken : arg);
|
||||
const stableSubscriptionOptions = useShallowStableValue({
|
||||
refetchOnReconnect,
|
||||
refetchOnFocus,
|
||||
pollingInterval,
|
||||
skipPollingIfUnfocused
|
||||
});
|
||||
const initialPageParam = rest.initialPageParam;
|
||||
const stableInitialPageParam = useShallowStableValue(initialPageParam);
|
||||
const refetchCachedPages = rest.refetchCachedPages;
|
||||
const stableRefetchCachedPages = useShallowStableValue(refetchCachedPages);
|
||||
const promiseRef = (0, import_react.useRef)(void 0);
|
||||
let {
|
||||
queryCacheKey,
|
||||
requestId
|
||||
} = promiseRef.current || {};
|
||||
let currentRenderHasSubscription = false;
|
||||
if (queryCacheKey && requestId) {
|
||||
currentRenderHasSubscription = subscriptionSelectorsRef.current.isRequestSubscribed(queryCacheKey, requestId);
|
||||
}
|
||||
const subscriptionRemoved = !currentRenderHasSubscription && promiseRef.current !== void 0;
|
||||
usePossiblyImmediateEffect(() => {
|
||||
if (subscriptionRemoved) {
|
||||
promiseRef.current = void 0;
|
||||
}
|
||||
}, [subscriptionRemoved]);
|
||||
usePossiblyImmediateEffect(() => {
|
||||
const lastPromise = promiseRef.current;
|
||||
if (typeof process !== "undefined" && false) {
|
||||
console.log(subscriptionRemoved);
|
||||
}
|
||||
if (stableArg === import_query.skipToken) {
|
||||
lastPromise?.unsubscribe();
|
||||
promiseRef.current = void 0;
|
||||
return;
|
||||
}
|
||||
const lastSubscriptionOptions = promiseRef.current?.subscriptionOptions;
|
||||
if (!lastPromise || lastPromise.arg !== stableArg) {
|
||||
lastPromise?.unsubscribe();
|
||||
const promise = dispatch(initiate(stableArg, {
|
||||
subscriptionOptions: stableSubscriptionOptions,
|
||||
forceRefetch: refetchOnMountOrArgChange,
|
||||
...isInfiniteQueryDefinition(endpointDefinitions[endpointName]) ? {
|
||||
initialPageParam: stableInitialPageParam,
|
||||
refetchCachedPages: stableRefetchCachedPages
|
||||
} : {}
|
||||
}));
|
||||
promiseRef.current = promise;
|
||||
} else if (stableSubscriptionOptions !== lastSubscriptionOptions) {
|
||||
lastPromise.updateSubscriptionOptions(stableSubscriptionOptions);
|
||||
}
|
||||
}, [dispatch, initiate, refetchOnMountOrArgChange, stableArg, stableSubscriptionOptions, subscriptionRemoved, stableInitialPageParam, stableRefetchCachedPages, endpointName]);
|
||||
return [promiseRef, dispatch, initiate, stableSubscriptionOptions];
|
||||
}
|
||||
function buildUseQueryState(endpointName, preSelector) {
|
||||
const useQueryState = (arg, {
|
||||
skip = false,
|
||||
selectFromResult
|
||||
} = {}) => {
|
||||
const {
|
||||
select
|
||||
} = api.endpoints[endpointName];
|
||||
const stableArg = useStableQueryArgs(skip ? import_query.skipToken : arg);
|
||||
const lastValue = (0, import_react.useRef)(void 0);
|
||||
const selectDefaultResult = (0, import_react.useMemo)(() => (
|
||||
// Normally ts-ignores are bad and should be avoided, but we're
|
||||
// already casting this selector to be `Selector<any>` anyway,
|
||||
// so the inconsistencies don't matter here
|
||||
// @ts-ignore
|
||||
createSelector([
|
||||
// @ts-ignore
|
||||
select(stableArg),
|
||||
(_, lastResult) => lastResult,
|
||||
(_) => stableArg
|
||||
], preSelector, {
|
||||
memoizeOptions: {
|
||||
resultEqualityCheck: import_react_redux.shallowEqual
|
||||
}
|
||||
})
|
||||
), [select, stableArg]);
|
||||
const querySelector = (0, import_react.useMemo)(() => selectFromResult ? createSelector([selectDefaultResult], selectFromResult, {
|
||||
devModeChecks: {
|
||||
identityFunctionCheck: "never"
|
||||
}
|
||||
}) : selectDefaultResult, [selectDefaultResult, selectFromResult]);
|
||||
const currentState = useSelector((state) => querySelector(state, lastValue.current), import_react_redux.shallowEqual);
|
||||
const store = useStore();
|
||||
const newLastValue = selectDefaultResult(store.getState(), lastValue.current);
|
||||
useIsomorphicLayoutEffect(() => {
|
||||
lastValue.current = newLastValue;
|
||||
}, [newLastValue]);
|
||||
return currentState;
|
||||
};
|
||||
return useQueryState;
|
||||
}
|
||||
function usePromiseRefUnsubscribeOnUnmount(promiseRef) {
|
||||
(0, import_react.useEffect)(() => {
|
||||
return () => {
|
||||
unsubscribePromiseRef(promiseRef);
|
||||
promiseRef.current = void 0;
|
||||
};
|
||||
}, [promiseRef]);
|
||||
}
|
||||
function refetchOrErrorIfUnmounted(promiseRef) {
|
||||
if (!promiseRef.current) throw new Error(false ? _formatProdErrorMessage2(38) : "Cannot refetch a query that has not been started yet.");
|
||||
return promiseRef.current.refetch();
|
||||
}
|
||||
function buildQueryHooks(endpointName) {
|
||||
const useQuerySubscription = (arg, options = {}) => {
|
||||
const [promiseRef] = useQuerySubscriptionCommonImpl(endpointName, arg, options);
|
||||
usePromiseRefUnsubscribeOnUnmount(promiseRef);
|
||||
return (0, import_react.useMemo)(() => ({
|
||||
/**
|
||||
* A method to manually refetch data for the query
|
||||
*/
|
||||
refetch: () => refetchOrErrorIfUnmounted(promiseRef)
|
||||
}), [promiseRef]);
|
||||
};
|
||||
const useLazyQuerySubscription = ({
|
||||
refetchOnReconnect,
|
||||
refetchOnFocus,
|
||||
pollingInterval = 0,
|
||||
skipPollingIfUnfocused = false
|
||||
} = {}) => {
|
||||
const {
|
||||
initiate
|
||||
} = api.endpoints[endpointName];
|
||||
const dispatch = useDispatch();
|
||||
const [arg, setArg] = (0, import_react.useState)(UNINITIALIZED_VALUE);
|
||||
const promiseRef = (0, import_react.useRef)(void 0);
|
||||
const stableSubscriptionOptions = useShallowStableValue({
|
||||
refetchOnReconnect,
|
||||
refetchOnFocus,
|
||||
pollingInterval,
|
||||
skipPollingIfUnfocused
|
||||
});
|
||||
usePossiblyImmediateEffect(() => {
|
||||
const lastSubscriptionOptions = promiseRef.current?.subscriptionOptions;
|
||||
if (stableSubscriptionOptions !== lastSubscriptionOptions) {
|
||||
promiseRef.current?.updateSubscriptionOptions(stableSubscriptionOptions);
|
||||
}
|
||||
}, [stableSubscriptionOptions]);
|
||||
const subscriptionOptionsRef = (0, import_react.useRef)(stableSubscriptionOptions);
|
||||
usePossiblyImmediateEffect(() => {
|
||||
subscriptionOptionsRef.current = stableSubscriptionOptions;
|
||||
}, [stableSubscriptionOptions]);
|
||||
const trigger = (0, import_react.useCallback)(function(arg2, preferCacheValue = false) {
|
||||
let promise;
|
||||
batch(() => {
|
||||
unsubscribePromiseRef(promiseRef);
|
||||
promiseRef.current = promise = dispatch(initiate(arg2, {
|
||||
subscriptionOptions: subscriptionOptionsRef.current,
|
||||
forceRefetch: !preferCacheValue
|
||||
}));
|
||||
setArg(arg2);
|
||||
});
|
||||
return promise;
|
||||
}, [dispatch, initiate]);
|
||||
const reset = (0, import_react.useCallback)(() => {
|
||||
if (promiseRef.current?.queryCacheKey) {
|
||||
dispatch(api.internalActions.removeQueryResult({
|
||||
queryCacheKey: promiseRef.current?.queryCacheKey
|
||||
}));
|
||||
}
|
||||
}, [dispatch]);
|
||||
(0, import_react.useEffect)(() => {
|
||||
return () => {
|
||||
unsubscribePromiseRef(promiseRef);
|
||||
};
|
||||
}, []);
|
||||
(0, import_react.useEffect)(() => {
|
||||
if (arg !== UNINITIALIZED_VALUE && !promiseRef.current) {
|
||||
trigger(arg, true);
|
||||
}
|
||||
}, [arg, trigger]);
|
||||
return (0, import_react.useMemo)(() => [trigger, arg, {
|
||||
reset
|
||||
}], [trigger, arg, reset]);
|
||||
};
|
||||
const useQueryState = buildUseQueryState(endpointName, queryStatePreSelector);
|
||||
return {
|
||||
useQueryState,
|
||||
useQuerySubscription,
|
||||
useLazyQuerySubscription,
|
||||
useLazyQuery(options) {
|
||||
const [trigger, arg, {
|
||||
reset
|
||||
}] = useLazyQuerySubscription(options);
|
||||
const queryStateResults = useQueryState(arg, {
|
||||
...options,
|
||||
skip: arg === UNINITIALIZED_VALUE
|
||||
});
|
||||
const info = (0, import_react.useMemo)(() => ({
|
||||
lastArg: arg
|
||||
}), [arg]);
|
||||
return (0, import_react.useMemo)(() => [trigger, {
|
||||
...queryStateResults,
|
||||
reset
|
||||
}, info], [trigger, queryStateResults, reset, info]);
|
||||
},
|
||||
useQuery(arg, options) {
|
||||
const querySubscriptionResults = useQuerySubscription(arg, options);
|
||||
const queryStateResults = useQueryState(arg, {
|
||||
selectFromResult: arg === import_query.skipToken || options?.skip ? void 0 : noPendingQueryStateSelector,
|
||||
...options
|
||||
});
|
||||
const debugValue = pick(queryStateResults, ...COMMON_HOOK_DEBUG_FIELDS);
|
||||
(0, import_react.useDebugValue)(debugValue);
|
||||
return (0, import_react.useMemo)(() => ({
|
||||
...queryStateResults,
|
||||
...querySubscriptionResults
|
||||
}), [queryStateResults, querySubscriptionResults]);
|
||||
}
|
||||
};
|
||||
}
|
||||
function buildInfiniteQueryHooks(endpointName) {
|
||||
const useInfiniteQuerySubscription = (arg, options = {}) => {
|
||||
const [promiseRef, dispatch, initiate, stableSubscriptionOptions] = useQuerySubscriptionCommonImpl(endpointName, arg, options);
|
||||
const subscriptionOptionsRef = (0, import_react.useRef)(stableSubscriptionOptions);
|
||||
usePossiblyImmediateEffect(() => {
|
||||
subscriptionOptionsRef.current = stableSubscriptionOptions;
|
||||
}, [stableSubscriptionOptions]);
|
||||
const hookRefetchCachedPages = options.refetchCachedPages;
|
||||
const stableHookRefetchCachedPages = useShallowStableValue(hookRefetchCachedPages);
|
||||
const trigger = (0, import_react.useCallback)(function(arg2, direction) {
|
||||
let promise;
|
||||
batch(() => {
|
||||
unsubscribePromiseRef(promiseRef);
|
||||
promiseRef.current = promise = dispatch(initiate(arg2, {
|
||||
subscriptionOptions: subscriptionOptionsRef.current,
|
||||
direction
|
||||
}));
|
||||
});
|
||||
return promise;
|
||||
}, [promiseRef, dispatch, initiate]);
|
||||
usePromiseRefUnsubscribeOnUnmount(promiseRef);
|
||||
const stableArg = useStableQueryArgs(options.skip ? import_query.skipToken : arg);
|
||||
const refetch = (0, import_react.useCallback)((options2) => {
|
||||
if (!promiseRef.current) throw new Error(false ? _formatProdErrorMessage3(38) : "Cannot refetch a query that has not been started yet.");
|
||||
const mergedOptions = {
|
||||
refetchCachedPages: options2?.refetchCachedPages ?? stableHookRefetchCachedPages
|
||||
};
|
||||
return promiseRef.current.refetch(mergedOptions);
|
||||
}, [promiseRef, stableHookRefetchCachedPages]);
|
||||
return (0, import_react.useMemo)(() => {
|
||||
const fetchNextPage = () => {
|
||||
return trigger(stableArg, "forward");
|
||||
};
|
||||
const fetchPreviousPage = () => {
|
||||
return trigger(stableArg, "backward");
|
||||
};
|
||||
return {
|
||||
trigger,
|
||||
/**
|
||||
* A method to manually refetch data for the query
|
||||
*/
|
||||
refetch,
|
||||
fetchNextPage,
|
||||
fetchPreviousPage
|
||||
};
|
||||
}, [refetch, trigger, stableArg]);
|
||||
};
|
||||
const useInfiniteQueryState = buildUseQueryState(endpointName, infiniteQueryStatePreSelector);
|
||||
return {
|
||||
useInfiniteQueryState,
|
||||
useInfiniteQuerySubscription,
|
||||
useInfiniteQuery(arg, options) {
|
||||
const {
|
||||
refetch,
|
||||
fetchNextPage,
|
||||
fetchPreviousPage
|
||||
} = useInfiniteQuerySubscription(arg, options);
|
||||
const queryStateResults = useInfiniteQueryState(arg, {
|
||||
selectFromResult: arg === import_query.skipToken || options?.skip ? void 0 : noPendingQueryStateSelector,
|
||||
...options
|
||||
});
|
||||
const debugValue = pick(queryStateResults, ...COMMON_HOOK_DEBUG_FIELDS, "hasNextPage", "hasPreviousPage");
|
||||
(0, import_react.useDebugValue)(debugValue);
|
||||
return (0, import_react.useMemo)(() => ({
|
||||
...queryStateResults,
|
||||
fetchNextPage,
|
||||
fetchPreviousPage,
|
||||
refetch
|
||||
}), [queryStateResults, fetchNextPage, fetchPreviousPage, refetch]);
|
||||
}
|
||||
};
|
||||
}
|
||||
function buildMutationHook(name) {
|
||||
return ({
|
||||
selectFromResult,
|
||||
fixedCacheKey
|
||||
} = {}) => {
|
||||
const {
|
||||
select,
|
||||
initiate
|
||||
} = api.endpoints[name];
|
||||
const dispatch = useDispatch();
|
||||
const [promise, setPromise] = (0, import_react.useState)();
|
||||
(0, import_react.useEffect)(() => () => {
|
||||
if (!promise?.arg.fixedCacheKey) {
|
||||
promise?.reset();
|
||||
}
|
||||
}, [promise]);
|
||||
const triggerMutation = (0, import_react.useCallback)(function(arg) {
|
||||
const promise2 = dispatch(initiate(arg, {
|
||||
fixedCacheKey
|
||||
}));
|
||||
setPromise(promise2);
|
||||
return promise2;
|
||||
}, [dispatch, initiate, fixedCacheKey]);
|
||||
const {
|
||||
requestId
|
||||
} = promise || {};
|
||||
const selectDefaultResult = (0, import_react.useMemo)(() => select({
|
||||
fixedCacheKey,
|
||||
requestId: promise?.requestId
|
||||
}), [fixedCacheKey, promise, select]);
|
||||
const mutationSelector = (0, import_react.useMemo)(() => selectFromResult ? createSelector([selectDefaultResult], selectFromResult) : selectDefaultResult, [selectFromResult, selectDefaultResult]);
|
||||
const currentState = useSelector(mutationSelector, import_react_redux.shallowEqual);
|
||||
const originalArgs = fixedCacheKey == null ? promise?.arg.originalArgs : void 0;
|
||||
const reset = (0, import_react.useCallback)(() => {
|
||||
batch(() => {
|
||||
if (promise) {
|
||||
setPromise(void 0);
|
||||
}
|
||||
if (fixedCacheKey) {
|
||||
dispatch(api.internalActions.removeMutationResult({
|
||||
requestId,
|
||||
fixedCacheKey
|
||||
}));
|
||||
}
|
||||
});
|
||||
}, [dispatch, fixedCacheKey, promise, requestId]);
|
||||
const debugValue = pick(currentState, ...COMMON_HOOK_DEBUG_FIELDS, "endpointName");
|
||||
(0, import_react.useDebugValue)(debugValue);
|
||||
const finalState = (0, import_react.useMemo)(() => ({
|
||||
...currentState,
|
||||
originalArgs,
|
||||
reset
|
||||
}), [currentState, originalArgs, reset]);
|
||||
return (0, import_react.useMemo)(() => [triggerMutation, finalState], [triggerMutation, finalState]);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// src/query/react/module.ts
|
||||
var reactHooksModuleName = /* @__PURE__ */ Symbol();
|
||||
var reactHooksModule = ({
|
||||
batch = import_react_redux2.batch,
|
||||
hooks = {
|
||||
useDispatch: import_react_redux2.useDispatch,
|
||||
useSelector: import_react_redux2.useSelector,
|
||||
useStore: import_react_redux2.useStore
|
||||
},
|
||||
createSelector = import_reselect.createSelector,
|
||||
unstable__sideEffectsInRender = false,
|
||||
...rest
|
||||
} = {}) => {
|
||||
if (true) {
|
||||
const hookNames = ["useDispatch", "useSelector", "useStore"];
|
||||
let warned = false;
|
||||
for (const hookName of hookNames) {
|
||||
if (countObjectKeys(rest) > 0) {
|
||||
if (rest[hookName]) {
|
||||
if (!warned) {
|
||||
console.warn("As of RTK 2.0, the hooks now need to be specified as one object, provided under a `hooks` key:\n`reactHooksModule({ hooks: { useDispatch, useSelector, useStore } })`");
|
||||
warned = true;
|
||||
}
|
||||
}
|
||||
hooks[hookName] = rest[hookName];
|
||||
}
|
||||
if (typeof hooks[hookName] !== "function") {
|
||||
throw new Error(false ? _formatProdErrorMessage4(36) : `When using custom hooks for context, all ${hookNames.length} hooks need to be provided: ${hookNames.join(", ")}.
|
||||
Hook ${hookName} was either not provided or not a function.`);
|
||||
}
|
||||
}
|
||||
}
|
||||
return {
|
||||
name: reactHooksModuleName,
|
||||
init(api, {
|
||||
serializeQueryArgs
|
||||
}, context) {
|
||||
const anyApi = api;
|
||||
const {
|
||||
buildQueryHooks,
|
||||
buildInfiniteQueryHooks,
|
||||
buildMutationHook,
|
||||
usePrefetch
|
||||
} = buildHooks({
|
||||
api,
|
||||
moduleOptions: {
|
||||
batch,
|
||||
hooks,
|
||||
unstable__sideEffectsInRender,
|
||||
createSelector
|
||||
},
|
||||
serializeQueryArgs,
|
||||
context
|
||||
});
|
||||
safeAssign(anyApi, {
|
||||
usePrefetch
|
||||
});
|
||||
safeAssign(context, {
|
||||
batch
|
||||
});
|
||||
return {
|
||||
injectEndpoint(endpointName, definition) {
|
||||
if (isQueryDefinition(definition)) {
|
||||
const {
|
||||
useQuery,
|
||||
useLazyQuery,
|
||||
useLazyQuerySubscription,
|
||||
useQueryState,
|
||||
useQuerySubscription
|
||||
} = buildQueryHooks(endpointName);
|
||||
safeAssign(anyApi.endpoints[endpointName], {
|
||||
useQuery,
|
||||
useLazyQuery,
|
||||
useLazyQuerySubscription,
|
||||
useQueryState,
|
||||
useQuerySubscription
|
||||
});
|
||||
api[`use${capitalize(endpointName)}Query`] = useQuery;
|
||||
api[`useLazy${capitalize(endpointName)}Query`] = useLazyQuery;
|
||||
}
|
||||
if (isMutationDefinition(definition)) {
|
||||
const useMutation = buildMutationHook(endpointName);
|
||||
safeAssign(anyApi.endpoints[endpointName], {
|
||||
useMutation
|
||||
});
|
||||
api[`use${capitalize(endpointName)}Mutation`] = useMutation;
|
||||
} else if (isInfiniteQueryDefinition(definition)) {
|
||||
const {
|
||||
useInfiniteQuery,
|
||||
useInfiniteQuerySubscription,
|
||||
useInfiniteQueryState
|
||||
} = buildInfiniteQueryHooks(endpointName);
|
||||
safeAssign(anyApi.endpoints[endpointName], {
|
||||
useInfiniteQuery,
|
||||
useInfiniteQuerySubscription,
|
||||
useInfiniteQueryState
|
||||
});
|
||||
api[`use${capitalize(endpointName)}InfiniteQuery`] = useInfiniteQuery;
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
// src/query/react/index.ts
|
||||
__reExport(react_exports, require("@reduxjs/toolkit/query"), module.exports);
|
||||
|
||||
// src/query/react/ApiProvider.tsx
|
||||
var import_toolkit3 = require("@reduxjs/toolkit");
|
||||
var React = __toESM(require("react"));
|
||||
function ApiProvider(props) {
|
||||
const context = props.context || import_react_redux.ReactReduxContext;
|
||||
const existingContext = (0, import_react.useContext)(context);
|
||||
if (existingContext) {
|
||||
throw new Error(false ? _formatProdErrorMessage5(35) : "Existing Redux context detected. If you already have a store set up, please use the traditional Redux setup.");
|
||||
}
|
||||
const [store] = React.useState(() => (0, import_toolkit3.configureStore)({
|
||||
reducer: {
|
||||
[props.api.reducerPath]: props.api.reducer
|
||||
},
|
||||
middleware: (gDM) => gDM().concat(props.api.middleware)
|
||||
}));
|
||||
(0, import_react.useEffect)(() => props.setupListeners === false ? void 0 : (0, import_query.setupListeners)(store.dispatch, props.setupListeners), [props.setupListeners, store.dispatch]);
|
||||
return /* @__PURE__ */ React.createElement(import_react_redux.Provider, { store, context }, props.children);
|
||||
}
|
||||
|
||||
// src/query/react/index.ts
|
||||
var createApi = /* @__PURE__ */ (0, import_query.buildCreateApi)((0, import_query.coreModule)(), reactHooksModule());
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
ApiProvider,
|
||||
UNINITIALIZED_VALUE,
|
||||
createApi,
|
||||
reactHooksModule,
|
||||
reactHooksModuleName,
|
||||
...require("@reduxjs/toolkit/query")
|
||||
});
|
||||
//# sourceMappingURL=rtk-query-react.development.cjs.map
|
||||
1
frontend/node_modules/@reduxjs/toolkit/dist/query/react/cjs/rtk-query-react.development.cjs.map
generated
vendored
Normal file
1
frontend/node_modules/@reduxjs/toolkit/dist/query/react/cjs/rtk-query-react.development.cjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
2
frontend/node_modules/@reduxjs/toolkit/dist/query/react/cjs/rtk-query-react.production.min.cjs
generated
vendored
Normal file
2
frontend/node_modules/@reduxjs/toolkit/dist/query/react/cjs/rtk-query-react.production.min.cjs
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
frontend/node_modules/@reduxjs/toolkit/dist/query/react/cjs/rtk-query-react.production.min.cjs.map
generated
vendored
Normal file
1
frontend/node_modules/@reduxjs/toolkit/dist/query/react/cjs/rtk-query-react.production.min.cjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1009
frontend/node_modules/@reduxjs/toolkit/dist/query/react/index.d.mts
generated
vendored
Normal file
1009
frontend/node_modules/@reduxjs/toolkit/dist/query/react/index.d.mts
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
1009
frontend/node_modules/@reduxjs/toolkit/dist/query/react/index.d.ts
generated
vendored
Normal file
1009
frontend/node_modules/@reduxjs/toolkit/dist/query/react/index.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
2
frontend/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.browser.mjs
generated
vendored
Normal file
2
frontend/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.browser.mjs
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
frontend/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.browser.mjs.map
generated
vendored
Normal file
1
frontend/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.browser.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
740
frontend/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.legacy-esm.js
generated
vendored
Normal file
740
frontend/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.legacy-esm.js
generated
vendored
Normal file
|
|
@ -0,0 +1,740 @@
|
|||
var __defProp = Object.defineProperty;
|
||||
var __defProps = Object.defineProperties;
|
||||
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
||||
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
||||
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
||||
var __spreadValues = (a, b) => {
|
||||
for (var prop in b || (b = {}))
|
||||
if (__hasOwnProp.call(b, prop))
|
||||
__defNormalProp(a, prop, b[prop]);
|
||||
if (__getOwnPropSymbols)
|
||||
for (var prop of __getOwnPropSymbols(b)) {
|
||||
if (__propIsEnum.call(b, prop))
|
||||
__defNormalProp(a, prop, b[prop]);
|
||||
}
|
||||
return a;
|
||||
};
|
||||
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
||||
var __objRest = (source, exclude) => {
|
||||
var target = {};
|
||||
for (var prop in source)
|
||||
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
||||
target[prop] = source[prop];
|
||||
if (source != null && __getOwnPropSymbols)
|
||||
for (var prop of __getOwnPropSymbols(source)) {
|
||||
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
||||
target[prop] = source[prop];
|
||||
}
|
||||
return target;
|
||||
};
|
||||
|
||||
// src/query/react/rtkqImports.ts
|
||||
import { buildCreateApi, coreModule, copyWithStructuralSharing, setupListeners, QueryStatus, skipToken } from "@reduxjs/toolkit/query";
|
||||
|
||||
// src/query/react/module.ts
|
||||
import { formatProdErrorMessage as _formatProdErrorMessage4 } from "@reduxjs/toolkit";
|
||||
import { batch as rrBatch, useDispatch as rrUseDispatch, useSelector as rrUseSelector, useStore as rrUseStore } from "react-redux";
|
||||
import { createSelector as _createSelector } from "reselect";
|
||||
|
||||
// src/query/utils/capitalize.ts
|
||||
function capitalize(str) {
|
||||
return str.replace(str[0], str[0].toUpperCase());
|
||||
}
|
||||
|
||||
// src/query/utils/countObjectKeys.ts
|
||||
function countObjectKeys(obj) {
|
||||
let count = 0;
|
||||
for (const _key in obj) {
|
||||
count++;
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
// src/query/endpointDefinitions.ts
|
||||
var ENDPOINT_QUERY = "query" /* query */;
|
||||
var ENDPOINT_MUTATION = "mutation" /* mutation */;
|
||||
var ENDPOINT_INFINITEQUERY = "infinitequery" /* infinitequery */;
|
||||
function isQueryDefinition(e) {
|
||||
return e.type === ENDPOINT_QUERY;
|
||||
}
|
||||
function isMutationDefinition(e) {
|
||||
return e.type === ENDPOINT_MUTATION;
|
||||
}
|
||||
function isInfiniteQueryDefinition(e) {
|
||||
return e.type === ENDPOINT_INFINITEQUERY;
|
||||
}
|
||||
|
||||
// src/query/tsHelpers.ts
|
||||
function safeAssign(target, ...args) {
|
||||
return Object.assign(target, ...args);
|
||||
}
|
||||
|
||||
// src/query/react/buildHooks.ts
|
||||
import { formatProdErrorMessage as _formatProdErrorMessage, formatProdErrorMessage as _formatProdErrorMessage2, formatProdErrorMessage as _formatProdErrorMessage3 } from "@reduxjs/toolkit";
|
||||
|
||||
// src/query/react/constants.ts
|
||||
var UNINITIALIZED_VALUE = /* @__PURE__ */ Symbol();
|
||||
|
||||
// src/query/react/reactImports.ts
|
||||
import { useEffect, useRef, useMemo, useContext, useCallback, useDebugValue, useLayoutEffect, useState } from "react";
|
||||
|
||||
// src/query/react/reactReduxImports.ts
|
||||
import { shallowEqual, Provider, ReactReduxContext } from "react-redux";
|
||||
|
||||
// src/query/react/useSerializedStableValue.ts
|
||||
function useStableQueryArgs(queryArgs) {
|
||||
const cache = useRef(queryArgs);
|
||||
const copy = useMemo(() => copyWithStructuralSharing(cache.current, queryArgs), [queryArgs]);
|
||||
useEffect(() => {
|
||||
if (cache.current !== copy) {
|
||||
cache.current = copy;
|
||||
}
|
||||
}, [copy]);
|
||||
return copy;
|
||||
}
|
||||
|
||||
// src/query/react/useShallowStableValue.ts
|
||||
function useShallowStableValue(value) {
|
||||
const cache = useRef(value);
|
||||
useEffect(() => {
|
||||
if (!shallowEqual(cache.current, value)) {
|
||||
cache.current = value;
|
||||
}
|
||||
}, [value]);
|
||||
return shallowEqual(cache.current, value) ? cache.current : value;
|
||||
}
|
||||
|
||||
// src/query/react/buildHooks.ts
|
||||
var canUseDOM = () => !!(typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined");
|
||||
var isDOM = /* @__PURE__ */ canUseDOM();
|
||||
var isRunningInReactNative = () => typeof navigator !== "undefined" && navigator.product === "ReactNative";
|
||||
var isReactNative = /* @__PURE__ */ isRunningInReactNative();
|
||||
var getUseIsomorphicLayoutEffect = () => isDOM || isReactNative ? useLayoutEffect : useEffect;
|
||||
var useIsomorphicLayoutEffect = /* @__PURE__ */ getUseIsomorphicLayoutEffect();
|
||||
var noPendingQueryStateSelector = (selected) => {
|
||||
if (selected.isUninitialized) {
|
||||
return __spreadProps(__spreadValues({}, selected), {
|
||||
isUninitialized: false,
|
||||
isFetching: true,
|
||||
isLoading: selected.data !== void 0 ? false : true,
|
||||
// This is the one place where we still have to use `QueryStatus` as an enum,
|
||||
// since it's the only reference in the React package and not in the core.
|
||||
status: QueryStatus.pending
|
||||
});
|
||||
}
|
||||
return selected;
|
||||
};
|
||||
function pick(obj, ...keys) {
|
||||
const ret = {};
|
||||
keys.forEach((key) => {
|
||||
ret[key] = obj[key];
|
||||
});
|
||||
return ret;
|
||||
}
|
||||
var COMMON_HOOK_DEBUG_FIELDS = ["data", "status", "isLoading", "isSuccess", "isError", "error"];
|
||||
function buildHooks({
|
||||
api,
|
||||
moduleOptions: {
|
||||
batch,
|
||||
hooks: {
|
||||
useDispatch,
|
||||
useSelector,
|
||||
useStore
|
||||
},
|
||||
unstable__sideEffectsInRender,
|
||||
createSelector
|
||||
},
|
||||
serializeQueryArgs,
|
||||
context
|
||||
}) {
|
||||
const usePossiblyImmediateEffect = unstable__sideEffectsInRender ? (cb) => cb() : useEffect;
|
||||
const unsubscribePromiseRef = (ref) => {
|
||||
var _a, _b;
|
||||
return (_b = (_a = ref.current) == null ? void 0 : _a.unsubscribe) == null ? void 0 : _b.call(_a);
|
||||
};
|
||||
const endpointDefinitions = context.endpointDefinitions;
|
||||
return {
|
||||
buildQueryHooks,
|
||||
buildInfiniteQueryHooks,
|
||||
buildMutationHook,
|
||||
usePrefetch
|
||||
};
|
||||
function queryStatePreSelector(currentState, lastResult, queryArgs) {
|
||||
if ((lastResult == null ? void 0 : lastResult.endpointName) && currentState.isUninitialized) {
|
||||
const {
|
||||
endpointName
|
||||
} = lastResult;
|
||||
const endpointDefinition = endpointDefinitions[endpointName];
|
||||
if (queryArgs !== skipToken && serializeQueryArgs({
|
||||
queryArgs: lastResult.originalArgs,
|
||||
endpointDefinition,
|
||||
endpointName
|
||||
}) === serializeQueryArgs({
|
||||
queryArgs,
|
||||
endpointDefinition,
|
||||
endpointName
|
||||
})) lastResult = void 0;
|
||||
}
|
||||
let data = currentState.isSuccess ? currentState.data : lastResult == null ? void 0 : lastResult.data;
|
||||
if (data === void 0) data = currentState.data;
|
||||
const hasData = data !== void 0;
|
||||
const isFetching = currentState.isLoading;
|
||||
const isLoading = (!lastResult || lastResult.isLoading || lastResult.isUninitialized) && !hasData && isFetching;
|
||||
const isSuccess = currentState.isSuccess || hasData && (isFetching && !(lastResult == null ? void 0 : lastResult.isError) || currentState.isUninitialized);
|
||||
return __spreadProps(__spreadValues({}, currentState), {
|
||||
data,
|
||||
currentData: currentState.data,
|
||||
isFetching,
|
||||
isLoading,
|
||||
isSuccess
|
||||
});
|
||||
}
|
||||
function infiniteQueryStatePreSelector(currentState, lastResult, queryArgs) {
|
||||
if ((lastResult == null ? void 0 : lastResult.endpointName) && currentState.isUninitialized) {
|
||||
const {
|
||||
endpointName
|
||||
} = lastResult;
|
||||
const endpointDefinition = endpointDefinitions[endpointName];
|
||||
if (queryArgs !== skipToken && serializeQueryArgs({
|
||||
queryArgs: lastResult.originalArgs,
|
||||
endpointDefinition,
|
||||
endpointName
|
||||
}) === serializeQueryArgs({
|
||||
queryArgs,
|
||||
endpointDefinition,
|
||||
endpointName
|
||||
})) lastResult = void 0;
|
||||
}
|
||||
let data = currentState.isSuccess ? currentState.data : lastResult == null ? void 0 : lastResult.data;
|
||||
if (data === void 0) data = currentState.data;
|
||||
const hasData = data !== void 0;
|
||||
const isFetching = currentState.isLoading;
|
||||
const isLoading = (!lastResult || lastResult.isLoading || lastResult.isUninitialized) && !hasData && isFetching;
|
||||
const isSuccess = currentState.isSuccess || hasData && (isFetching && !(lastResult == null ? void 0 : lastResult.isError) || currentState.isUninitialized);
|
||||
return __spreadProps(__spreadValues({}, currentState), {
|
||||
data,
|
||||
currentData: currentState.data,
|
||||
isFetching,
|
||||
isLoading,
|
||||
isSuccess
|
||||
});
|
||||
}
|
||||
function usePrefetch(endpointName, defaultOptions) {
|
||||
const dispatch = useDispatch();
|
||||
const stableDefaultOptions = useShallowStableValue(defaultOptions);
|
||||
return useCallback((arg, options) => dispatch(api.util.prefetch(endpointName, arg, __spreadValues(__spreadValues({}, stableDefaultOptions), options))), [endpointName, dispatch, stableDefaultOptions]);
|
||||
}
|
||||
function useQuerySubscriptionCommonImpl(endpointName, arg, _a = {}) {
|
||||
var _b = _a, {
|
||||
refetchOnReconnect,
|
||||
refetchOnFocus,
|
||||
refetchOnMountOrArgChange,
|
||||
skip = false,
|
||||
pollingInterval = 0,
|
||||
skipPollingIfUnfocused = false
|
||||
} = _b, rest = __objRest(_b, [
|
||||
"refetchOnReconnect",
|
||||
"refetchOnFocus",
|
||||
"refetchOnMountOrArgChange",
|
||||
"skip",
|
||||
"pollingInterval",
|
||||
"skipPollingIfUnfocused"
|
||||
]);
|
||||
const {
|
||||
initiate
|
||||
} = api.endpoints[endpointName];
|
||||
const dispatch = useDispatch();
|
||||
const subscriptionSelectorsRef = useRef(void 0);
|
||||
if (!subscriptionSelectorsRef.current) {
|
||||
const returnedValue = dispatch(api.internalActions.internal_getRTKQSubscriptions());
|
||||
if (process.env.NODE_ENV !== "production") {
|
||||
if (typeof returnedValue !== "object" || typeof (returnedValue == null ? void 0 : returnedValue.type) === "string") {
|
||||
throw new Error(process.env.NODE_ENV === "production" ? _formatProdErrorMessage(37) : `Warning: Middleware for RTK-Query API at reducerPath "${api.reducerPath}" has not been added to the store.
|
||||
You must add the middleware for RTK-Query to function correctly!`);
|
||||
}
|
||||
}
|
||||
subscriptionSelectorsRef.current = returnedValue;
|
||||
}
|
||||
const stableArg = useStableQueryArgs(skip ? skipToken : arg);
|
||||
const stableSubscriptionOptions = useShallowStableValue({
|
||||
refetchOnReconnect,
|
||||
refetchOnFocus,
|
||||
pollingInterval,
|
||||
skipPollingIfUnfocused
|
||||
});
|
||||
const initialPageParam = rest.initialPageParam;
|
||||
const stableInitialPageParam = useShallowStableValue(initialPageParam);
|
||||
const refetchCachedPages = rest.refetchCachedPages;
|
||||
const stableRefetchCachedPages = useShallowStableValue(refetchCachedPages);
|
||||
const promiseRef = useRef(void 0);
|
||||
let {
|
||||
queryCacheKey,
|
||||
requestId
|
||||
} = promiseRef.current || {};
|
||||
let currentRenderHasSubscription = false;
|
||||
if (queryCacheKey && requestId) {
|
||||
currentRenderHasSubscription = subscriptionSelectorsRef.current.isRequestSubscribed(queryCacheKey, requestId);
|
||||
}
|
||||
const subscriptionRemoved = !currentRenderHasSubscription && promiseRef.current !== void 0;
|
||||
usePossiblyImmediateEffect(() => {
|
||||
if (subscriptionRemoved) {
|
||||
promiseRef.current = void 0;
|
||||
}
|
||||
}, [subscriptionRemoved]);
|
||||
usePossiblyImmediateEffect(() => {
|
||||
var _a2;
|
||||
const lastPromise = promiseRef.current;
|
||||
if (typeof process !== "undefined" && process.env.NODE_ENV === "removeMeOnCompilation") {
|
||||
console.log(subscriptionRemoved);
|
||||
}
|
||||
if (stableArg === skipToken) {
|
||||
lastPromise == null ? void 0 : lastPromise.unsubscribe();
|
||||
promiseRef.current = void 0;
|
||||
return;
|
||||
}
|
||||
const lastSubscriptionOptions = (_a2 = promiseRef.current) == null ? void 0 : _a2.subscriptionOptions;
|
||||
if (!lastPromise || lastPromise.arg !== stableArg) {
|
||||
lastPromise == null ? void 0 : lastPromise.unsubscribe();
|
||||
const promise = dispatch(initiate(stableArg, __spreadValues({
|
||||
subscriptionOptions: stableSubscriptionOptions,
|
||||
forceRefetch: refetchOnMountOrArgChange
|
||||
}, isInfiniteQueryDefinition(endpointDefinitions[endpointName]) ? {
|
||||
initialPageParam: stableInitialPageParam,
|
||||
refetchCachedPages: stableRefetchCachedPages
|
||||
} : {})));
|
||||
promiseRef.current = promise;
|
||||
} else if (stableSubscriptionOptions !== lastSubscriptionOptions) {
|
||||
lastPromise.updateSubscriptionOptions(stableSubscriptionOptions);
|
||||
}
|
||||
}, [dispatch, initiate, refetchOnMountOrArgChange, stableArg, stableSubscriptionOptions, subscriptionRemoved, stableInitialPageParam, stableRefetchCachedPages, endpointName]);
|
||||
return [promiseRef, dispatch, initiate, stableSubscriptionOptions];
|
||||
}
|
||||
function buildUseQueryState(endpointName, preSelector) {
|
||||
const useQueryState = (arg, {
|
||||
skip = false,
|
||||
selectFromResult
|
||||
} = {}) => {
|
||||
const {
|
||||
select
|
||||
} = api.endpoints[endpointName];
|
||||
const stableArg = useStableQueryArgs(skip ? skipToken : arg);
|
||||
const lastValue = useRef(void 0);
|
||||
const selectDefaultResult = useMemo(() => (
|
||||
// Normally ts-ignores are bad and should be avoided, but we're
|
||||
// already casting this selector to be `Selector<any>` anyway,
|
||||
// so the inconsistencies don't matter here
|
||||
// @ts-ignore
|
||||
createSelector([
|
||||
// @ts-ignore
|
||||
select(stableArg),
|
||||
(_, lastResult) => lastResult,
|
||||
(_) => stableArg
|
||||
], preSelector, {
|
||||
memoizeOptions: {
|
||||
resultEqualityCheck: shallowEqual
|
||||
}
|
||||
})
|
||||
), [select, stableArg]);
|
||||
const querySelector = useMemo(() => selectFromResult ? createSelector([selectDefaultResult], selectFromResult, {
|
||||
devModeChecks: {
|
||||
identityFunctionCheck: "never"
|
||||
}
|
||||
}) : selectDefaultResult, [selectDefaultResult, selectFromResult]);
|
||||
const currentState = useSelector((state) => querySelector(state, lastValue.current), shallowEqual);
|
||||
const store = useStore();
|
||||
const newLastValue = selectDefaultResult(store.getState(), lastValue.current);
|
||||
useIsomorphicLayoutEffect(() => {
|
||||
lastValue.current = newLastValue;
|
||||
}, [newLastValue]);
|
||||
return currentState;
|
||||
};
|
||||
return useQueryState;
|
||||
}
|
||||
function usePromiseRefUnsubscribeOnUnmount(promiseRef) {
|
||||
useEffect(() => {
|
||||
return () => {
|
||||
unsubscribePromiseRef(promiseRef);
|
||||
promiseRef.current = void 0;
|
||||
};
|
||||
}, [promiseRef]);
|
||||
}
|
||||
function refetchOrErrorIfUnmounted(promiseRef) {
|
||||
if (!promiseRef.current) throw new Error(process.env.NODE_ENV === "production" ? _formatProdErrorMessage2(38) : "Cannot refetch a query that has not been started yet.");
|
||||
return promiseRef.current.refetch();
|
||||
}
|
||||
function buildQueryHooks(endpointName) {
|
||||
const useQuerySubscription = (arg, options = {}) => {
|
||||
const [promiseRef] = useQuerySubscriptionCommonImpl(endpointName, arg, options);
|
||||
usePromiseRefUnsubscribeOnUnmount(promiseRef);
|
||||
return useMemo(() => ({
|
||||
/**
|
||||
* A method to manually refetch data for the query
|
||||
*/
|
||||
refetch: () => refetchOrErrorIfUnmounted(promiseRef)
|
||||
}), [promiseRef]);
|
||||
};
|
||||
const useLazyQuerySubscription = ({
|
||||
refetchOnReconnect,
|
||||
refetchOnFocus,
|
||||
pollingInterval = 0,
|
||||
skipPollingIfUnfocused = false
|
||||
} = {}) => {
|
||||
const {
|
||||
initiate
|
||||
} = api.endpoints[endpointName];
|
||||
const dispatch = useDispatch();
|
||||
const [arg, setArg] = useState(UNINITIALIZED_VALUE);
|
||||
const promiseRef = useRef(void 0);
|
||||
const stableSubscriptionOptions = useShallowStableValue({
|
||||
refetchOnReconnect,
|
||||
refetchOnFocus,
|
||||
pollingInterval,
|
||||
skipPollingIfUnfocused
|
||||
});
|
||||
usePossiblyImmediateEffect(() => {
|
||||
var _a, _b;
|
||||
const lastSubscriptionOptions = (_a = promiseRef.current) == null ? void 0 : _a.subscriptionOptions;
|
||||
if (stableSubscriptionOptions !== lastSubscriptionOptions) {
|
||||
(_b = promiseRef.current) == null ? void 0 : _b.updateSubscriptionOptions(stableSubscriptionOptions);
|
||||
}
|
||||
}, [stableSubscriptionOptions]);
|
||||
const subscriptionOptionsRef = useRef(stableSubscriptionOptions);
|
||||
usePossiblyImmediateEffect(() => {
|
||||
subscriptionOptionsRef.current = stableSubscriptionOptions;
|
||||
}, [stableSubscriptionOptions]);
|
||||
const trigger = useCallback(function(arg2, preferCacheValue = false) {
|
||||
let promise;
|
||||
batch(() => {
|
||||
unsubscribePromiseRef(promiseRef);
|
||||
promiseRef.current = promise = dispatch(initiate(arg2, {
|
||||
subscriptionOptions: subscriptionOptionsRef.current,
|
||||
forceRefetch: !preferCacheValue
|
||||
}));
|
||||
setArg(arg2);
|
||||
});
|
||||
return promise;
|
||||
}, [dispatch, initiate]);
|
||||
const reset = useCallback(() => {
|
||||
var _a, _b;
|
||||
if ((_a = promiseRef.current) == null ? void 0 : _a.queryCacheKey) {
|
||||
dispatch(api.internalActions.removeQueryResult({
|
||||
queryCacheKey: (_b = promiseRef.current) == null ? void 0 : _b.queryCacheKey
|
||||
}));
|
||||
}
|
||||
}, [dispatch]);
|
||||
useEffect(() => {
|
||||
return () => {
|
||||
unsubscribePromiseRef(promiseRef);
|
||||
};
|
||||
}, []);
|
||||
useEffect(() => {
|
||||
if (arg !== UNINITIALIZED_VALUE && !promiseRef.current) {
|
||||
trigger(arg, true);
|
||||
}
|
||||
}, [arg, trigger]);
|
||||
return useMemo(() => [trigger, arg, {
|
||||
reset
|
||||
}], [trigger, arg, reset]);
|
||||
};
|
||||
const useQueryState = buildUseQueryState(endpointName, queryStatePreSelector);
|
||||
return {
|
||||
useQueryState,
|
||||
useQuerySubscription,
|
||||
useLazyQuerySubscription,
|
||||
useLazyQuery(options) {
|
||||
const [trigger, arg, {
|
||||
reset
|
||||
}] = useLazyQuerySubscription(options);
|
||||
const queryStateResults = useQueryState(arg, __spreadProps(__spreadValues({}, options), {
|
||||
skip: arg === UNINITIALIZED_VALUE
|
||||
}));
|
||||
const info = useMemo(() => ({
|
||||
lastArg: arg
|
||||
}), [arg]);
|
||||
return useMemo(() => [trigger, __spreadProps(__spreadValues({}, queryStateResults), {
|
||||
reset
|
||||
}), info], [trigger, queryStateResults, reset, info]);
|
||||
},
|
||||
useQuery(arg, options) {
|
||||
const querySubscriptionResults = useQuerySubscription(arg, options);
|
||||
const queryStateResults = useQueryState(arg, __spreadValues({
|
||||
selectFromResult: arg === skipToken || (options == null ? void 0 : options.skip) ? void 0 : noPendingQueryStateSelector
|
||||
}, options));
|
||||
const debugValue = pick(queryStateResults, ...COMMON_HOOK_DEBUG_FIELDS);
|
||||
useDebugValue(debugValue);
|
||||
return useMemo(() => __spreadValues(__spreadValues({}, queryStateResults), querySubscriptionResults), [queryStateResults, querySubscriptionResults]);
|
||||
}
|
||||
};
|
||||
}
|
||||
function buildInfiniteQueryHooks(endpointName) {
|
||||
const useInfiniteQuerySubscription = (arg, options = {}) => {
|
||||
const [promiseRef, dispatch, initiate, stableSubscriptionOptions] = useQuerySubscriptionCommonImpl(endpointName, arg, options);
|
||||
const subscriptionOptionsRef = useRef(stableSubscriptionOptions);
|
||||
usePossiblyImmediateEffect(() => {
|
||||
subscriptionOptionsRef.current = stableSubscriptionOptions;
|
||||
}, [stableSubscriptionOptions]);
|
||||
const hookRefetchCachedPages = options.refetchCachedPages;
|
||||
const stableHookRefetchCachedPages = useShallowStableValue(hookRefetchCachedPages);
|
||||
const trigger = useCallback(function(arg2, direction) {
|
||||
let promise;
|
||||
batch(() => {
|
||||
unsubscribePromiseRef(promiseRef);
|
||||
promiseRef.current = promise = dispatch(initiate(arg2, {
|
||||
subscriptionOptions: subscriptionOptionsRef.current,
|
||||
direction
|
||||
}));
|
||||
});
|
||||
return promise;
|
||||
}, [promiseRef, dispatch, initiate]);
|
||||
usePromiseRefUnsubscribeOnUnmount(promiseRef);
|
||||
const stableArg = useStableQueryArgs(options.skip ? skipToken : arg);
|
||||
const refetch = useCallback((options2) => {
|
||||
var _a;
|
||||
if (!promiseRef.current) throw new Error(process.env.NODE_ENV === "production" ? _formatProdErrorMessage3(38) : "Cannot refetch a query that has not been started yet.");
|
||||
const mergedOptions = {
|
||||
refetchCachedPages: (_a = options2 == null ? void 0 : options2.refetchCachedPages) != null ? _a : stableHookRefetchCachedPages
|
||||
};
|
||||
return promiseRef.current.refetch(mergedOptions);
|
||||
}, [promiseRef, stableHookRefetchCachedPages]);
|
||||
return useMemo(() => {
|
||||
const fetchNextPage = () => {
|
||||
return trigger(stableArg, "forward");
|
||||
};
|
||||
const fetchPreviousPage = () => {
|
||||
return trigger(stableArg, "backward");
|
||||
};
|
||||
return {
|
||||
trigger,
|
||||
/**
|
||||
* A method to manually refetch data for the query
|
||||
*/
|
||||
refetch,
|
||||
fetchNextPage,
|
||||
fetchPreviousPage
|
||||
};
|
||||
}, [refetch, trigger, stableArg]);
|
||||
};
|
||||
const useInfiniteQueryState = buildUseQueryState(endpointName, infiniteQueryStatePreSelector);
|
||||
return {
|
||||
useInfiniteQueryState,
|
||||
useInfiniteQuerySubscription,
|
||||
useInfiniteQuery(arg, options) {
|
||||
const {
|
||||
refetch,
|
||||
fetchNextPage,
|
||||
fetchPreviousPage
|
||||
} = useInfiniteQuerySubscription(arg, options);
|
||||
const queryStateResults = useInfiniteQueryState(arg, __spreadValues({
|
||||
selectFromResult: arg === skipToken || (options == null ? void 0 : options.skip) ? void 0 : noPendingQueryStateSelector
|
||||
}, options));
|
||||
const debugValue = pick(queryStateResults, ...COMMON_HOOK_DEBUG_FIELDS, "hasNextPage", "hasPreviousPage");
|
||||
useDebugValue(debugValue);
|
||||
return useMemo(() => __spreadProps(__spreadValues({}, queryStateResults), {
|
||||
fetchNextPage,
|
||||
fetchPreviousPage,
|
||||
refetch
|
||||
}), [queryStateResults, fetchNextPage, fetchPreviousPage, refetch]);
|
||||
}
|
||||
};
|
||||
}
|
||||
function buildMutationHook(name) {
|
||||
return ({
|
||||
selectFromResult,
|
||||
fixedCacheKey
|
||||
} = {}) => {
|
||||
const {
|
||||
select,
|
||||
initiate
|
||||
} = api.endpoints[name];
|
||||
const dispatch = useDispatch();
|
||||
const [promise, setPromise] = useState();
|
||||
useEffect(() => () => {
|
||||
if (!(promise == null ? void 0 : promise.arg.fixedCacheKey)) {
|
||||
promise == null ? void 0 : promise.reset();
|
||||
}
|
||||
}, [promise]);
|
||||
const triggerMutation = useCallback(function(arg) {
|
||||
const promise2 = dispatch(initiate(arg, {
|
||||
fixedCacheKey
|
||||
}));
|
||||
setPromise(promise2);
|
||||
return promise2;
|
||||
}, [dispatch, initiate, fixedCacheKey]);
|
||||
const {
|
||||
requestId
|
||||
} = promise || {};
|
||||
const selectDefaultResult = useMemo(() => select({
|
||||
fixedCacheKey,
|
||||
requestId: promise == null ? void 0 : promise.requestId
|
||||
}), [fixedCacheKey, promise, select]);
|
||||
const mutationSelector = useMemo(() => selectFromResult ? createSelector([selectDefaultResult], selectFromResult) : selectDefaultResult, [selectFromResult, selectDefaultResult]);
|
||||
const currentState = useSelector(mutationSelector, shallowEqual);
|
||||
const originalArgs = fixedCacheKey == null ? promise == null ? void 0 : promise.arg.originalArgs : void 0;
|
||||
const reset = useCallback(() => {
|
||||
batch(() => {
|
||||
if (promise) {
|
||||
setPromise(void 0);
|
||||
}
|
||||
if (fixedCacheKey) {
|
||||
dispatch(api.internalActions.removeMutationResult({
|
||||
requestId,
|
||||
fixedCacheKey
|
||||
}));
|
||||
}
|
||||
});
|
||||
}, [dispatch, fixedCacheKey, promise, requestId]);
|
||||
const debugValue = pick(currentState, ...COMMON_HOOK_DEBUG_FIELDS, "endpointName");
|
||||
useDebugValue(debugValue);
|
||||
const finalState = useMemo(() => __spreadProps(__spreadValues({}, currentState), {
|
||||
originalArgs,
|
||||
reset
|
||||
}), [currentState, originalArgs, reset]);
|
||||
return useMemo(() => [triggerMutation, finalState], [triggerMutation, finalState]);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// src/query/react/module.ts
|
||||
var reactHooksModuleName = /* @__PURE__ */ Symbol();
|
||||
var reactHooksModule = (_a = {}) => {
|
||||
var _b = _a, {
|
||||
batch = rrBatch,
|
||||
hooks = {
|
||||
useDispatch: rrUseDispatch,
|
||||
useSelector: rrUseSelector,
|
||||
useStore: rrUseStore
|
||||
},
|
||||
createSelector = _createSelector,
|
||||
unstable__sideEffectsInRender = false
|
||||
} = _b, rest = __objRest(_b, [
|
||||
"batch",
|
||||
"hooks",
|
||||
"createSelector",
|
||||
"unstable__sideEffectsInRender"
|
||||
]);
|
||||
if (process.env.NODE_ENV !== "production") {
|
||||
const hookNames = ["useDispatch", "useSelector", "useStore"];
|
||||
let warned = false;
|
||||
for (const hookName of hookNames) {
|
||||
if (countObjectKeys(rest) > 0) {
|
||||
if (rest[hookName]) {
|
||||
if (!warned) {
|
||||
console.warn("As of RTK 2.0, the hooks now need to be specified as one object, provided under a `hooks` key:\n`reactHooksModule({ hooks: { useDispatch, useSelector, useStore } })`");
|
||||
warned = true;
|
||||
}
|
||||
}
|
||||
hooks[hookName] = rest[hookName];
|
||||
}
|
||||
if (typeof hooks[hookName] !== "function") {
|
||||
throw new Error(process.env.NODE_ENV === "production" ? _formatProdErrorMessage4(36) : `When using custom hooks for context, all ${hookNames.length} hooks need to be provided: ${hookNames.join(", ")}.
|
||||
Hook ${hookName} was either not provided or not a function.`);
|
||||
}
|
||||
}
|
||||
}
|
||||
return {
|
||||
name: reactHooksModuleName,
|
||||
init(api, {
|
||||
serializeQueryArgs
|
||||
}, context) {
|
||||
const anyApi = api;
|
||||
const {
|
||||
buildQueryHooks,
|
||||
buildInfiniteQueryHooks,
|
||||
buildMutationHook,
|
||||
usePrefetch
|
||||
} = buildHooks({
|
||||
api,
|
||||
moduleOptions: {
|
||||
batch,
|
||||
hooks,
|
||||
unstable__sideEffectsInRender,
|
||||
createSelector
|
||||
},
|
||||
serializeQueryArgs,
|
||||
context
|
||||
});
|
||||
safeAssign(anyApi, {
|
||||
usePrefetch
|
||||
});
|
||||
safeAssign(context, {
|
||||
batch
|
||||
});
|
||||
return {
|
||||
injectEndpoint(endpointName, definition) {
|
||||
if (isQueryDefinition(definition)) {
|
||||
const {
|
||||
useQuery,
|
||||
useLazyQuery,
|
||||
useLazyQuerySubscription,
|
||||
useQueryState,
|
||||
useQuerySubscription
|
||||
} = buildQueryHooks(endpointName);
|
||||
safeAssign(anyApi.endpoints[endpointName], {
|
||||
useQuery,
|
||||
useLazyQuery,
|
||||
useLazyQuerySubscription,
|
||||
useQueryState,
|
||||
useQuerySubscription
|
||||
});
|
||||
api[`use${capitalize(endpointName)}Query`] = useQuery;
|
||||
api[`useLazy${capitalize(endpointName)}Query`] = useLazyQuery;
|
||||
}
|
||||
if (isMutationDefinition(definition)) {
|
||||
const useMutation = buildMutationHook(endpointName);
|
||||
safeAssign(anyApi.endpoints[endpointName], {
|
||||
useMutation
|
||||
});
|
||||
api[`use${capitalize(endpointName)}Mutation`] = useMutation;
|
||||
} else if (isInfiniteQueryDefinition(definition)) {
|
||||
const {
|
||||
useInfiniteQuery,
|
||||
useInfiniteQuerySubscription,
|
||||
useInfiniteQueryState
|
||||
} = buildInfiniteQueryHooks(endpointName);
|
||||
safeAssign(anyApi.endpoints[endpointName], {
|
||||
useInfiniteQuery,
|
||||
useInfiniteQuerySubscription,
|
||||
useInfiniteQueryState
|
||||
});
|
||||
api[`use${capitalize(endpointName)}InfiniteQuery`] = useInfiniteQuery;
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
// src/query/react/index.ts
|
||||
export * from "@reduxjs/toolkit/query";
|
||||
|
||||
// src/query/react/ApiProvider.tsx
|
||||
import { configureStore, formatProdErrorMessage as _formatProdErrorMessage5 } from "@reduxjs/toolkit";
|
||||
import * as React from "react";
|
||||
function ApiProvider(props) {
|
||||
const context = props.context || ReactReduxContext;
|
||||
const existingContext = useContext(context);
|
||||
if (existingContext) {
|
||||
throw new Error(process.env.NODE_ENV === "production" ? _formatProdErrorMessage5(35) : "Existing Redux context detected. If you already have a store set up, please use the traditional Redux setup.");
|
||||
}
|
||||
const [store] = React.useState(() => configureStore({
|
||||
reducer: {
|
||||
[props.api.reducerPath]: props.api.reducer
|
||||
},
|
||||
middleware: (gDM) => gDM().concat(props.api.middleware)
|
||||
}));
|
||||
useEffect(() => props.setupListeners === false ? void 0 : setupListeners(store.dispatch, props.setupListeners), [props.setupListeners, store.dispatch]);
|
||||
return /* @__PURE__ */ React.createElement(Provider, { store, context }, props.children);
|
||||
}
|
||||
|
||||
// src/query/react/index.ts
|
||||
var createApi = /* @__PURE__ */ buildCreateApi(coreModule(), reactHooksModule());
|
||||
export {
|
||||
ApiProvider,
|
||||
UNINITIALIZED_VALUE,
|
||||
createApi,
|
||||
reactHooksModule,
|
||||
reactHooksModuleName
|
||||
};
|
||||
//# sourceMappingURL=rtk-query-react.legacy-esm.js.map
|
||||
1
frontend/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.legacy-esm.js.map
generated
vendored
Normal file
1
frontend/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.legacy-esm.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
705
frontend/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.mjs
generated
vendored
Normal file
705
frontend/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.mjs
generated
vendored
Normal file
|
|
@ -0,0 +1,705 @@
|
|||
// src/query/react/rtkqImports.ts
|
||||
import { buildCreateApi, coreModule, copyWithStructuralSharing, setupListeners, QueryStatus, skipToken } from "@reduxjs/toolkit/query";
|
||||
|
||||
// src/query/react/module.ts
|
||||
import { formatProdErrorMessage as _formatProdErrorMessage4 } from "@reduxjs/toolkit";
|
||||
import { batch as rrBatch, useDispatch as rrUseDispatch, useSelector as rrUseSelector, useStore as rrUseStore } from "react-redux";
|
||||
import { createSelector as _createSelector } from "reselect";
|
||||
|
||||
// src/query/utils/capitalize.ts
|
||||
function capitalize(str) {
|
||||
return str.replace(str[0], str[0].toUpperCase());
|
||||
}
|
||||
|
||||
// src/query/utils/countObjectKeys.ts
|
||||
function countObjectKeys(obj) {
|
||||
let count = 0;
|
||||
for (const _key in obj) {
|
||||
count++;
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
// src/query/endpointDefinitions.ts
|
||||
var ENDPOINT_QUERY = "query" /* query */;
|
||||
var ENDPOINT_MUTATION = "mutation" /* mutation */;
|
||||
var ENDPOINT_INFINITEQUERY = "infinitequery" /* infinitequery */;
|
||||
function isQueryDefinition(e) {
|
||||
return e.type === ENDPOINT_QUERY;
|
||||
}
|
||||
function isMutationDefinition(e) {
|
||||
return e.type === ENDPOINT_MUTATION;
|
||||
}
|
||||
function isInfiniteQueryDefinition(e) {
|
||||
return e.type === ENDPOINT_INFINITEQUERY;
|
||||
}
|
||||
|
||||
// src/query/tsHelpers.ts
|
||||
function safeAssign(target, ...args) {
|
||||
return Object.assign(target, ...args);
|
||||
}
|
||||
|
||||
// src/query/react/buildHooks.ts
|
||||
import { formatProdErrorMessage as _formatProdErrorMessage, formatProdErrorMessage as _formatProdErrorMessage2, formatProdErrorMessage as _formatProdErrorMessage3 } from "@reduxjs/toolkit";
|
||||
|
||||
// src/query/react/constants.ts
|
||||
var UNINITIALIZED_VALUE = /* @__PURE__ */ Symbol();
|
||||
|
||||
// src/query/react/reactImports.ts
|
||||
import { useEffect, useRef, useMemo, useContext, useCallback, useDebugValue, useLayoutEffect, useState } from "react";
|
||||
|
||||
// src/query/react/reactReduxImports.ts
|
||||
import { shallowEqual, Provider, ReactReduxContext } from "react-redux";
|
||||
|
||||
// src/query/react/useSerializedStableValue.ts
|
||||
function useStableQueryArgs(queryArgs) {
|
||||
const cache = useRef(queryArgs);
|
||||
const copy = useMemo(() => copyWithStructuralSharing(cache.current, queryArgs), [queryArgs]);
|
||||
useEffect(() => {
|
||||
if (cache.current !== copy) {
|
||||
cache.current = copy;
|
||||
}
|
||||
}, [copy]);
|
||||
return copy;
|
||||
}
|
||||
|
||||
// src/query/react/useShallowStableValue.ts
|
||||
function useShallowStableValue(value) {
|
||||
const cache = useRef(value);
|
||||
useEffect(() => {
|
||||
if (!shallowEqual(cache.current, value)) {
|
||||
cache.current = value;
|
||||
}
|
||||
}, [value]);
|
||||
return shallowEqual(cache.current, value) ? cache.current : value;
|
||||
}
|
||||
|
||||
// src/query/react/buildHooks.ts
|
||||
var canUseDOM = () => !!(typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined");
|
||||
var isDOM = /* @__PURE__ */ canUseDOM();
|
||||
var isRunningInReactNative = () => typeof navigator !== "undefined" && navigator.product === "ReactNative";
|
||||
var isReactNative = /* @__PURE__ */ isRunningInReactNative();
|
||||
var getUseIsomorphicLayoutEffect = () => isDOM || isReactNative ? useLayoutEffect : useEffect;
|
||||
var useIsomorphicLayoutEffect = /* @__PURE__ */ getUseIsomorphicLayoutEffect();
|
||||
var noPendingQueryStateSelector = (selected) => {
|
||||
if (selected.isUninitialized) {
|
||||
return {
|
||||
...selected,
|
||||
isUninitialized: false,
|
||||
isFetching: true,
|
||||
isLoading: selected.data !== void 0 ? false : true,
|
||||
// This is the one place where we still have to use `QueryStatus` as an enum,
|
||||
// since it's the only reference in the React package and not in the core.
|
||||
status: QueryStatus.pending
|
||||
};
|
||||
}
|
||||
return selected;
|
||||
};
|
||||
function pick(obj, ...keys) {
|
||||
const ret = {};
|
||||
keys.forEach((key) => {
|
||||
ret[key] = obj[key];
|
||||
});
|
||||
return ret;
|
||||
}
|
||||
var COMMON_HOOK_DEBUG_FIELDS = ["data", "status", "isLoading", "isSuccess", "isError", "error"];
|
||||
function buildHooks({
|
||||
api,
|
||||
moduleOptions: {
|
||||
batch,
|
||||
hooks: {
|
||||
useDispatch,
|
||||
useSelector,
|
||||
useStore
|
||||
},
|
||||
unstable__sideEffectsInRender,
|
||||
createSelector
|
||||
},
|
||||
serializeQueryArgs,
|
||||
context
|
||||
}) {
|
||||
const usePossiblyImmediateEffect = unstable__sideEffectsInRender ? (cb) => cb() : useEffect;
|
||||
const unsubscribePromiseRef = (ref) => ref.current?.unsubscribe?.();
|
||||
const endpointDefinitions = context.endpointDefinitions;
|
||||
return {
|
||||
buildQueryHooks,
|
||||
buildInfiniteQueryHooks,
|
||||
buildMutationHook,
|
||||
usePrefetch
|
||||
};
|
||||
function queryStatePreSelector(currentState, lastResult, queryArgs) {
|
||||
if (lastResult?.endpointName && currentState.isUninitialized) {
|
||||
const {
|
||||
endpointName
|
||||
} = lastResult;
|
||||
const endpointDefinition = endpointDefinitions[endpointName];
|
||||
if (queryArgs !== skipToken && serializeQueryArgs({
|
||||
queryArgs: lastResult.originalArgs,
|
||||
endpointDefinition,
|
||||
endpointName
|
||||
}) === serializeQueryArgs({
|
||||
queryArgs,
|
||||
endpointDefinition,
|
||||
endpointName
|
||||
})) lastResult = void 0;
|
||||
}
|
||||
let data = currentState.isSuccess ? currentState.data : lastResult?.data;
|
||||
if (data === void 0) data = currentState.data;
|
||||
const hasData = data !== void 0;
|
||||
const isFetching = currentState.isLoading;
|
||||
const isLoading = (!lastResult || lastResult.isLoading || lastResult.isUninitialized) && !hasData && isFetching;
|
||||
const isSuccess = currentState.isSuccess || hasData && (isFetching && !lastResult?.isError || currentState.isUninitialized);
|
||||
return {
|
||||
...currentState,
|
||||
data,
|
||||
currentData: currentState.data,
|
||||
isFetching,
|
||||
isLoading,
|
||||
isSuccess
|
||||
};
|
||||
}
|
||||
function infiniteQueryStatePreSelector(currentState, lastResult, queryArgs) {
|
||||
if (lastResult?.endpointName && currentState.isUninitialized) {
|
||||
const {
|
||||
endpointName
|
||||
} = lastResult;
|
||||
const endpointDefinition = endpointDefinitions[endpointName];
|
||||
if (queryArgs !== skipToken && serializeQueryArgs({
|
||||
queryArgs: lastResult.originalArgs,
|
||||
endpointDefinition,
|
||||
endpointName
|
||||
}) === serializeQueryArgs({
|
||||
queryArgs,
|
||||
endpointDefinition,
|
||||
endpointName
|
||||
})) lastResult = void 0;
|
||||
}
|
||||
let data = currentState.isSuccess ? currentState.data : lastResult?.data;
|
||||
if (data === void 0) data = currentState.data;
|
||||
const hasData = data !== void 0;
|
||||
const isFetching = currentState.isLoading;
|
||||
const isLoading = (!lastResult || lastResult.isLoading || lastResult.isUninitialized) && !hasData && isFetching;
|
||||
const isSuccess = currentState.isSuccess || hasData && (isFetching && !lastResult?.isError || currentState.isUninitialized);
|
||||
return {
|
||||
...currentState,
|
||||
data,
|
||||
currentData: currentState.data,
|
||||
isFetching,
|
||||
isLoading,
|
||||
isSuccess
|
||||
};
|
||||
}
|
||||
function usePrefetch(endpointName, defaultOptions) {
|
||||
const dispatch = useDispatch();
|
||||
const stableDefaultOptions = useShallowStableValue(defaultOptions);
|
||||
return useCallback((arg, options) => dispatch(api.util.prefetch(endpointName, arg, {
|
||||
...stableDefaultOptions,
|
||||
...options
|
||||
})), [endpointName, dispatch, stableDefaultOptions]);
|
||||
}
|
||||
function useQuerySubscriptionCommonImpl(endpointName, arg, {
|
||||
refetchOnReconnect,
|
||||
refetchOnFocus,
|
||||
refetchOnMountOrArgChange,
|
||||
skip = false,
|
||||
pollingInterval = 0,
|
||||
skipPollingIfUnfocused = false,
|
||||
...rest
|
||||
} = {}) {
|
||||
const {
|
||||
initiate
|
||||
} = api.endpoints[endpointName];
|
||||
const dispatch = useDispatch();
|
||||
const subscriptionSelectorsRef = useRef(void 0);
|
||||
if (!subscriptionSelectorsRef.current) {
|
||||
const returnedValue = dispatch(api.internalActions.internal_getRTKQSubscriptions());
|
||||
if (process.env.NODE_ENV !== "production") {
|
||||
if (typeof returnedValue !== "object" || typeof returnedValue?.type === "string") {
|
||||
throw new Error(process.env.NODE_ENV === "production" ? _formatProdErrorMessage(37) : `Warning: Middleware for RTK-Query API at reducerPath "${api.reducerPath}" has not been added to the store.
|
||||
You must add the middleware for RTK-Query to function correctly!`);
|
||||
}
|
||||
}
|
||||
subscriptionSelectorsRef.current = returnedValue;
|
||||
}
|
||||
const stableArg = useStableQueryArgs(skip ? skipToken : arg);
|
||||
const stableSubscriptionOptions = useShallowStableValue({
|
||||
refetchOnReconnect,
|
||||
refetchOnFocus,
|
||||
pollingInterval,
|
||||
skipPollingIfUnfocused
|
||||
});
|
||||
const initialPageParam = rest.initialPageParam;
|
||||
const stableInitialPageParam = useShallowStableValue(initialPageParam);
|
||||
const refetchCachedPages = rest.refetchCachedPages;
|
||||
const stableRefetchCachedPages = useShallowStableValue(refetchCachedPages);
|
||||
const promiseRef = useRef(void 0);
|
||||
let {
|
||||
queryCacheKey,
|
||||
requestId
|
||||
} = promiseRef.current || {};
|
||||
let currentRenderHasSubscription = false;
|
||||
if (queryCacheKey && requestId) {
|
||||
currentRenderHasSubscription = subscriptionSelectorsRef.current.isRequestSubscribed(queryCacheKey, requestId);
|
||||
}
|
||||
const subscriptionRemoved = !currentRenderHasSubscription && promiseRef.current !== void 0;
|
||||
usePossiblyImmediateEffect(() => {
|
||||
if (subscriptionRemoved) {
|
||||
promiseRef.current = void 0;
|
||||
}
|
||||
}, [subscriptionRemoved]);
|
||||
usePossiblyImmediateEffect(() => {
|
||||
const lastPromise = promiseRef.current;
|
||||
if (typeof process !== "undefined" && process.env.NODE_ENV === "removeMeOnCompilation") {
|
||||
console.log(subscriptionRemoved);
|
||||
}
|
||||
if (stableArg === skipToken) {
|
||||
lastPromise?.unsubscribe();
|
||||
promiseRef.current = void 0;
|
||||
return;
|
||||
}
|
||||
const lastSubscriptionOptions = promiseRef.current?.subscriptionOptions;
|
||||
if (!lastPromise || lastPromise.arg !== stableArg) {
|
||||
lastPromise?.unsubscribe();
|
||||
const promise = dispatch(initiate(stableArg, {
|
||||
subscriptionOptions: stableSubscriptionOptions,
|
||||
forceRefetch: refetchOnMountOrArgChange,
|
||||
...isInfiniteQueryDefinition(endpointDefinitions[endpointName]) ? {
|
||||
initialPageParam: stableInitialPageParam,
|
||||
refetchCachedPages: stableRefetchCachedPages
|
||||
} : {}
|
||||
}));
|
||||
promiseRef.current = promise;
|
||||
} else if (stableSubscriptionOptions !== lastSubscriptionOptions) {
|
||||
lastPromise.updateSubscriptionOptions(stableSubscriptionOptions);
|
||||
}
|
||||
}, [dispatch, initiate, refetchOnMountOrArgChange, stableArg, stableSubscriptionOptions, subscriptionRemoved, stableInitialPageParam, stableRefetchCachedPages, endpointName]);
|
||||
return [promiseRef, dispatch, initiate, stableSubscriptionOptions];
|
||||
}
|
||||
function buildUseQueryState(endpointName, preSelector) {
|
||||
const useQueryState = (arg, {
|
||||
skip = false,
|
||||
selectFromResult
|
||||
} = {}) => {
|
||||
const {
|
||||
select
|
||||
} = api.endpoints[endpointName];
|
||||
const stableArg = useStableQueryArgs(skip ? skipToken : arg);
|
||||
const lastValue = useRef(void 0);
|
||||
const selectDefaultResult = useMemo(() => (
|
||||
// Normally ts-ignores are bad and should be avoided, but we're
|
||||
// already casting this selector to be `Selector<any>` anyway,
|
||||
// so the inconsistencies don't matter here
|
||||
// @ts-ignore
|
||||
createSelector([
|
||||
// @ts-ignore
|
||||
select(stableArg),
|
||||
(_, lastResult) => lastResult,
|
||||
(_) => stableArg
|
||||
], preSelector, {
|
||||
memoizeOptions: {
|
||||
resultEqualityCheck: shallowEqual
|
||||
}
|
||||
})
|
||||
), [select, stableArg]);
|
||||
const querySelector = useMemo(() => selectFromResult ? createSelector([selectDefaultResult], selectFromResult, {
|
||||
devModeChecks: {
|
||||
identityFunctionCheck: "never"
|
||||
}
|
||||
}) : selectDefaultResult, [selectDefaultResult, selectFromResult]);
|
||||
const currentState = useSelector((state) => querySelector(state, lastValue.current), shallowEqual);
|
||||
const store = useStore();
|
||||
const newLastValue = selectDefaultResult(store.getState(), lastValue.current);
|
||||
useIsomorphicLayoutEffect(() => {
|
||||
lastValue.current = newLastValue;
|
||||
}, [newLastValue]);
|
||||
return currentState;
|
||||
};
|
||||
return useQueryState;
|
||||
}
|
||||
function usePromiseRefUnsubscribeOnUnmount(promiseRef) {
|
||||
useEffect(() => {
|
||||
return () => {
|
||||
unsubscribePromiseRef(promiseRef);
|
||||
promiseRef.current = void 0;
|
||||
};
|
||||
}, [promiseRef]);
|
||||
}
|
||||
function refetchOrErrorIfUnmounted(promiseRef) {
|
||||
if (!promiseRef.current) throw new Error(process.env.NODE_ENV === "production" ? _formatProdErrorMessage2(38) : "Cannot refetch a query that has not been started yet.");
|
||||
return promiseRef.current.refetch();
|
||||
}
|
||||
function buildQueryHooks(endpointName) {
|
||||
const useQuerySubscription = (arg, options = {}) => {
|
||||
const [promiseRef] = useQuerySubscriptionCommonImpl(endpointName, arg, options);
|
||||
usePromiseRefUnsubscribeOnUnmount(promiseRef);
|
||||
return useMemo(() => ({
|
||||
/**
|
||||
* A method to manually refetch data for the query
|
||||
*/
|
||||
refetch: () => refetchOrErrorIfUnmounted(promiseRef)
|
||||
}), [promiseRef]);
|
||||
};
|
||||
const useLazyQuerySubscription = ({
|
||||
refetchOnReconnect,
|
||||
refetchOnFocus,
|
||||
pollingInterval = 0,
|
||||
skipPollingIfUnfocused = false
|
||||
} = {}) => {
|
||||
const {
|
||||
initiate
|
||||
} = api.endpoints[endpointName];
|
||||
const dispatch = useDispatch();
|
||||
const [arg, setArg] = useState(UNINITIALIZED_VALUE);
|
||||
const promiseRef = useRef(void 0);
|
||||
const stableSubscriptionOptions = useShallowStableValue({
|
||||
refetchOnReconnect,
|
||||
refetchOnFocus,
|
||||
pollingInterval,
|
||||
skipPollingIfUnfocused
|
||||
});
|
||||
usePossiblyImmediateEffect(() => {
|
||||
const lastSubscriptionOptions = promiseRef.current?.subscriptionOptions;
|
||||
if (stableSubscriptionOptions !== lastSubscriptionOptions) {
|
||||
promiseRef.current?.updateSubscriptionOptions(stableSubscriptionOptions);
|
||||
}
|
||||
}, [stableSubscriptionOptions]);
|
||||
const subscriptionOptionsRef = useRef(stableSubscriptionOptions);
|
||||
usePossiblyImmediateEffect(() => {
|
||||
subscriptionOptionsRef.current = stableSubscriptionOptions;
|
||||
}, [stableSubscriptionOptions]);
|
||||
const trigger = useCallback(function(arg2, preferCacheValue = false) {
|
||||
let promise;
|
||||
batch(() => {
|
||||
unsubscribePromiseRef(promiseRef);
|
||||
promiseRef.current = promise = dispatch(initiate(arg2, {
|
||||
subscriptionOptions: subscriptionOptionsRef.current,
|
||||
forceRefetch: !preferCacheValue
|
||||
}));
|
||||
setArg(arg2);
|
||||
});
|
||||
return promise;
|
||||
}, [dispatch, initiate]);
|
||||
const reset = useCallback(() => {
|
||||
if (promiseRef.current?.queryCacheKey) {
|
||||
dispatch(api.internalActions.removeQueryResult({
|
||||
queryCacheKey: promiseRef.current?.queryCacheKey
|
||||
}));
|
||||
}
|
||||
}, [dispatch]);
|
||||
useEffect(() => {
|
||||
return () => {
|
||||
unsubscribePromiseRef(promiseRef);
|
||||
};
|
||||
}, []);
|
||||
useEffect(() => {
|
||||
if (arg !== UNINITIALIZED_VALUE && !promiseRef.current) {
|
||||
trigger(arg, true);
|
||||
}
|
||||
}, [arg, trigger]);
|
||||
return useMemo(() => [trigger, arg, {
|
||||
reset
|
||||
}], [trigger, arg, reset]);
|
||||
};
|
||||
const useQueryState = buildUseQueryState(endpointName, queryStatePreSelector);
|
||||
return {
|
||||
useQueryState,
|
||||
useQuerySubscription,
|
||||
useLazyQuerySubscription,
|
||||
useLazyQuery(options) {
|
||||
const [trigger, arg, {
|
||||
reset
|
||||
}] = useLazyQuerySubscription(options);
|
||||
const queryStateResults = useQueryState(arg, {
|
||||
...options,
|
||||
skip: arg === UNINITIALIZED_VALUE
|
||||
});
|
||||
const info = useMemo(() => ({
|
||||
lastArg: arg
|
||||
}), [arg]);
|
||||
return useMemo(() => [trigger, {
|
||||
...queryStateResults,
|
||||
reset
|
||||
}, info], [trigger, queryStateResults, reset, info]);
|
||||
},
|
||||
useQuery(arg, options) {
|
||||
const querySubscriptionResults = useQuerySubscription(arg, options);
|
||||
const queryStateResults = useQueryState(arg, {
|
||||
selectFromResult: arg === skipToken || options?.skip ? void 0 : noPendingQueryStateSelector,
|
||||
...options
|
||||
});
|
||||
const debugValue = pick(queryStateResults, ...COMMON_HOOK_DEBUG_FIELDS);
|
||||
useDebugValue(debugValue);
|
||||
return useMemo(() => ({
|
||||
...queryStateResults,
|
||||
...querySubscriptionResults
|
||||
}), [queryStateResults, querySubscriptionResults]);
|
||||
}
|
||||
};
|
||||
}
|
||||
function buildInfiniteQueryHooks(endpointName) {
|
||||
const useInfiniteQuerySubscription = (arg, options = {}) => {
|
||||
const [promiseRef, dispatch, initiate, stableSubscriptionOptions] = useQuerySubscriptionCommonImpl(endpointName, arg, options);
|
||||
const subscriptionOptionsRef = useRef(stableSubscriptionOptions);
|
||||
usePossiblyImmediateEffect(() => {
|
||||
subscriptionOptionsRef.current = stableSubscriptionOptions;
|
||||
}, [stableSubscriptionOptions]);
|
||||
const hookRefetchCachedPages = options.refetchCachedPages;
|
||||
const stableHookRefetchCachedPages = useShallowStableValue(hookRefetchCachedPages);
|
||||
const trigger = useCallback(function(arg2, direction) {
|
||||
let promise;
|
||||
batch(() => {
|
||||
unsubscribePromiseRef(promiseRef);
|
||||
promiseRef.current = promise = dispatch(initiate(arg2, {
|
||||
subscriptionOptions: subscriptionOptionsRef.current,
|
||||
direction
|
||||
}));
|
||||
});
|
||||
return promise;
|
||||
}, [promiseRef, dispatch, initiate]);
|
||||
usePromiseRefUnsubscribeOnUnmount(promiseRef);
|
||||
const stableArg = useStableQueryArgs(options.skip ? skipToken : arg);
|
||||
const refetch = useCallback((options2) => {
|
||||
if (!promiseRef.current) throw new Error(process.env.NODE_ENV === "production" ? _formatProdErrorMessage3(38) : "Cannot refetch a query that has not been started yet.");
|
||||
const mergedOptions = {
|
||||
refetchCachedPages: options2?.refetchCachedPages ?? stableHookRefetchCachedPages
|
||||
};
|
||||
return promiseRef.current.refetch(mergedOptions);
|
||||
}, [promiseRef, stableHookRefetchCachedPages]);
|
||||
return useMemo(() => {
|
||||
const fetchNextPage = () => {
|
||||
return trigger(stableArg, "forward");
|
||||
};
|
||||
const fetchPreviousPage = () => {
|
||||
return trigger(stableArg, "backward");
|
||||
};
|
||||
return {
|
||||
trigger,
|
||||
/**
|
||||
* A method to manually refetch data for the query
|
||||
*/
|
||||
refetch,
|
||||
fetchNextPage,
|
||||
fetchPreviousPage
|
||||
};
|
||||
}, [refetch, trigger, stableArg]);
|
||||
};
|
||||
const useInfiniteQueryState = buildUseQueryState(endpointName, infiniteQueryStatePreSelector);
|
||||
return {
|
||||
useInfiniteQueryState,
|
||||
useInfiniteQuerySubscription,
|
||||
useInfiniteQuery(arg, options) {
|
||||
const {
|
||||
refetch,
|
||||
fetchNextPage,
|
||||
fetchPreviousPage
|
||||
} = useInfiniteQuerySubscription(arg, options);
|
||||
const queryStateResults = useInfiniteQueryState(arg, {
|
||||
selectFromResult: arg === skipToken || options?.skip ? void 0 : noPendingQueryStateSelector,
|
||||
...options
|
||||
});
|
||||
const debugValue = pick(queryStateResults, ...COMMON_HOOK_DEBUG_FIELDS, "hasNextPage", "hasPreviousPage");
|
||||
useDebugValue(debugValue);
|
||||
return useMemo(() => ({
|
||||
...queryStateResults,
|
||||
fetchNextPage,
|
||||
fetchPreviousPage,
|
||||
refetch
|
||||
}), [queryStateResults, fetchNextPage, fetchPreviousPage, refetch]);
|
||||
}
|
||||
};
|
||||
}
|
||||
function buildMutationHook(name) {
|
||||
return ({
|
||||
selectFromResult,
|
||||
fixedCacheKey
|
||||
} = {}) => {
|
||||
const {
|
||||
select,
|
||||
initiate
|
||||
} = api.endpoints[name];
|
||||
const dispatch = useDispatch();
|
||||
const [promise, setPromise] = useState();
|
||||
useEffect(() => () => {
|
||||
if (!promise?.arg.fixedCacheKey) {
|
||||
promise?.reset();
|
||||
}
|
||||
}, [promise]);
|
||||
const triggerMutation = useCallback(function(arg) {
|
||||
const promise2 = dispatch(initiate(arg, {
|
||||
fixedCacheKey
|
||||
}));
|
||||
setPromise(promise2);
|
||||
return promise2;
|
||||
}, [dispatch, initiate, fixedCacheKey]);
|
||||
const {
|
||||
requestId
|
||||
} = promise || {};
|
||||
const selectDefaultResult = useMemo(() => select({
|
||||
fixedCacheKey,
|
||||
requestId: promise?.requestId
|
||||
}), [fixedCacheKey, promise, select]);
|
||||
const mutationSelector = useMemo(() => selectFromResult ? createSelector([selectDefaultResult], selectFromResult) : selectDefaultResult, [selectFromResult, selectDefaultResult]);
|
||||
const currentState = useSelector(mutationSelector, shallowEqual);
|
||||
const originalArgs = fixedCacheKey == null ? promise?.arg.originalArgs : void 0;
|
||||
const reset = useCallback(() => {
|
||||
batch(() => {
|
||||
if (promise) {
|
||||
setPromise(void 0);
|
||||
}
|
||||
if (fixedCacheKey) {
|
||||
dispatch(api.internalActions.removeMutationResult({
|
||||
requestId,
|
||||
fixedCacheKey
|
||||
}));
|
||||
}
|
||||
});
|
||||
}, [dispatch, fixedCacheKey, promise, requestId]);
|
||||
const debugValue = pick(currentState, ...COMMON_HOOK_DEBUG_FIELDS, "endpointName");
|
||||
useDebugValue(debugValue);
|
||||
const finalState = useMemo(() => ({
|
||||
...currentState,
|
||||
originalArgs,
|
||||
reset
|
||||
}), [currentState, originalArgs, reset]);
|
||||
return useMemo(() => [triggerMutation, finalState], [triggerMutation, finalState]);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// src/query/react/module.ts
|
||||
var reactHooksModuleName = /* @__PURE__ */ Symbol();
|
||||
var reactHooksModule = ({
|
||||
batch = rrBatch,
|
||||
hooks = {
|
||||
useDispatch: rrUseDispatch,
|
||||
useSelector: rrUseSelector,
|
||||
useStore: rrUseStore
|
||||
},
|
||||
createSelector = _createSelector,
|
||||
unstable__sideEffectsInRender = false,
|
||||
...rest
|
||||
} = {}) => {
|
||||
if (process.env.NODE_ENV !== "production") {
|
||||
const hookNames = ["useDispatch", "useSelector", "useStore"];
|
||||
let warned = false;
|
||||
for (const hookName of hookNames) {
|
||||
if (countObjectKeys(rest) > 0) {
|
||||
if (rest[hookName]) {
|
||||
if (!warned) {
|
||||
console.warn("As of RTK 2.0, the hooks now need to be specified as one object, provided under a `hooks` key:\n`reactHooksModule({ hooks: { useDispatch, useSelector, useStore } })`");
|
||||
warned = true;
|
||||
}
|
||||
}
|
||||
hooks[hookName] = rest[hookName];
|
||||
}
|
||||
if (typeof hooks[hookName] !== "function") {
|
||||
throw new Error(process.env.NODE_ENV === "production" ? _formatProdErrorMessage4(36) : `When using custom hooks for context, all ${hookNames.length} hooks need to be provided: ${hookNames.join(", ")}.
|
||||
Hook ${hookName} was either not provided or not a function.`);
|
||||
}
|
||||
}
|
||||
}
|
||||
return {
|
||||
name: reactHooksModuleName,
|
||||
init(api, {
|
||||
serializeQueryArgs
|
||||
}, context) {
|
||||
const anyApi = api;
|
||||
const {
|
||||
buildQueryHooks,
|
||||
buildInfiniteQueryHooks,
|
||||
buildMutationHook,
|
||||
usePrefetch
|
||||
} = buildHooks({
|
||||
api,
|
||||
moduleOptions: {
|
||||
batch,
|
||||
hooks,
|
||||
unstable__sideEffectsInRender,
|
||||
createSelector
|
||||
},
|
||||
serializeQueryArgs,
|
||||
context
|
||||
});
|
||||
safeAssign(anyApi, {
|
||||
usePrefetch
|
||||
});
|
||||
safeAssign(context, {
|
||||
batch
|
||||
});
|
||||
return {
|
||||
injectEndpoint(endpointName, definition) {
|
||||
if (isQueryDefinition(definition)) {
|
||||
const {
|
||||
useQuery,
|
||||
useLazyQuery,
|
||||
useLazyQuerySubscription,
|
||||
useQueryState,
|
||||
useQuerySubscription
|
||||
} = buildQueryHooks(endpointName);
|
||||
safeAssign(anyApi.endpoints[endpointName], {
|
||||
useQuery,
|
||||
useLazyQuery,
|
||||
useLazyQuerySubscription,
|
||||
useQueryState,
|
||||
useQuerySubscription
|
||||
});
|
||||
api[`use${capitalize(endpointName)}Query`] = useQuery;
|
||||
api[`useLazy${capitalize(endpointName)}Query`] = useLazyQuery;
|
||||
}
|
||||
if (isMutationDefinition(definition)) {
|
||||
const useMutation = buildMutationHook(endpointName);
|
||||
safeAssign(anyApi.endpoints[endpointName], {
|
||||
useMutation
|
||||
});
|
||||
api[`use${capitalize(endpointName)}Mutation`] = useMutation;
|
||||
} else if (isInfiniteQueryDefinition(definition)) {
|
||||
const {
|
||||
useInfiniteQuery,
|
||||
useInfiniteQuerySubscription,
|
||||
useInfiniteQueryState
|
||||
} = buildInfiniteQueryHooks(endpointName);
|
||||
safeAssign(anyApi.endpoints[endpointName], {
|
||||
useInfiniteQuery,
|
||||
useInfiniteQuerySubscription,
|
||||
useInfiniteQueryState
|
||||
});
|
||||
api[`use${capitalize(endpointName)}InfiniteQuery`] = useInfiniteQuery;
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
// src/query/react/index.ts
|
||||
export * from "@reduxjs/toolkit/query";
|
||||
|
||||
// src/query/react/ApiProvider.tsx
|
||||
import { configureStore, formatProdErrorMessage as _formatProdErrorMessage5 } from "@reduxjs/toolkit";
|
||||
import * as React from "react";
|
||||
function ApiProvider(props) {
|
||||
const context = props.context || ReactReduxContext;
|
||||
const existingContext = useContext(context);
|
||||
if (existingContext) {
|
||||
throw new Error(process.env.NODE_ENV === "production" ? _formatProdErrorMessage5(35) : "Existing Redux context detected. If you already have a store set up, please use the traditional Redux setup.");
|
||||
}
|
||||
const [store] = React.useState(() => configureStore({
|
||||
reducer: {
|
||||
[props.api.reducerPath]: props.api.reducer
|
||||
},
|
||||
middleware: (gDM) => gDM().concat(props.api.middleware)
|
||||
}));
|
||||
useEffect(() => props.setupListeners === false ? void 0 : setupListeners(store.dispatch, props.setupListeners), [props.setupListeners, store.dispatch]);
|
||||
return /* @__PURE__ */ React.createElement(Provider, { store, context }, props.children);
|
||||
}
|
||||
|
||||
// src/query/react/index.ts
|
||||
var createApi = /* @__PURE__ */ buildCreateApi(coreModule(), reactHooksModule());
|
||||
export {
|
||||
ApiProvider,
|
||||
UNINITIALIZED_VALUE,
|
||||
createApi,
|
||||
reactHooksModule,
|
||||
reactHooksModuleName
|
||||
};
|
||||
//# sourceMappingURL=rtk-query-react.modern.mjs.map
|
||||
1
frontend/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.mjs.map
generated
vendored
Normal file
1
frontend/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
2
frontend/node_modules/@reduxjs/toolkit/dist/query/rtk-query.browser.mjs
generated
vendored
Normal file
2
frontend/node_modules/@reduxjs/toolkit/dist/query/rtk-query.browser.mjs
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
frontend/node_modules/@reduxjs/toolkit/dist/query/rtk-query.browser.mjs.map
generated
vendored
Normal file
1
frontend/node_modules/@reduxjs/toolkit/dist/query/rtk-query.browser.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
3117
frontend/node_modules/@reduxjs/toolkit/dist/query/rtk-query.legacy-esm.js
generated
vendored
Normal file
3117
frontend/node_modules/@reduxjs/toolkit/dist/query/rtk-query.legacy-esm.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
1
frontend/node_modules/@reduxjs/toolkit/dist/query/rtk-query.legacy-esm.js.map
generated
vendored
Normal file
1
frontend/node_modules/@reduxjs/toolkit/dist/query/rtk-query.legacy-esm.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
3052
frontend/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.mjs
generated
vendored
Normal file
3052
frontend/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.mjs
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
1
frontend/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.mjs.map
generated
vendored
Normal file
1
frontend/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
6
frontend/node_modules/@reduxjs/toolkit/dist/react/cjs/index.js
generated
vendored
Normal file
6
frontend/node_modules/@reduxjs/toolkit/dist/react/cjs/index.js
generated
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
'use strict'
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
module.exports = require('./redux-toolkit-react.production.min.cjs')
|
||||
} else {
|
||||
module.exports = require('./redux-toolkit-react.development.cjs')
|
||||
}
|
||||
55
frontend/node_modules/@reduxjs/toolkit/dist/react/cjs/redux-toolkit-react.development.cjs
generated
vendored
Normal file
55
frontend/node_modules/@reduxjs/toolkit/dist/react/cjs/redux-toolkit-react.development.cjs
generated
vendored
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/react/index.ts
|
||||
var react_exports = {};
|
||||
__export(react_exports, {
|
||||
createDynamicMiddleware: () => createDynamicMiddleware
|
||||
});
|
||||
module.exports = __toCommonJS(react_exports);
|
||||
__reExport(react_exports, require("@reduxjs/toolkit"), module.exports);
|
||||
|
||||
// src/dynamicMiddleware/react/index.ts
|
||||
var import_toolkit = require("@reduxjs/toolkit");
|
||||
var import_react_redux = require("react-redux");
|
||||
var createDynamicMiddleware = () => {
|
||||
const instance = (0, import_toolkit.createDynamicMiddleware)();
|
||||
const createDispatchWithMiddlewareHookFactory = (context = import_react_redux.ReactReduxContext) => {
|
||||
const useDispatch = context === import_react_redux.ReactReduxContext ? import_react_redux.useDispatch : (0, import_react_redux.createDispatchHook)(context);
|
||||
function createDispatchWithMiddlewareHook2(...middlewares) {
|
||||
instance.addMiddleware(...middlewares);
|
||||
return useDispatch;
|
||||
}
|
||||
createDispatchWithMiddlewareHook2.withTypes = () => createDispatchWithMiddlewareHook2;
|
||||
return createDispatchWithMiddlewareHook2;
|
||||
};
|
||||
const createDispatchWithMiddlewareHook = createDispatchWithMiddlewareHookFactory();
|
||||
return {
|
||||
...instance,
|
||||
createDispatchWithMiddlewareHookFactory,
|
||||
createDispatchWithMiddlewareHook
|
||||
};
|
||||
};
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
createDynamicMiddleware,
|
||||
...require("@reduxjs/toolkit")
|
||||
});
|
||||
//# sourceMappingURL=redux-toolkit-react.development.cjs.map
|
||||
1
frontend/node_modules/@reduxjs/toolkit/dist/react/cjs/redux-toolkit-react.development.cjs.map
generated
vendored
Normal file
1
frontend/node_modules/@reduxjs/toolkit/dist/react/cjs/redux-toolkit-react.development.cjs.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../../src/react/index.ts","../../../src/dynamicMiddleware/react/index.ts"],"sourcesContent":["// This must remain here so that the `mangleErrors.cjs` build script\n// does not have to import this into each source file it rewrites.\nimport { formatProdErrorMessage } from '@reduxjs/toolkit';\nexport * from '@reduxjs/toolkit';\nexport { createDynamicMiddleware } from '../dynamicMiddleware/react';\nexport type { CreateDispatchWithMiddlewareHook } from '../dynamicMiddleware/react/index';","import type { DynamicMiddlewareInstance, GetDispatch, GetState, MiddlewareApiConfig, TSHelpersExtractDispatchExtensions } from '@reduxjs/toolkit';\nimport { createDynamicMiddleware as cDM } from '@reduxjs/toolkit';\nimport type { Context } from 'react';\nimport type { ReactReduxContextValue } from 'react-redux';\nimport { createDispatchHook, ReactReduxContext, useDispatch as useDefaultDispatch } from 'react-redux';\nimport type { Action, Dispatch, Middleware, UnknownAction } from 'redux';\nexport type UseDispatchWithMiddlewareHook<Middlewares extends Middleware<any, State, DispatchType>[] = [], State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>> = () => TSHelpersExtractDispatchExtensions<Middlewares> & DispatchType;\nexport type CreateDispatchWithMiddlewareHook<State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>> = {\n <Middlewares extends [Middleware<any, State, DispatchType>, ...Middleware<any, State, DispatchType>[]]>(...middlewares: Middlewares): UseDispatchWithMiddlewareHook<Middlewares, State, DispatchType>;\n withTypes<MiddlewareConfig extends MiddlewareApiConfig>(): CreateDispatchWithMiddlewareHook<GetState<MiddlewareConfig>, GetDispatch<MiddlewareConfig>>;\n};\ntype ActionFromDispatch<DispatchType extends Dispatch<Action>> = DispatchType extends Dispatch<infer Action> ? Action : never;\ntype ReactDynamicMiddlewareInstance<State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>> = DynamicMiddlewareInstance<State, DispatchType> & {\n createDispatchWithMiddlewareHookFactory: (context?: Context<ReactReduxContextValue<State, ActionFromDispatch<DispatchType>> | null>) => CreateDispatchWithMiddlewareHook<State, DispatchType>;\n createDispatchWithMiddlewareHook: CreateDispatchWithMiddlewareHook<State, DispatchType>;\n};\nexport const createDynamicMiddleware = <State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>>(): ReactDynamicMiddlewareInstance<State, DispatchType> => {\n const instance = cDM<State, DispatchType>();\n const createDispatchWithMiddlewareHookFactory = (\n // @ts-ignore\n context: Context<ReactReduxContextValue<State, ActionFromDispatch<DispatchType>> | null> = ReactReduxContext) => {\n const useDispatch = context === ReactReduxContext ? useDefaultDispatch : createDispatchHook(context);\n function createDispatchWithMiddlewareHook<Middlewares extends Middleware<any, State, DispatchType>[]>(...middlewares: Middlewares) {\n instance.addMiddleware(...middlewares);\n return useDispatch;\n }\n createDispatchWithMiddlewareHook.withTypes = () => createDispatchWithMiddlewareHook;\n return createDispatchWithMiddlewareHook as CreateDispatchWithMiddlewareHook<State, DispatchType>;\n };\n const createDispatchWithMiddlewareHook = createDispatchWithMiddlewareHookFactory();\n return {\n ...instance,\n createDispatchWithMiddlewareHookFactory,\n createDispatchWithMiddlewareHook\n };\n};"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAAc,6BAHd;;;ACCA,qBAA+C;AAG/C,yBAAyF;AAYlF,IAAM,0BAA0B,MAAgJ;AACrL,QAAM,eAAW,eAAAA,yBAAyB;AAC1C,QAAM,0CAA0C,CAEhD,UAA2F,yCAAsB;AAC/G,UAAM,cAAc,YAAY,uCAAoB,mBAAAC,kBAAqB,uCAAmB,OAAO;AACnG,aAASC,qCAAgG,aAA0B;AACjI,eAAS,cAAc,GAAG,WAAW;AACrC,aAAO;AAAA,IACT;AACA,IAAAA,kCAAiC,YAAY,MAAMA;AACnD,WAAOA;AAAA,EACT;AACA,QAAM,mCAAmC,wCAAwC;AACjF,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,IACA;AAAA,EACF;AACF;","names":["cDM","useDefaultDispatch","createDispatchWithMiddlewareHook"]}
|
||||
2
frontend/node_modules/@reduxjs/toolkit/dist/react/cjs/redux-toolkit-react.production.min.cjs
generated
vendored
Normal file
2
frontend/node_modules/@reduxjs/toolkit/dist/react/cjs/redux-toolkit-react.production.min.cjs
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
"use strict";var s=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var x=(t,e)=>{for(var a in e)s(t,a,{get:e[a],enumerable:!0})},d=(t,e,a,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of y(e))!M.call(t,i)&&i!==a&&s(t,i,{get:()=>e[i],enumerable:!(n=w(e,i))||n.enumerable});return t},r=(t,e,a)=>(d(t,e,"default"),a&&d(a,e,"default"));var m=t=>d(s({},"__esModule",{value:!0}),t);var o={};x(o,{createDynamicMiddleware:()=>D});module.exports=m(o);r(o,require("@reduxjs/toolkit"),module.exports);var h=require("@reduxjs/toolkit"),c=require("react-redux"),D=()=>{let t=(0,h.createDynamicMiddleware)(),e=(n=c.ReactReduxContext)=>{let i=n===c.ReactReduxContext?c.useDispatch:(0,c.createDispatchHook)(n);function p(...l){return t.addMiddleware(...l),i}return p.withTypes=()=>p,p},a=e();return{...t,createDispatchWithMiddlewareHookFactory:e,createDispatchWithMiddlewareHook:a}};0&&(module.exports={createDynamicMiddleware,...require("@reduxjs/toolkit")});
|
||||
//# sourceMappingURL=redux-toolkit-react.production.min.cjs.map
|
||||
1
frontend/node_modules/@reduxjs/toolkit/dist/react/cjs/redux-toolkit-react.production.min.cjs.map
generated
vendored
Normal file
1
frontend/node_modules/@reduxjs/toolkit/dist/react/cjs/redux-toolkit-react.production.min.cjs.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../../src/react/index.ts","../../../src/dynamicMiddleware/react/index.ts"],"sourcesContent":["// This must remain here so that the `mangleErrors.cjs` build script\n// does not have to import this into each source file it rewrites.\nimport { formatProdErrorMessage } from '@reduxjs/toolkit';\nexport * from '@reduxjs/toolkit';\nexport { createDynamicMiddleware } from '../dynamicMiddleware/react';\nexport type { CreateDispatchWithMiddlewareHook } from '../dynamicMiddleware/react/index';","import type { DynamicMiddlewareInstance, GetDispatch, GetState, MiddlewareApiConfig, TSHelpersExtractDispatchExtensions } from '@reduxjs/toolkit';\nimport { createDynamicMiddleware as cDM } from '@reduxjs/toolkit';\nimport type { Context } from 'react';\nimport type { ReactReduxContextValue } from 'react-redux';\nimport { createDispatchHook, ReactReduxContext, useDispatch as useDefaultDispatch } from 'react-redux';\nimport type { Action, Dispatch, Middleware, UnknownAction } from 'redux';\nexport type UseDispatchWithMiddlewareHook<Middlewares extends Middleware<any, State, DispatchType>[] = [], State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>> = () => TSHelpersExtractDispatchExtensions<Middlewares> & DispatchType;\nexport type CreateDispatchWithMiddlewareHook<State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>> = {\n <Middlewares extends [Middleware<any, State, DispatchType>, ...Middleware<any, State, DispatchType>[]]>(...middlewares: Middlewares): UseDispatchWithMiddlewareHook<Middlewares, State, DispatchType>;\n withTypes<MiddlewareConfig extends MiddlewareApiConfig>(): CreateDispatchWithMiddlewareHook<GetState<MiddlewareConfig>, GetDispatch<MiddlewareConfig>>;\n};\ntype ActionFromDispatch<DispatchType extends Dispatch<Action>> = DispatchType extends Dispatch<infer Action> ? Action : never;\ntype ReactDynamicMiddlewareInstance<State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>> = DynamicMiddlewareInstance<State, DispatchType> & {\n createDispatchWithMiddlewareHookFactory: (context?: Context<ReactReduxContextValue<State, ActionFromDispatch<DispatchType>> | null>) => CreateDispatchWithMiddlewareHook<State, DispatchType>;\n createDispatchWithMiddlewareHook: CreateDispatchWithMiddlewareHook<State, DispatchType>;\n};\nexport const createDynamicMiddleware = <State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>>(): ReactDynamicMiddlewareInstance<State, DispatchType> => {\n const instance = cDM<State, DispatchType>();\n const createDispatchWithMiddlewareHookFactory = (\n // @ts-ignore\n context: Context<ReactReduxContextValue<State, ActionFromDispatch<DispatchType>> | null> = ReactReduxContext) => {\n const useDispatch = context === ReactReduxContext ? useDefaultDispatch : createDispatchHook(context);\n function createDispatchWithMiddlewareHook<Middlewares extends Middleware<any, State, DispatchType>[]>(...middlewares: Middlewares) {\n instance.addMiddleware(...middlewares);\n return useDispatch;\n }\n createDispatchWithMiddlewareHook.withTypes = () => createDispatchWithMiddlewareHook;\n return createDispatchWithMiddlewareHook as CreateDispatchWithMiddlewareHook<State, DispatchType>;\n };\n const createDispatchWithMiddlewareHook = createDispatchWithMiddlewareHookFactory();\n return {\n ...instance,\n createDispatchWithMiddlewareHookFactory,\n createDispatchWithMiddlewareHook\n };\n};"],"mappings":"2dAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAGAI,EAAAJ,EAAc,4BAHd,gBCCA,IAAAK,EAA+C,4BAG/CC,EAAyF,uBAY5EC,EAA0B,IAAgJ,CACrL,IAAMC,KAAW,EAAAC,yBAAyB,EACpCC,EAA0C,CAEhDC,EAA2F,sBAAsB,CAC/G,IAAMC,EAAcD,IAAY,oBAAoB,EAAAE,eAAqB,sBAAmBF,CAAO,EACnG,SAASG,KAAgGC,EAA0B,CACjI,OAAAP,EAAS,cAAc,GAAGO,CAAW,EAC9BH,CACT,CACA,OAAAE,EAAiC,UAAY,IAAMA,EAC5CA,CACT,EACMA,EAAmCJ,EAAwC,EACjF,MAAO,CACL,GAAGF,EACH,wCAAAE,EACA,iCAAAI,CACF,CACF","names":["react_exports","__export","createDynamicMiddleware","__toCommonJS","__reExport","import_toolkit","import_react_redux","createDynamicMiddleware","instance","cDM","createDispatchWithMiddlewareHookFactory","context","useDispatch","useDefaultDispatch","createDispatchWithMiddlewareHook","middlewares"]}
|
||||
22
frontend/node_modules/@reduxjs/toolkit/dist/react/index.d.mts
generated
vendored
Normal file
22
frontend/node_modules/@reduxjs/toolkit/dist/react/index.d.mts
generated
vendored
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
import { TSHelpersExtractDispatchExtensions, MiddlewareApiConfig, GetState, GetDispatch, DynamicMiddlewareInstance } from '@reduxjs/toolkit';
|
||||
export * from '@reduxjs/toolkit';
|
||||
import { Context } from 'react';
|
||||
import { ReactReduxContextValue } from 'react-redux';
|
||||
import { Dispatch, UnknownAction, Middleware, Action } from 'redux';
|
||||
|
||||
type UseDispatchWithMiddlewareHook<Middlewares extends Middleware<any, State, DispatchType>[] = [], State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>> = () => TSHelpersExtractDispatchExtensions<Middlewares> & DispatchType;
|
||||
type CreateDispatchWithMiddlewareHook<State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>> = {
|
||||
<Middlewares extends [
|
||||
Middleware<any, State, DispatchType>,
|
||||
...Middleware<any, State, DispatchType>[]
|
||||
]>(...middlewares: Middlewares): UseDispatchWithMiddlewareHook<Middlewares, State, DispatchType>;
|
||||
withTypes<MiddlewareConfig extends MiddlewareApiConfig>(): CreateDispatchWithMiddlewareHook<GetState<MiddlewareConfig>, GetDispatch<MiddlewareConfig>>;
|
||||
};
|
||||
type ActionFromDispatch<DispatchType extends Dispatch<Action>> = DispatchType extends Dispatch<infer Action> ? Action : never;
|
||||
type ReactDynamicMiddlewareInstance<State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>> = DynamicMiddlewareInstance<State, DispatchType> & {
|
||||
createDispatchWithMiddlewareHookFactory: (context?: Context<ReactReduxContextValue<State, ActionFromDispatch<DispatchType>> | null>) => CreateDispatchWithMiddlewareHook<State, DispatchType>;
|
||||
createDispatchWithMiddlewareHook: CreateDispatchWithMiddlewareHook<State, DispatchType>;
|
||||
};
|
||||
declare const createDynamicMiddleware: <State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>>() => ReactDynamicMiddlewareInstance<State, DispatchType>;
|
||||
|
||||
export { type CreateDispatchWithMiddlewareHook, createDynamicMiddleware };
|
||||
22
frontend/node_modules/@reduxjs/toolkit/dist/react/index.d.ts
generated
vendored
Normal file
22
frontend/node_modules/@reduxjs/toolkit/dist/react/index.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
import { TSHelpersExtractDispatchExtensions, MiddlewareApiConfig, GetState, GetDispatch, DynamicMiddlewareInstance } from '@reduxjs/toolkit';
|
||||
export * from '@reduxjs/toolkit';
|
||||
import { Context } from 'react';
|
||||
import { ReactReduxContextValue } from 'react-redux';
|
||||
import { Dispatch, UnknownAction, Middleware, Action } from 'redux';
|
||||
|
||||
type UseDispatchWithMiddlewareHook<Middlewares extends Middleware<any, State, DispatchType>[] = [], State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>> = () => TSHelpersExtractDispatchExtensions<Middlewares> & DispatchType;
|
||||
type CreateDispatchWithMiddlewareHook<State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>> = {
|
||||
<Middlewares extends [
|
||||
Middleware<any, State, DispatchType>,
|
||||
...Middleware<any, State, DispatchType>[]
|
||||
]>(...middlewares: Middlewares): UseDispatchWithMiddlewareHook<Middlewares, State, DispatchType>;
|
||||
withTypes<MiddlewareConfig extends MiddlewareApiConfig>(): CreateDispatchWithMiddlewareHook<GetState<MiddlewareConfig>, GetDispatch<MiddlewareConfig>>;
|
||||
};
|
||||
type ActionFromDispatch<DispatchType extends Dispatch<Action>> = DispatchType extends Dispatch<infer Action> ? Action : never;
|
||||
type ReactDynamicMiddlewareInstance<State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>> = DynamicMiddlewareInstance<State, DispatchType> & {
|
||||
createDispatchWithMiddlewareHookFactory: (context?: Context<ReactReduxContextValue<State, ActionFromDispatch<DispatchType>> | null>) => CreateDispatchWithMiddlewareHook<State, DispatchType>;
|
||||
createDispatchWithMiddlewareHook: CreateDispatchWithMiddlewareHook<State, DispatchType>;
|
||||
};
|
||||
declare const createDynamicMiddleware: <State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>>() => ReactDynamicMiddlewareInstance<State, DispatchType>;
|
||||
|
||||
export { type CreateDispatchWithMiddlewareHook, createDynamicMiddleware };
|
||||
2
frontend/node_modules/@reduxjs/toolkit/dist/react/redux-toolkit-react.browser.mjs
generated
vendored
Normal file
2
frontend/node_modules/@reduxjs/toolkit/dist/react/redux-toolkit-react.browser.mjs
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
export*from"@reduxjs/toolkit";import{createDynamicMiddleware as p}from"@reduxjs/toolkit";import{createDispatchHook as d,ReactReduxContext as c,useDispatch as s}from"react-redux";var h=()=>{let t=p(),a=(i=c)=>{let o=i===c?s:d(i);function e(...r){return t.addMiddleware(...r),o}return e.withTypes=()=>e,e},n=a();return{...t,createDispatchWithMiddlewareHookFactory:a,createDispatchWithMiddlewareHook:n}};export{h as createDynamicMiddleware};
|
||||
//# sourceMappingURL=redux-toolkit-react.browser.mjs.map
|
||||
1
frontend/node_modules/@reduxjs/toolkit/dist/react/redux-toolkit-react.browser.mjs.map
generated
vendored
Normal file
1
frontend/node_modules/@reduxjs/toolkit/dist/react/redux-toolkit-react.browser.mjs.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../src/react/index.ts","../../src/dynamicMiddleware/react/index.ts"],"sourcesContent":["// This must remain here so that the `mangleErrors.cjs` build script\n// does not have to import this into each source file it rewrites.\nimport { formatProdErrorMessage } from '@reduxjs/toolkit';\nexport * from '@reduxjs/toolkit';\nexport { createDynamicMiddleware } from '../dynamicMiddleware/react';\nexport type { CreateDispatchWithMiddlewareHook } from '../dynamicMiddleware/react/index';","import type { DynamicMiddlewareInstance, GetDispatch, GetState, MiddlewareApiConfig, TSHelpersExtractDispatchExtensions } from '@reduxjs/toolkit';\nimport { createDynamicMiddleware as cDM } from '@reduxjs/toolkit';\nimport type { Context } from 'react';\nimport type { ReactReduxContextValue } from 'react-redux';\nimport { createDispatchHook, ReactReduxContext, useDispatch as useDefaultDispatch } from 'react-redux';\nimport type { Action, Dispatch, Middleware, UnknownAction } from 'redux';\nexport type UseDispatchWithMiddlewareHook<Middlewares extends Middleware<any, State, DispatchType>[] = [], State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>> = () => TSHelpersExtractDispatchExtensions<Middlewares> & DispatchType;\nexport type CreateDispatchWithMiddlewareHook<State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>> = {\n <Middlewares extends [Middleware<any, State, DispatchType>, ...Middleware<any, State, DispatchType>[]]>(...middlewares: Middlewares): UseDispatchWithMiddlewareHook<Middlewares, State, DispatchType>;\n withTypes<MiddlewareConfig extends MiddlewareApiConfig>(): CreateDispatchWithMiddlewareHook<GetState<MiddlewareConfig>, GetDispatch<MiddlewareConfig>>;\n};\ntype ActionFromDispatch<DispatchType extends Dispatch<Action>> = DispatchType extends Dispatch<infer Action> ? Action : never;\ntype ReactDynamicMiddlewareInstance<State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>> = DynamicMiddlewareInstance<State, DispatchType> & {\n createDispatchWithMiddlewareHookFactory: (context?: Context<ReactReduxContextValue<State, ActionFromDispatch<DispatchType>> | null>) => CreateDispatchWithMiddlewareHook<State, DispatchType>;\n createDispatchWithMiddlewareHook: CreateDispatchWithMiddlewareHook<State, DispatchType>;\n};\nexport const createDynamicMiddleware = <State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>>(): ReactDynamicMiddlewareInstance<State, DispatchType> => {\n const instance = cDM<State, DispatchType>();\n const createDispatchWithMiddlewareHookFactory = (\n // @ts-ignore\n context: Context<ReactReduxContextValue<State, ActionFromDispatch<DispatchType>> | null> = ReactReduxContext) => {\n const useDispatch = context === ReactReduxContext ? useDefaultDispatch : createDispatchHook(context);\n function createDispatchWithMiddlewareHook<Middlewares extends Middleware<any, State, DispatchType>[]>(...middlewares: Middlewares) {\n instance.addMiddleware(...middlewares);\n return useDispatch;\n }\n createDispatchWithMiddlewareHook.withTypes = () => createDispatchWithMiddlewareHook;\n return createDispatchWithMiddlewareHook as CreateDispatchWithMiddlewareHook<State, DispatchType>;\n };\n const createDispatchWithMiddlewareHook = createDispatchWithMiddlewareHookFactory();\n return {\n ...instance,\n createDispatchWithMiddlewareHookFactory,\n createDispatchWithMiddlewareHook\n };\n};"],"mappings":"AAGA,WAAc,mBCFd,OAAS,2BAA2BA,MAAW,mBAG/C,OAAS,sBAAAC,EAAoB,qBAAAC,EAAmB,eAAeC,MAA0B,cAYlF,IAAMC,EAA0B,IAAgJ,CACrL,IAAMC,EAAWL,EAAyB,EACpCM,EAA0C,CAEhDC,EAA2FL,IAAsB,CAC/G,IAAMM,EAAcD,IAAYL,EAAoBC,EAAqBF,EAAmBM,CAAO,EACnG,SAASE,KAAgGC,EAA0B,CACjI,OAAAL,EAAS,cAAc,GAAGK,CAAW,EAC9BF,CACT,CACA,OAAAC,EAAiC,UAAY,IAAMA,EAC5CA,CACT,EACMA,EAAmCH,EAAwC,EACjF,MAAO,CACL,GAAGD,EACH,wCAAAC,EACA,iCAAAG,CACF,CACF","names":["cDM","createDispatchHook","ReactReduxContext","useDefaultDispatch","createDynamicMiddleware","instance","createDispatchWithMiddlewareHookFactory","context","useDispatch","createDispatchWithMiddlewareHook","middlewares"]}
|
||||
47
frontend/node_modules/@reduxjs/toolkit/dist/react/redux-toolkit-react.legacy-esm.js
generated
vendored
Normal file
47
frontend/node_modules/@reduxjs/toolkit/dist/react/redux-toolkit-react.legacy-esm.js
generated
vendored
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
var __defProp = Object.defineProperty;
|
||||
var __defProps = Object.defineProperties;
|
||||
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
||||
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
||||
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
||||
var __spreadValues = (a, b) => {
|
||||
for (var prop in b || (b = {}))
|
||||
if (__hasOwnProp.call(b, prop))
|
||||
__defNormalProp(a, prop, b[prop]);
|
||||
if (__getOwnPropSymbols)
|
||||
for (var prop of __getOwnPropSymbols(b)) {
|
||||
if (__propIsEnum.call(b, prop))
|
||||
__defNormalProp(a, prop, b[prop]);
|
||||
}
|
||||
return a;
|
||||
};
|
||||
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
||||
|
||||
// src/react/index.ts
|
||||
export * from "@reduxjs/toolkit";
|
||||
|
||||
// src/dynamicMiddleware/react/index.ts
|
||||
import { createDynamicMiddleware as cDM } from "@reduxjs/toolkit";
|
||||
import { createDispatchHook, ReactReduxContext, useDispatch as useDefaultDispatch } from "react-redux";
|
||||
var createDynamicMiddleware = () => {
|
||||
const instance = cDM();
|
||||
const createDispatchWithMiddlewareHookFactory = (context = ReactReduxContext) => {
|
||||
const useDispatch = context === ReactReduxContext ? useDefaultDispatch : createDispatchHook(context);
|
||||
function createDispatchWithMiddlewareHook2(...middlewares) {
|
||||
instance.addMiddleware(...middlewares);
|
||||
return useDispatch;
|
||||
}
|
||||
createDispatchWithMiddlewareHook2.withTypes = () => createDispatchWithMiddlewareHook2;
|
||||
return createDispatchWithMiddlewareHook2;
|
||||
};
|
||||
const createDispatchWithMiddlewareHook = createDispatchWithMiddlewareHookFactory();
|
||||
return __spreadProps(__spreadValues({}, instance), {
|
||||
createDispatchWithMiddlewareHookFactory,
|
||||
createDispatchWithMiddlewareHook
|
||||
});
|
||||
};
|
||||
export {
|
||||
createDynamicMiddleware
|
||||
};
|
||||
//# sourceMappingURL=redux-toolkit-react.legacy-esm.js.map
|
||||
1
frontend/node_modules/@reduxjs/toolkit/dist/react/redux-toolkit-react.legacy-esm.js.map
generated
vendored
Normal file
1
frontend/node_modules/@reduxjs/toolkit/dist/react/redux-toolkit-react.legacy-esm.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../src/react/index.ts","../../src/dynamicMiddleware/react/index.ts"],"sourcesContent":["// This must remain here so that the `mangleErrors.cjs` build script\n// does not have to import this into each source file it rewrites.\nimport { formatProdErrorMessage } from '@reduxjs/toolkit';\nexport * from '@reduxjs/toolkit';\nexport { createDynamicMiddleware } from '../dynamicMiddleware/react';\nexport type { CreateDispatchWithMiddlewareHook } from '../dynamicMiddleware/react/index';","import type { DynamicMiddlewareInstance, GetDispatch, GetState, MiddlewareApiConfig, TSHelpersExtractDispatchExtensions } from '@reduxjs/toolkit';\nimport { createDynamicMiddleware as cDM } from '@reduxjs/toolkit';\nimport type { Context } from 'react';\nimport type { ReactReduxContextValue } from 'react-redux';\nimport { createDispatchHook, ReactReduxContext, useDispatch as useDefaultDispatch } from 'react-redux';\nimport type { Action, Dispatch, Middleware, UnknownAction } from 'redux';\nexport type UseDispatchWithMiddlewareHook<Middlewares extends Middleware<any, State, DispatchType>[] = [], State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>> = () => TSHelpersExtractDispatchExtensions<Middlewares> & DispatchType;\nexport type CreateDispatchWithMiddlewareHook<State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>> = {\n <Middlewares extends [Middleware<any, State, DispatchType>, ...Middleware<any, State, DispatchType>[]]>(...middlewares: Middlewares): UseDispatchWithMiddlewareHook<Middlewares, State, DispatchType>;\n withTypes<MiddlewareConfig extends MiddlewareApiConfig>(): CreateDispatchWithMiddlewareHook<GetState<MiddlewareConfig>, GetDispatch<MiddlewareConfig>>;\n};\ntype ActionFromDispatch<DispatchType extends Dispatch<Action>> = DispatchType extends Dispatch<infer Action> ? Action : never;\ntype ReactDynamicMiddlewareInstance<State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>> = DynamicMiddlewareInstance<State, DispatchType> & {\n createDispatchWithMiddlewareHookFactory: (context?: Context<ReactReduxContextValue<State, ActionFromDispatch<DispatchType>> | null>) => CreateDispatchWithMiddlewareHook<State, DispatchType>;\n createDispatchWithMiddlewareHook: CreateDispatchWithMiddlewareHook<State, DispatchType>;\n};\nexport const createDynamicMiddleware = <State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>>(): ReactDynamicMiddlewareInstance<State, DispatchType> => {\n const instance = cDM<State, DispatchType>();\n const createDispatchWithMiddlewareHookFactory = (\n // @ts-ignore\n context: Context<ReactReduxContextValue<State, ActionFromDispatch<DispatchType>> | null> = ReactReduxContext) => {\n const useDispatch = context === ReactReduxContext ? useDefaultDispatch : createDispatchHook(context);\n function createDispatchWithMiddlewareHook<Middlewares extends Middleware<any, State, DispatchType>[]>(...middlewares: Middlewares) {\n instance.addMiddleware(...middlewares);\n return useDispatch;\n }\n createDispatchWithMiddlewareHook.withTypes = () => createDispatchWithMiddlewareHook;\n return createDispatchWithMiddlewareHook as CreateDispatchWithMiddlewareHook<State, DispatchType>;\n };\n const createDispatchWithMiddlewareHook = createDispatchWithMiddlewareHookFactory();\n return {\n ...instance,\n createDispatchWithMiddlewareHookFactory,\n createDispatchWithMiddlewareHook\n };\n};"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAGA,cAAc;;;ACFd,SAAS,2BAA2B,WAAW;AAG/C,SAAS,oBAAoB,mBAAmB,eAAe,0BAA0B;AAYlF,IAAM,0BAA0B,MAAgJ;AACrL,QAAM,WAAW,IAAyB;AAC1C,QAAM,0CAA0C,CAEhD,UAA2F,sBAAsB;AAC/G,UAAM,cAAc,YAAY,oBAAoB,qBAAqB,mBAAmB,OAAO;AACnG,aAASA,qCAAgG,aAA0B;AACjI,eAAS,cAAc,GAAG,WAAW;AACrC,aAAO;AAAA,IACT;AACA,IAAAA,kCAAiC,YAAY,MAAMA;AACnD,WAAOA;AAAA,EACT;AACA,QAAM,mCAAmC,wCAAwC;AACjF,SAAO,iCACF,WADE;AAAA,IAEL;AAAA,IACA;AAAA,EACF;AACF;","names":["createDispatchWithMiddlewareHook"]}
|
||||
28
frontend/node_modules/@reduxjs/toolkit/dist/react/redux-toolkit-react.modern.mjs
generated
vendored
Normal file
28
frontend/node_modules/@reduxjs/toolkit/dist/react/redux-toolkit-react.modern.mjs
generated
vendored
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
// src/react/index.ts
|
||||
export * from "@reduxjs/toolkit";
|
||||
|
||||
// src/dynamicMiddleware/react/index.ts
|
||||
import { createDynamicMiddleware as cDM } from "@reduxjs/toolkit";
|
||||
import { createDispatchHook, ReactReduxContext, useDispatch as useDefaultDispatch } from "react-redux";
|
||||
var createDynamicMiddleware = () => {
|
||||
const instance = cDM();
|
||||
const createDispatchWithMiddlewareHookFactory = (context = ReactReduxContext) => {
|
||||
const useDispatch = context === ReactReduxContext ? useDefaultDispatch : createDispatchHook(context);
|
||||
function createDispatchWithMiddlewareHook2(...middlewares) {
|
||||
instance.addMiddleware(...middlewares);
|
||||
return useDispatch;
|
||||
}
|
||||
createDispatchWithMiddlewareHook2.withTypes = () => createDispatchWithMiddlewareHook2;
|
||||
return createDispatchWithMiddlewareHook2;
|
||||
};
|
||||
const createDispatchWithMiddlewareHook = createDispatchWithMiddlewareHookFactory();
|
||||
return {
|
||||
...instance,
|
||||
createDispatchWithMiddlewareHookFactory,
|
||||
createDispatchWithMiddlewareHook
|
||||
};
|
||||
};
|
||||
export {
|
||||
createDynamicMiddleware
|
||||
};
|
||||
//# sourceMappingURL=redux-toolkit-react.modern.mjs.map
|
||||
1
frontend/node_modules/@reduxjs/toolkit/dist/react/redux-toolkit-react.modern.mjs.map
generated
vendored
Normal file
1
frontend/node_modules/@reduxjs/toolkit/dist/react/redux-toolkit-react.modern.mjs.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../src/react/index.ts","../../src/dynamicMiddleware/react/index.ts"],"sourcesContent":["// This must remain here so that the `mangleErrors.cjs` build script\n// does not have to import this into each source file it rewrites.\nimport { formatProdErrorMessage } from '@reduxjs/toolkit';\nexport * from '@reduxjs/toolkit';\nexport { createDynamicMiddleware } from '../dynamicMiddleware/react';\nexport type { CreateDispatchWithMiddlewareHook } from '../dynamicMiddleware/react/index';","import type { DynamicMiddlewareInstance, GetDispatch, GetState, MiddlewareApiConfig, TSHelpersExtractDispatchExtensions } from '@reduxjs/toolkit';\nimport { createDynamicMiddleware as cDM } from '@reduxjs/toolkit';\nimport type { Context } from 'react';\nimport type { ReactReduxContextValue } from 'react-redux';\nimport { createDispatchHook, ReactReduxContext, useDispatch as useDefaultDispatch } from 'react-redux';\nimport type { Action, Dispatch, Middleware, UnknownAction } from 'redux';\nexport type UseDispatchWithMiddlewareHook<Middlewares extends Middleware<any, State, DispatchType>[] = [], State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>> = () => TSHelpersExtractDispatchExtensions<Middlewares> & DispatchType;\nexport type CreateDispatchWithMiddlewareHook<State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>> = {\n <Middlewares extends [Middleware<any, State, DispatchType>, ...Middleware<any, State, DispatchType>[]]>(...middlewares: Middlewares): UseDispatchWithMiddlewareHook<Middlewares, State, DispatchType>;\n withTypes<MiddlewareConfig extends MiddlewareApiConfig>(): CreateDispatchWithMiddlewareHook<GetState<MiddlewareConfig>, GetDispatch<MiddlewareConfig>>;\n};\ntype ActionFromDispatch<DispatchType extends Dispatch<Action>> = DispatchType extends Dispatch<infer Action> ? Action : never;\ntype ReactDynamicMiddlewareInstance<State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>> = DynamicMiddlewareInstance<State, DispatchType> & {\n createDispatchWithMiddlewareHookFactory: (context?: Context<ReactReduxContextValue<State, ActionFromDispatch<DispatchType>> | null>) => CreateDispatchWithMiddlewareHook<State, DispatchType>;\n createDispatchWithMiddlewareHook: CreateDispatchWithMiddlewareHook<State, DispatchType>;\n};\nexport const createDynamicMiddleware = <State = any, DispatchType extends Dispatch<UnknownAction> = Dispatch<UnknownAction>>(): ReactDynamicMiddlewareInstance<State, DispatchType> => {\n const instance = cDM<State, DispatchType>();\n const createDispatchWithMiddlewareHookFactory = (\n // @ts-ignore\n context: Context<ReactReduxContextValue<State, ActionFromDispatch<DispatchType>> | null> = ReactReduxContext) => {\n const useDispatch = context === ReactReduxContext ? useDefaultDispatch : createDispatchHook(context);\n function createDispatchWithMiddlewareHook<Middlewares extends Middleware<any, State, DispatchType>[]>(...middlewares: Middlewares) {\n instance.addMiddleware(...middlewares);\n return useDispatch;\n }\n createDispatchWithMiddlewareHook.withTypes = () => createDispatchWithMiddlewareHook;\n return createDispatchWithMiddlewareHook as CreateDispatchWithMiddlewareHook<State, DispatchType>;\n };\n const createDispatchWithMiddlewareHook = createDispatchWithMiddlewareHookFactory();\n return {\n ...instance,\n createDispatchWithMiddlewareHookFactory,\n createDispatchWithMiddlewareHook\n };\n};"],"mappings":";AAGA,cAAc;;;ACFd,SAAS,2BAA2B,WAAW;AAG/C,SAAS,oBAAoB,mBAAmB,eAAe,0BAA0B;AAYlF,IAAM,0BAA0B,MAAgJ;AACrL,QAAM,WAAW,IAAyB;AAC1C,QAAM,0CAA0C,CAEhD,UAA2F,sBAAsB;AAC/G,UAAM,cAAc,YAAY,oBAAoB,qBAAqB,mBAAmB,OAAO;AACnG,aAASA,qCAAgG,aAA0B;AACjI,eAAS,cAAc,GAAG,WAAW;AACrC,aAAO;AAAA,IACT;AACA,IAAAA,kCAAiC,YAAY,MAAMA;AACnD,WAAOA;AAAA,EACT;AACA,QAAM,mCAAmC,wCAAwC;AACjF,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,IACA;AAAA,EACF;AACF;","names":["createDispatchWithMiddlewareHook"]}
|
||||
3
frontend/node_modules/@reduxjs/toolkit/dist/redux-toolkit.browser.mjs
generated
vendored
Normal file
3
frontend/node_modules/@reduxjs/toolkit/dist/redux-toolkit.browser.mjs
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
frontend/node_modules/@reduxjs/toolkit/dist/redux-toolkit.browser.mjs.map
generated
vendored
Normal file
1
frontend/node_modules/@reduxjs/toolkit/dist/redux-toolkit.browser.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
2351
frontend/node_modules/@reduxjs/toolkit/dist/redux-toolkit.legacy-esm.js
generated
vendored
Normal file
2351
frontend/node_modules/@reduxjs/toolkit/dist/redux-toolkit.legacy-esm.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
1
frontend/node_modules/@reduxjs/toolkit/dist/redux-toolkit.legacy-esm.js.map
generated
vendored
Normal file
1
frontend/node_modules/@reduxjs/toolkit/dist/redux-toolkit.legacy-esm.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
2330
frontend/node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs
generated
vendored
Normal file
2330
frontend/node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
1
frontend/node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs.map
generated
vendored
Normal file
1
frontend/node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
16
frontend/node_modules/@reduxjs/toolkit/dist/uncheckedindexed.ts
generated
vendored
Normal file
16
frontend/node_modules/@reduxjs/toolkit/dist/uncheckedindexed.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
// inlined from https://github.com/EskiMojo14/uncheckedindexed
|
||||
// relies on remaining as a TS file, not .d.ts
|
||||
type IfMaybeUndefined<T, True, False> = [undefined] extends [T] ? True : False
|
||||
|
||||
const testAccess = ({} as Record<string, 0>)['a']
|
||||
|
||||
export type IfUncheckedIndexedAccess<True, False> = IfMaybeUndefined<
|
||||
typeof testAccess,
|
||||
True,
|
||||
False
|
||||
>
|
||||
|
||||
export type UncheckedIndexedAccess<T> = IfUncheckedIndexedAccess<
|
||||
T | undefined,
|
||||
T
|
||||
>
|
||||
Loading…
Add table
Add a link
Reference in a new issue