UNPKG

@neo4j/graphql

Version:

A GraphQL to Cypher query execution layer for Neo4j and JavaScript GraphQL implementations

69 lines 3.15 kB
import type { DirectiveNode } from "graphql"; import type { AuthenticationAnnotation } from "./AuthenticationAnnotation"; import type { AuthorizationAnnotation } from "./AuthorizationAnnotation"; import type { CoalesceAnnotation } from "./CoalesceAnnotation"; import type { CustomResolverAnnotation } from "./CustomResolverAnnotation"; import type { CypherAnnotation } from "./CypherAnnotation"; import type { DefaultAnnotation } from "./DefaultAnnotation"; import type { FilterableAnnotation } from "./FilterableAnnotation"; import type { FulltextAnnotation } from "./FulltextAnnotation"; import { IDAnnotation } from "./IDAnnotation"; import type { JWTClaimAnnotation } from "./JWTClaimAnnotation"; import { JWTPayloadAnnotation } from "./JWTPayloadAnnotation"; import type { KeyAnnotation } from "./KeyAnnotation"; import type { LimitAnnotation } from "./LimitAnnotation"; import type { MutationAnnotation } from "./MutationAnnotation"; import type { PluralAnnotation } from "./PluralAnnotation"; import type { PopulatedByAnnotation } from "./PopulatedByAnnotation"; import { PrivateAnnotation } from "./PrivateAnnotation"; import type { QueryAnnotation } from "./QueryAnnotation"; import { RelayIDAnnotation } from "./RelayIDAnnotation"; import type { SelectableAnnotation } from "./SelectableAnnotation"; import type { SettableAnnotation } from "./SettableAnnotation"; import type { SortableAnnotation } from "./SortableAnnotation"; import type { SubscriptionAnnotation } from "./SubscriptionAnnotation"; import type { SubscriptionsAuthorizationAnnotation } from "./SubscriptionsAuthorizationAnnotation"; import type { TimestampAnnotation } from "./TimestampAnnotation"; import type { VectorAnnotation } from "./VectorAnnotation"; export interface Annotation { readonly name: string; } type CheckAnnotationName<T> = { [P in keyof T]: T[P] & { name: P; }; }; export type Annotations = CheckAnnotationName<{ authentication: AuthenticationAnnotation; authorization: AuthorizationAnnotation; coalesce: CoalesceAnnotation; customResolver: CustomResolverAnnotation; cypher: CypherAnnotation; default: DefaultAnnotation; filterable: FilterableAnnotation; fulltext: FulltextAnnotation; vector: VectorAnnotation; id: IDAnnotation; jwt: JWTPayloadAnnotation; jwtClaim: JWTClaimAnnotation; key: KeyAnnotation; limit: LimitAnnotation; mutation: MutationAnnotation; plural: PluralAnnotation; populatedBy: PopulatedByAnnotation; private: PrivateAnnotation; query: QueryAnnotation; relayId: RelayIDAnnotation; selectable: SelectableAnnotation; settable: SettableAnnotation; sortable: SortableAnnotation; subscription: SubscriptionAnnotation; subscriptionsAuthorization: SubscriptionsAuthorizationAnnotation; timestamp: TimestampAnnotation; }>; export type AnnotationParser<T extends Annotation> = (firstDirective: DirectiveNode, directives: readonly DirectiveNode[]) => T; export declare const annotationsParsers: { [key in keyof Annotations]: AnnotationParser<Annotations[key]>; }; export {}; //# sourceMappingURL=Annotation.d.ts.map