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

20 lines
571 B
TypeScript

import { useMemo } from 'react';
import { useLGMethods, useLGState } from './useLGState';
import type { TDirective } from '~/types';
export function useDirective(): Nullable<TDirective> {
const { queryType, queryGroup } = useLGState();
const { getDirective } = useLGMethods();
return useMemo((): Nullable<TDirective> => {
if (queryType.value === '') {
return null;
}
const directive = getDirective(queryType.value);
if (directive !== null) {
return directive.value;
}
return null;
}, [queryType.value, queryGroup.value]);
}