1
0
Fork 1
mirror of https://github.com/thatmattlove/hyperglass.git synced 2026-01-17 08:48:05 +00:00
thatmattlove-hyperglass/hyperglass/ui/hooks/useDirective.ts
2021-09-10 23:13:27 -07:00

21 lines
642 B
TypeScript

import { useMemo } from 'react';
import { useLGMethods, useLGState } from './useLGState';
import type { Directive } from '~/types';
export function useDirective(): Nullable<Directive> {
const { queryType, queryGroup } = useLGState();
const { getDirective } = useLGMethods();
return useMemo((): Nullable<Directive> => {
if (queryType.value === '') {
return null;
}
const directive = getDirective(queryType.value);
if (directive !== null) {
return directive.value;
}
return null;
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [queryType.value, queryGroup.value, getDirective]);
}