1- import { createSpecBuilderClass } from './base' ;
1+ import { createSpecBuilderClass , createConnectionBuilderClass , createUnionBuilderClass , defer } from './base' ;
22import { nextID } from '../id-sequence' ;
33
4+ const RepositoryBuilder = defer ( '../repository' , 'RepositoryBuilder' ) ;
5+
6+ export const RepositoryConnectionBuilder = createConnectionBuilderClass ( 'Repository' , RepositoryBuilder ) ;
7+
48export const UserBuilder = createSpecBuilderClass ( 'User' , {
59 __typename : { default : 'User' } ,
610 id : { default : nextID } ,
@@ -10,8 +14,35 @@ export const UserBuilder = createSpecBuilderClass('User', {
1014 const login = f . login || 'login' ;
1115 return `https://github.com/${ login } ` ;
1216 } } ,
17+ company : { default : 'GitHub' } ,
18+ repositories : { linked : RepositoryConnectionBuilder } ,
19+ } ,
20+ 'Node & Actor & RegistryPackageOwner & RegistryPackageSearch & ProjectOwner ' +
21+ '& RepositoryOwner & UniformResourceLocatable' ,
22+ ) ;
23+
24+ export const OrganizationMemberConnectionBuilder = createConnectionBuilderClass ( 'OrganizationMember' , UserBuilder ) ;
25+
26+ export const OrganizationBuilder = createSpecBuilderClass ( 'Organization' , {
27+ login : { default : 'someone' } ,
28+ avatarUrl : { default : 'https://avatars3.githubusercontent.com/u/17565?s=32&v=4' } ,
29+ repositories : { linked : RepositoryConnectionBuilder } ,
30+ membersWithRole : { linked : OrganizationMemberConnectionBuilder } ,
31+ } ,
32+ 'Node & Actor & RegistryPackageOwner & RegistryPackageSearch & ProjectOwner ' +
33+ '& RepositoryOwner & UniformResourceLocatable & MemberStatusable' ,
34+ ) ;
35+
36+ export const RepositoryOwnerBuilder = createUnionBuilderClass ( 'RepositoryOwner' , {
37+ beUser : UserBuilder ,
38+ beOrganization : OrganizationBuilder ,
39+ default : 'beUser' ,
1340} ) ;
1441
1542export function userBuilder ( ...nodes ) {
1643 return UserBuilder . onFragmentQuery ( nodes ) ;
1744}
45+
46+ export function organizationBuilder ( ...nodes ) {
47+ return OrganizationBuilder . onFragmentQuery ( nodes ) ;
48+ }
0 commit comments