1.0.1 • Published 1 year ago

@inversable/codegen-subtypes v1.0.1

Weekly downloads
-
License
SEE LICENSE IN LI...
Repository
gitlab
Last release
1 year ago

Codegen Subtypes

Codegen Subtypes is a plugin for GraphQL Code Generator. The plugin generates subtypes for your GraphQL operations. The subtypes are very similar to the subtypes Apollo tooling generates.

Example

Example query:

query getContexts($userId: uuid!) {
  auth_contexts {
    id
    name
    AccountRoles(where: {account: {user_id: {_eq: $userId}}}) {
      id
      role
    }
  }
}

Default GraphQL Code Generator output (typescript-operations plugin)

export type get_contexts_query = { 
    auth_contexts: Array<{ 
        __typename: 'auth_contexts', 
        id: any, 
        name: string | null, 
        AccountRoles: Array<{ 
            __typename: 'auth_account_roles',
             id: any, role: string 
        }>
    }> 
};

Additional types generated with Codegen Subtypes:

export type getContexts = get_contexts_query;
export type getContexts_auth_contexts = NonNullable<(NonNullable<get_contexts_query['auth_contexts']>)[number]>;
export type getContexts_auth_contexts_AccountRoles = NonNullable<(NonNullable<NonNullable<(NonNullable<get_contexts_query['auth_contexts']>)[number]>['AccountRoles']>)[number]>;

How to enable

Add package:

npm install -D @inversable/codegen-subtypes

Add @inversable/codegen-subtypes as a plugin to your codegen.ts.