mirror of
https://github.com/thatmattlove/hyperglass.git
synced 2026-01-17 08:48:05 +00:00
20 lines
571 B
TypeScript
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]);
|
|
}
|