UNPKG

@graphql-mesh/transport-thrift

Version:
59 lines (58 loc) 1.52 kB
import type { IMethodAnnotations, IThriftAnnotations, TType } from '@creditkarma/thrift-server-core'; export type TypeVal = BaseTypeVal | ListTypeVal | SetTypeVal | MapTypeVal | EnumTypeVal | StructTypeVal | VoidTypeVal | RefTypeVal; export type BaseTypeVal = { id?: number; type: TType.BOOL | TType.BYTE | TType.DOUBLE | TType.I16 | TType.I32 | TType.I64 | TType.STRING; }; export type ListTypeVal = { id?: number; type: TType.LIST; elementType: TypeVal; }; export type SetTypeVal = { id?: number; type: TType.SET; elementType: TypeVal; }; export type MapTypeVal = { id?: number; type: TType.MAP; keyType: TypeVal; valType: TypeVal; }; export type EnumTypeVal = { id?: number; type: TType.ENUM; }; export type StructTypeVal = { id?: number; type: TType.STRUCT; name: string; fields: TypeMap; }; export type VoidTypeVal = { id?: number; type: TType.VOID; }; export type RefTypeVal = { id?: number; type: 'ref'; name: string; }; export type TypeMap = Record<string, TypeVal>; export interface GraphQLThriftAnnotations { kind: 'thrift'; subgraph: string; location: string; headers: Record<string, string>; options: { clientAnnotations: { serviceName: string; annotations: IThriftAnnotations; methodNames: string[]; methodAnnotations: IMethodAnnotations; methodParameters: Record<string, number>; }; topTypeMap: TypeMap; }; }