chore(root): migrate to biome
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { useTransition } from 'react';
|
||||
import { parseAsInteger, useQueryState } from 'nuqs';
|
||||
import { useTransition } from 'react';
|
||||
|
||||
import { useDebounceValue } from './useDebounceValue';
|
||||
|
||||
@@ -9,7 +9,7 @@ export function useCursor() {
|
||||
'cursor',
|
||||
parseAsInteger
|
||||
.withOptions({ shallow: false, history: 'push', startTransition })
|
||||
.withDefault(0)
|
||||
.withDefault(0),
|
||||
);
|
||||
return {
|
||||
cursor,
|
||||
@@ -23,7 +23,7 @@ export type UseDebouncedCursor = ReturnType<typeof useDebouncedCursor>;
|
||||
export function useDebouncedCursor() {
|
||||
const [cursor, setCursor] = useQueryState(
|
||||
'cursor',
|
||||
parseAsInteger.withDefault(0)
|
||||
parseAsInteger.withDefault(0),
|
||||
);
|
||||
const debouncedCursor = useDebounceValue(cursor, 200);
|
||||
return {
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
import { useEffect } from 'react';
|
||||
import debounce from 'lodash.debounce';
|
||||
import { useEffect } from 'react';
|
||||
|
||||
export function useDebounceFn<T>(fn: T, ms = 500): T {
|
||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-call
|
||||
const debouncedFn = debounce(fn as any, ms);
|
||||
|
||||
useEffect(() => {
|
||||
return () => {
|
||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
||||
debouncedFn.cancel();
|
||||
};
|
||||
});
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { useCallback, useEffect, useMemo, useState } from 'react';
|
||||
import debounce from 'lodash.debounce';
|
||||
import { useCallback, useEffect, useMemo, useState } from 'react';
|
||||
|
||||
interface DebouncedState<T> {
|
||||
value: T;
|
||||
@@ -10,13 +10,13 @@ interface DebouncedState<T> {
|
||||
export function useDebounceState<T>(
|
||||
initialValue: T,
|
||||
delay = 500,
|
||||
options?: Parameters<typeof debounce>[2]
|
||||
options?: Parameters<typeof debounce>[2],
|
||||
): DebouncedState<T> {
|
||||
const [value, setValue] = useState<T>(initialValue);
|
||||
const [debouncedValue, _setDebouncedValue] = useState<T>(initialValue);
|
||||
const setDebouncedValue = useMemo(
|
||||
() => debounce(_setDebouncedValue, delay, options),
|
||||
[]
|
||||
[],
|
||||
);
|
||||
useEffect(() => {
|
||||
setDebouncedValue(value);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { api } from '@/trpc/client';
|
||||
|
||||
export function useEventNames(
|
||||
params: Parameters<typeof api.chart.events.useQuery>[0]
|
||||
params: Parameters<typeof api.chart.events.useQuery>[0],
|
||||
) {
|
||||
const query = api.chart.events.useQuery(params, {
|
||||
staleTime: 1000 * 60 * 10,
|
||||
|
||||
@@ -4,7 +4,7 @@ import type { UseQueryOptions } from '@tanstack/react-query';
|
||||
|
||||
export function useEventProperties(
|
||||
params: RouterInputs['chart']['properties'],
|
||||
options?: UseQueryOptions<RouterInputs['chart']['properties']>
|
||||
options?: UseQueryOptions<RouterInputs['chart']['properties']>,
|
||||
): string[] {
|
||||
const query = api.chart.properties.useQuery(params, {
|
||||
staleTime: 1000 * 60 * 10,
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import { useCallback } from 'react';
|
||||
import type { Options as NuqsOptions } from 'nuqs';
|
||||
import {
|
||||
createParser,
|
||||
@@ -6,6 +5,7 @@ import {
|
||||
parseAsString,
|
||||
useQueryState,
|
||||
} from 'nuqs';
|
||||
import { useCallback } from 'react';
|
||||
|
||||
import type { IChartEventFilterOperator } from '@openpanel/validation';
|
||||
|
||||
@@ -34,7 +34,7 @@ export const eventQueryFiltersParser = createParser({
|
||||
return value
|
||||
.map(
|
||||
(filter) =>
|
||||
`${filter.id},${filter.operator},${filter.value.map((v) => encodeURIComponent(v.trim())).join('|')}`
|
||||
`${filter.id},${filter.operator},${filter.value.map((v) => encodeURIComponent(v.trim())).join('|')}`,
|
||||
)
|
||||
.join(';');
|
||||
},
|
||||
@@ -46,7 +46,7 @@ export function useEventQueryFilters(options: NuqsOptions = {}) {
|
||||
eventQueryFiltersParser.withDefault([]).withOptions({
|
||||
...nuqsOptions,
|
||||
...options,
|
||||
})
|
||||
}),
|
||||
);
|
||||
|
||||
const setFilter = useCallback(
|
||||
@@ -59,7 +59,7 @@ export function useEventQueryFilters(options: NuqsOptions = {}) {
|
||||
| undefined
|
||||
| null
|
||||
| (string | number | boolean | undefined | null)[],
|
||||
operator: IChartEventFilterOperator = 'is'
|
||||
operator: IChartEventFilterOperator = 'is',
|
||||
) => {
|
||||
setFilters((prev) => {
|
||||
const exists = prev.find((filter) => filter.name === name);
|
||||
@@ -99,14 +99,14 @@ export function useEventQueryFilters(options: NuqsOptions = {}) {
|
||||
];
|
||||
});
|
||||
},
|
||||
[setFilters]
|
||||
[setFilters],
|
||||
);
|
||||
|
||||
return [filters, setFilter, setFilters] as const;
|
||||
}
|
||||
|
||||
export const eventQueryNamesFilter = parseAsArrayOf(parseAsString).withDefault(
|
||||
[]
|
||||
[],
|
||||
);
|
||||
|
||||
export function useEventQueryNamesFilter(options: NuqsOptions = {}) {
|
||||
|
||||
@@ -27,6 +27,6 @@ export function useFormatDateInterval(interval: IInterval) {
|
||||
return (date: Date | string) =>
|
||||
formatDateInterval(
|
||||
interval,
|
||||
typeof date === 'string' ? new Date(date) : date
|
||||
typeof date === 'string' ? new Date(date) : date,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@ export function useNumber() {
|
||||
},
|
||||
formatWithUnit: (
|
||||
value: number | null | undefined,
|
||||
unit?: string | null
|
||||
unit?: string | null,
|
||||
) => {
|
||||
if (isNil(value)) {
|
||||
return 'N/A';
|
||||
|
||||
@@ -8,7 +8,7 @@ export function useProfileValues(projectId: string, property: string) {
|
||||
},
|
||||
{
|
||||
staleTime: 1000 * 60 * 10,
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
return query.data?.values ?? [];
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { api } from '@/trpc/client';
|
||||
|
||||
export function usePropertyValues(
|
||||
params: Parameters<typeof api.chart.values.useQuery>[0]
|
||||
params: Parameters<typeof api.chart.values.useQuery>[0],
|
||||
) {
|
||||
const query = api.chart.values.useQuery(params, {
|
||||
staleTime: 1000 * 60 * 10,
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
'use client';
|
||||
|
||||
import { useMemo } from 'react';
|
||||
import type { IChartData } from '@/trpc/client';
|
||||
import { getChartColor } from '@/utils/theme';
|
||||
import { useMemo } from 'react';
|
||||
|
||||
export type IRechartPayloadItem = {
|
||||
id: string;
|
||||
@@ -45,7 +45,7 @@ export function useRechartDataModel(series: IChartData['series']) {
|
||||
}
|
||||
return acc2;
|
||||
},
|
||||
{} as Record<string, any>
|
||||
{} as Record<string, any>,
|
||||
),
|
||||
};
|
||||
}, {}),
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { useCallback, useEffect, useRef } from 'react';
|
||||
import throttle from 'lodash.throttle';
|
||||
import { useCallback, useEffect, useRef } from 'react';
|
||||
|
||||
export function useThrottle(cb: () => void, delay: number) {
|
||||
const options = { leading: true, trailing: false }; // add custom lodash options
|
||||
@@ -10,6 +10,6 @@ export function useThrottle(cb: () => void, delay: number) {
|
||||
});
|
||||
return useCallback(
|
||||
throttle(() => cbRef.current(), delay, options),
|
||||
[delay]
|
||||
[delay],
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
'use client';
|
||||
|
||||
import { useEffect, useMemo, useState } from 'react';
|
||||
import type { IChartData } from '@/trpc/client';
|
||||
import { useEffect, useMemo, useState } from 'react';
|
||||
|
||||
export type IVisibleSeries = ReturnType<typeof useVisibleSeries>['series'];
|
||||
export function useVisibleSeries(data: IChartData, limit?: number | undefined) {
|
||||
const max = limit ?? 5;
|
||||
const [visibleSeries, setVisibleSeries] = useState<string[]>(
|
||||
data?.series?.slice(0, max).map((serie) => serie.id) ?? []
|
||||
data?.series?.slice(0, max).map((serie) => serie.id) ?? [],
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
setVisibleSeries(
|
||||
data?.series?.slice(0, max).map((serie) => serie.id) ?? []
|
||||
data?.series?.slice(0, max).map((serie) => serie.id) ?? [],
|
||||
);
|
||||
}, [data, max]);
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
'use client';
|
||||
|
||||
import { use, useEffect, useMemo, useState } from 'react';
|
||||
import { useAuth } from '@clerk/nextjs';
|
||||
import debounce from 'lodash.debounce';
|
||||
import { use, useEffect, useMemo, useState } from 'react';
|
||||
import useWebSocket from 'react-use-websocket';
|
||||
|
||||
import { getSuperJson } from '@openpanel/common';
|
||||
@@ -16,7 +16,7 @@ type UseWSOptions = {
|
||||
export default function useWS<T>(
|
||||
path: string,
|
||||
onMessage: (event: T) => void,
|
||||
options?: UseWSOptions
|
||||
options?: UseWSOptions,
|
||||
) {
|
||||
const auth = useAuth();
|
||||
const ws = String(process.env.NEXT_PUBLIC_API_URL)
|
||||
|
||||
Reference in New Issue
Block a user