UNPKG

ts-gql-helpers

Version:
17 lines (16 loc) 1.09 kB
export declare type GraphQLResult = { __typename: string; }; export declare type ValueOfTypename<T extends GraphQLResult> = T['__typename']; export declare function isType<Result extends GraphQLResult, Typename extends ValueOfTypename<Result>>(result: Result, typename: Typename): result is Extract<Result, { __typename: Typename; }>; export declare function isTypeInTuple<ResultItem extends GraphQLResult, Typename extends ValueOfTypename<ResultItem>>(typename: Typename): (o: ResultItem) => o is Extract<ResultItem, { __typename: Typename; }>; export declare function isEither<Result extends GraphQLResult, Typename extends ValueOfTypename<Result>, PossibleTypes extends Array<Typename>>(result: Result, typenames: PossibleTypes): result is Extract<Result, { __typename: typeof typenames[number]; }>; export declare function isNot<Result extends GraphQLResult, Typename extends ValueOfTypename<Result>, ExcludedTypes extends Array<Typename>>(result: Result, typenames: ExcludedTypes): result is Exclude<Result, { __typename: typeof typenames[number]; }>;