graphql-codegen-plugin-typescript-swr
Version:
A GraphQL code generator plug-in that automatically generates utility functions for SWR.
157 lines (136 loc) • 4.16 kB
text/typescript
export type Maybe<T> = T | null;
export type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
/** All built-in and custom scalars, mapped to their actual values */
export type Scalars = {
ID: string;
String: string;
Boolean: boolean;
Int: number;
Float: number;
};
/** A list of options for the sort order of the feed */
export enum FeedType {
/** Sort by a combination of freshness and score, using Reddit's algorithm */
Hot = 'HOT',
/** Newest entries first */
New = 'NEW',
/** Highest score entries first */
Top = 'TOP',
}
/** The type of vote to record, when submitting a vote */
export enum VoteType {
Up = 'UP',
Down = 'DOWN',
Cancel = 'CANCEL',
}
export type OnCommentAddedSubscriptionVariables = Exact<{
repoFullName: Scalars['String'];
}>;
export type OnCommentAddedSubscription = {
__typename?: 'Subscription';
commentAdded?: Maybe<{
__typename?: 'Comment';
id: number;
createdAt: number;
content: string;
postedBy: { __typename?: 'User'; login: string; html_url: string };
}>;
};
export type CommentQueryVariables = Exact<{
repoFullName: Scalars['String'];
limit?: Maybe<Scalars['Int']>;
offset?: Maybe<Scalars['Int']>;
}>;
export type CommentQuery = {
__typename?: 'Query';
currentUser?: Maybe<{ __typename?: 'User'; login: string; html_url: string }>;
entry?: Maybe<{
__typename?: 'Entry';
id: number;
createdAt: number;
commentCount: number;
postedBy: { __typename?: 'User'; login: string; html_url: string };
comments: Array<Maybe<{ __typename?: 'Comment' } & CommentsPageCommentFragment>>;
repository: {
__typename?: 'Repository';
description?: Maybe<string>;
open_issues_count?: Maybe<number>;
stargazers_count: number;
full_name: string;
html_url: string;
};
}>;
};
export type CommentsPageCommentFragment = {
__typename?: 'Comment';
id: number;
createdAt: number;
content: string;
postedBy: { __typename?: 'User'; login: string; html_url: string };
};
export type CurrentUserForProfileQueryVariables = Exact<{ [key: string]: never }>;
export type CurrentUserForProfileQuery = {
__typename?: 'Query';
currentUser?: Maybe<{ __typename?: 'User'; login: string; avatar_url: string }>;
};
export type FeedEntryFragment = {
__typename?: 'Entry';
id: number;
commentCount: number;
repository: {
__typename?: 'Repository';
full_name: string;
html_url: string;
owner?: Maybe<{ __typename?: 'User'; avatar_url: string }>;
};
} & VoteButtonsFragment &
RepoInfoFragment;
export type FeedQueryVariables = Exact<{
type: FeedType;
offset?: Maybe<Scalars['Int']>;
limit?: Maybe<Scalars['Int']>;
}>;
export type FeedQuery = {
__typename?: 'Query';
currentUser?: Maybe<{ __typename?: 'User'; login: string }>;
feed?: Maybe<Array<Maybe<{ __typename?: 'Entry' } & FeedEntryFragment>>>;
};
export type SubmitRepositoryMutationVariables = Exact<{
repoFullName: Scalars['String'];
}>;
export type SubmitRepositoryMutation = {
__typename?: 'Mutation';
submitRepository?: Maybe<{ __typename?: 'Entry'; createdAt: number }>;
};
export type RepoInfoFragment = {
__typename?: 'Entry';
createdAt: number;
repository: {
__typename?: 'Repository';
description?: Maybe<string>;
stargazers_count: number;
open_issues_count?: Maybe<number>;
};
postedBy: { __typename?: 'User'; html_url: string; login: string };
};
export type SubmitCommentMutationVariables = Exact<{
repoFullName: Scalars['String'];
commentContent: Scalars['String'];
}>;
export type SubmitCommentMutation = {
__typename?: 'Mutation';
submitComment?: Maybe<{ __typename?: 'Comment' } & CommentsPageCommentFragment>;
};
export type VoteButtonsFragment = {
__typename?: 'Entry';
score: number;
vote: { __typename?: 'Vote'; vote_value: number };
};
export type VoteMutationVariables = Exact<{
repoFullName: Scalars['String'];
type: VoteType;
}>;
export type VoteMutation = {
__typename?: 'Mutation';
vote?: Maybe<{ __typename?: 'Entry'; score: number; id: number; vote: { __typename?: 'Vote'; vote_value: number } }>;
};