Skip to content

Commit

Permalink
fix: dont write over queryKey
Browse files Browse the repository at this point in the history
  • Loading branch information
benwaples committed Feb 28, 2025
1 parent 3420138 commit 4f087c0
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,18 +25,13 @@ export const availableEnvironmentKeys = {
customKey?.length ? [...availableEnvironmentKeys.all, ...customKey] : availableEnvironmentKeys.all,
};

type QueryOptions<T = Domain[]> = Omit<
UseQueryOptions<Domain[], unknown, T | undefined, string[]>,
'queryKey' | 'queryFn'
> & {
appendQueryKey?: string[];
};
type QueryOptions<T = Domain[]> = Omit<UseQueryOptions<Domain[], unknown, T | undefined, string[]>, 'queryFn'>;

export function useAvailableEnvironments<T = Domain[]>(options?: QueryOptions<T>) {
const { appendQueryKey, ...rest } = options ?? {};
const { queryKey, ...rest } = options ?? {};

return useQuery({
queryKey: availableEnvironmentKeys.getKey(appendQueryKey),
queryKey: availableEnvironmentKeys.getKey(queryKey),
queryFn: ({ signal }) => apiClient.getAvailableEnvironments({ signal }).then((response) => response.data.data),
...rest,
});
Expand Down
11 changes: 6 additions & 5 deletions packages/javascript/bh-shared-ui/src/hooks/useFeatureFlags.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,14 @@ export const toggleFeatureFlag = (flagId: string | number, options?: RequestOpti

type QueryOptions<T> = Omit<UseQueryOptions<Flag[], unknown, T | undefined, string[]>, 'queryFn'>;

export function useFeatureFlags<T = Flag[]>(queryOptions?: QueryOptions<T>) {
const queryKey = featureFlagKeys.getKey(queryOptions?.queryKey);
return useQuery(queryKey, ({ signal }) => getFeatureFlags({ signal }), queryOptions);
export function useFeatureFlags<T = Flag[]>(options?: QueryOptions<T>) {
const { queryKey, ...rest } = options ?? {};

return useQuery(featureFlagKeys.getKey(options?.queryKey), ({ signal }) => getFeatureFlags({ signal }), rest);
}

export function useFeatureFlag(flagKey: string, queryOptions?: Omit<QueryOptions<Flag | undefined>, 'select'>) {
return useFeatureFlags({ select: (data) => data.find((flag) => flag.key === flagKey), ...queryOptions });
export function useFeatureFlag(flagKey: string, options?: Omit<QueryOptions<Flag | undefined>, 'select'>) {
return useFeatureFlags({ select: (data) => data.find((flag) => flag.key === flagKey), ...options });
}

export function useToggleFeatureFlag() {
Expand Down

0 comments on commit 4f087c0

Please sign in to comment.