MCPcopy
hub / github.com/refinedev/refine / useMany

Function useMany

packages/core/src/hooks/data/useMany.ts:90–240  ·  view source on GitHub ↗
({
  resource: resourceFromProp,
  ids,
  queryOptions,
  successNotification,
  errorNotification,
  meta,
  metaData,
  liveMode,
  onLiveEvent,
  liveParams,
  dataProviderName,
  overtimeOptions,
}: UseManyProps<TQueryFnData, TError, TData>)

Source from the content-addressed store, hash-verified

88 */
89
90export const useMany = <
91 TQueryFnData extends BaseRecord = BaseRecord,
92 TError extends HttpError = HttpError,
93 TData extends BaseRecord = TQueryFnData,
94>({
95 resource: resourceFromProp,
96 ids,
97 queryOptions,
98 successNotification,
99 errorNotification,
100 meta,
101 metaData,
102 liveMode,
103 onLiveEvent,
104 liveParams,
105 dataProviderName,
106 overtimeOptions,
107}: UseManyProps<TQueryFnData, TError, TData>): QueryObserverResult<
108 GetManyResponse<TData>,
109 TError
110> &
111 UseLoadingOvertimeReturnType => {
112 const { resources, resource, identifier } = useResource(resourceFromProp);
113 const dataProvider = useDataProvider();
114 const translate = useTranslate();
115 const authProvider = useActiveAuthProvider();
116 const { mutate: checkError } = useOnError({
117 v3LegacyAuthProviderCompatible: Boolean(authProvider?.isLegacy),
118 });
119 const handleNotification = useHandleNotification();
120 const getMeta = useMeta();
121 const { keys, preferLegacyKeys } = useKeys();
122
123 const preferredMeta = pickNotDeprecated(meta, metaData);
124 const pickedDataProvider = pickDataProvider(
125 identifier,
126 dataProviderName,
127 resources,
128 );
129 const isEnabled =
130 queryOptions?.enabled === undefined || queryOptions?.enabled === true;
131
132 const { getMany, getOne } = dataProvider(pickedDataProvider);
133
134 const combinedMeta = getMeta({ resource, meta: preferredMeta });
135
136 useResourceSubscription({
137 resource: identifier,
138 types: ["*"],
139 params: {
140 ids: ids,
141 meta: combinedMeta,
142 metaData: combinedMeta,
143 subscriptionType: "useMany",
144 ...liveParams,
145 },
146 channel: `resources/${resource.name}`,
147 enabled: isEnabled,

Callers 15

renderUseManyFunction · 0.90
useMany.spec.tsxFile · 0.90
PostListFunction · 0.90
PostListFunction · 0.90
PostListFunction · 0.90
PostListFunction · 0.90
PostListFunction · 0.90
PostListFunction · 0.90
PostListFunction · 0.90
PostListFunction · 0.90
PostListFunction · 0.90
PostListFunction · 0.90

Calls 15

useActiveAuthProviderFunction · 0.90
pickNotDeprecatedFunction · 0.90
pickDataProviderFunction · 0.90
prepareQueryContextFunction · 0.90
handleMultipleFunction · 0.90
getXRayFunction · 0.90
useLoadingOvertimeFunction · 0.90
useResourceFunction · 0.85
useDataProviderFunction · 0.85
useTranslateFunction · 0.85
useOnErrorFunction · 0.85
BooleanFunction · 0.85

Tested by

no test coverage detected