Skip to content

Commit

Permalink
refactor: Simplify typegen with keyof and intersection types (#628)
Browse files Browse the repository at this point in the history
  • Loading branch information
tgriesser committed Nov 17, 2020
1 parent 5a8fcae commit 9ba7d9b
Show file tree
Hide file tree
Showing 17 changed files with 1,291 additions and 908 deletions.
8 changes: 7 additions & 1 deletion examples/apollo-fullstack/src/fullstack-typegen.ts
Expand Up @@ -23,7 +23,7 @@ export interface NexusGenScalars {
ID: string
}

export interface NexusGenRootTypes {
export interface NexusGenObjectTypes {
Launch: t.Launch
LaunchConnection: {
// root type
Expand All @@ -48,6 +48,12 @@ export interface NexusGenRootTypes {
}
}

export interface NexusGenInterfaceTypes {}

export interface NexusGenUnionTypes {}

export type NexusGenRootTypes = NexusGenObjectTypes

export interface NexusGenAllTypes extends NexusGenRootTypes {
PatchSize: NexusGenEnums['PatchSize']
String: NexusGenScalars['String']
Expand Down
69 changes: 37 additions & 32 deletions examples/ghost/src/generated/ghost-db-tables.ts
@@ -1,37 +1,42 @@
/* Auto generated by /dumpTables.ts */
import * as dbt from "./ghost-db-types";
import * as dbt from './ghost-db-types'

export interface DBTables {
accesstokens: dbt.Accesstokens;
apiKeys: dbt.ApiKeys;
appFields: dbt.AppFields;
appSettings: dbt.AppSettings;
apps: dbt.Apps;
brute: dbt.Brute;
clientTrustedDomains: dbt.ClientTrustedDomains;
clients: dbt.Clients;
integrations: dbt.Integrations;
invites: dbt.Invites;
members: dbt.Members;
migrations: dbt.Migrations;
migrationsLock: dbt.MigrationsLock;
mobiledocRevisions: dbt.MobiledocRevisions;
permissions: dbt.Permissions;
permissionsApps: dbt.PermissionsApps;
permissionsRoles: dbt.PermissionsRoles;
permissionsUsers: dbt.PermissionsUsers;
posts: dbt.Posts;
postsAuthors: dbt.PostsAuthors;
postsTags: dbt.PostsTags;
refreshtokens: dbt.Refreshtokens;
roles: dbt.Roles;
rolesUsers: dbt.RolesUsers;
sessions: dbt.Sessions;
settings: dbt.Settings;
subscribers: dbt.Subscribers;
tags: dbt.Tags;
users: dbt.Users;
webhooks: dbt.Webhooks;
actions: dbt.Actions
apiKeys: dbt.ApiKeys
appFields: dbt.AppFields
appSettings: dbt.AppSettings
apps: dbt.Apps
brute: dbt.Brute
emailBatches: dbt.EmailBatches
emailRecipients: dbt.EmailRecipients
emails: dbt.Emails
integrations: dbt.Integrations
invites: dbt.Invites
labels: dbt.Labels
members: dbt.Members
membersLabels: dbt.MembersLabels
membersStripeCustomers: dbt.MembersStripeCustomers
membersStripeCustomersSubscriptions: dbt.MembersStripeCustomersSubscriptions
migrations: dbt.Migrations
migrationsLock: dbt.MigrationsLock
mobiledocRevisions: dbt.MobiledocRevisions
permissions: dbt.Permissions
permissionsApps: dbt.PermissionsApps
permissionsRoles: dbt.PermissionsRoles
permissionsUsers: dbt.PermissionsUsers
posts: dbt.Posts
postsAuthors: dbt.PostsAuthors
postsMeta: dbt.PostsMeta
postsTags: dbt.PostsTags
roles: dbt.Roles
rolesUsers: dbt.RolesUsers
sessions: dbt.Sessions
settings: dbt.Settings
tags: dbt.Tags
tokens: dbt.Tokens
users: dbt.Users
webhooks: dbt.Webhooks
}

export type DBTableName = Extract<keyof DBTables, string>;
export type DBTableName = Extract<keyof DBTables, string>

0 comments on commit 9ba7d9b

Please sign in to comment.