/** @category Kinds */
/** The set of allowed directive location values. */
export const DirectiveLocation = {
// Request Definitions
/** Directive location for query operations. */
QUERY: 'QUERY' as const,
/** Directive location for mutation operations. */
MUTATION: 'MUTATION' as const,
/** Directive location for subscription operations. */
SUBSCRIPTION: 'SUBSCRIPTION' as const,
/** Directive location for field selections. */
FIELD: 'FIELD' as const,
/** Directive location for fragment definitions. */
FRAGMENT_DEFINITION: 'FRAGMENT_DEFINITION' as const,
/** Directive location for fragment spreads. */
FRAGMENT_SPREAD: 'FRAGMENT_SPREAD' as const,
/** Directive location for inline fragments. */
INLINE_FRAGMENT: 'INLINE_FRAGMENT' as const,
/** Directive location for variable definitions. */
VARIABLE_DEFINITION: 'VARIABLE_DEFINITION' as const,
/** Directive location for fragment variable definitions. */
FRAGMENT_VARIABLE_DEFINITION: 'FRAGMENT_VARIABLE_DEFINITION' as const,
// Type System Definitions
/** Directive location for schema definitions and extensions. */
SCHEMA: 'SCHEMA' as const,
/** Directive location for scalar type definitions and extensions. */
SCALAR: 'SCALAR' as const,
/** Directive location for object type definitions and extensions. */
OBJECT: 'OBJECT' as const,
/** Directive location for field definitions. */
FIELD_DEFINITION: 'FIELD_DEFINITION' as const,
/** Directive location for argument definitions. */
ARGUMENT_DEFINITION: 'ARGUMENT_DEFINITION' as const,
/** Directive location for interface type definitions and extensions. */
INTERFACE: 'INTERFACE' as const,
/** Directive location for union type definitions and extensions. */
UNION: 'UNION' as const,
/** Directive location for enum type definitions and extensions. */
ENUM: 'ENUM' as const,
/** Directive location for enum value definitions. */
ENUM_VALUE: 'ENUM_VALUE' as const,
/** Directive location for input object type definitions and extensions. */
INPUT_OBJECT: 'INPUT_OBJECT' as const,
/** Directive location for input object field definitions. */
INPUT_FIELD_DEFINITION: 'INPUT_FIELD_DEFINITION' as const,
/** Directive location for directive definitions and extensions. */
DIRECTIVE_DEFINITION: 'DIRECTIVE_DEFINITION' as const,
} as const;
/** The set of allowed directive location values. */
// eslint-disable-next-line @typescript-eslint/no-redeclare
export type DirectiveLocation =
(typeof DirectiveLocation)[keyof typeof DirectiveLocation];