1.2.35 • Published 5 years ago

@nger/ast.ts-graphql v1.2.35

Weekly downloads
-
License
ISC
Repository
github
Last release
5 years ago

ts-graphql

根据ts代码自动生成graphql文件

Usage

import { Query, Resolver, ResolveProperty } from '@nestjs/graphql';
import { Department } from './entities/Department.entity'
import { User } from './entities/User.entity'
import { IDepartmen, UserDepartment } from './types';
@Resolver('IDepartmen')
export class DemoUnion {
    @ResolveProperty()
    __resolveType(obj: IDepartmen) {
        if (obj instanceof User) {
            return `User`;
        }
        if (obj instanceof Department) {
            return `Department`
        }
        if (obj instanceof UserDepartment) {
            return `UserDepartment`
        }
    }
}
@Resolver()
export class DemoGraphql {
    id: number = 0;
    /**
     * get department
     * @param {User} user 
     */
    @Query()
    async getDepartment(): Promise<IDepartmen> {
        this.id += 1;
        const department = new Department()
        department.title = `title`;
        const user = new User();
        user.password = `password`;
        user.username = `username`;
        if (this.id % 3 === 0) {
            const userDepartment = new UserDepartment();
            userDepartment.user = user;
            userDepartment.department = department;
            return userDepartment;
        }
        if (this.id % 2 === 0) {
            return department;
        }
        return user;
    }
}

生成

scalar Date

scalar Json

type Department {
  """部门id"""
  id: String!
  """部门名称"""
  title: String!
}

type User {
  """用户uid"""
  uid: String!
  """用户名"""
  username: String!
  """密码"""
  password: String!
}

type UserDepartment {
  user: User!
  department: Department!
}

union IDepartmen = Department | User | UserDepartment

type Query {
  """get department"""
  getDepartment: IDepartmen!
}
{
	getDepartment{
    ...on User{
      username,
      password
    },
    ...on Department{
      title
    },
    ...on UserDepartment{
      user{
        username,
        password
      }
      department{
        title
      }
    }
  }
}
1.2.35

5 years ago

1.2.34

5 years ago

1.2.32

5 years ago

1.2.33

5 years ago

1.2.31

5 years ago

1.2.29

5 years ago

1.2.30

5 years ago

1.2.28

5 years ago

1.2.27

5 years ago

1.2.26

5 years ago

1.2.25

5 years ago

1.2.24

5 years ago

1.2.23

5 years ago

1.2.22

5 years ago

1.2.21

5 years ago

1.2.20

5 years ago

1.2.18

5 years ago

1.2.19

5 years ago

1.2.0

5 years ago

1.2.8

5 years ago

1.2.7

5 years ago

1.2.6

5 years ago

1.2.5

5 years ago

1.2.4

5 years ago

1.2.3

5 years ago

1.2.2

5 years ago

1.2.1

5 years ago

1.2.12

5 years ago

1.1.45

5 years ago

1.2.13

5 years ago

1.2.10

5 years ago

1.2.16

5 years ago

1.1.49

5 years ago

1.2.17

5 years ago

1.1.48

5 years ago

1.2.14

5 years ago

1.1.47

5 years ago

1.2.15

5 years ago

1.1.46

5 years ago

1.1.52

5 years ago

1.1.51

5 years ago

1.1.50

5 years ago

1.1.56

5 years ago

1.1.55

5 years ago

1.1.54

5 years ago

1.1.53

5 years ago

1.1.59

5 years ago

1.1.58

5 years ago

1.1.57

5 years ago

1.2.9

5 years ago

1.1.44

5 years ago

1.1.43

5 years ago

1.1.42

5 years ago

1.1.41

5 years ago

1.1.40

5 years ago

1.1.39

5 years ago

1.1.38

5 years ago

1.1.37

5 years ago

1.1.36

5 years ago

1.1.35

5 years ago

1.1.34

5 years ago

1.1.33

5 years ago

1.1.32

5 years ago

1.1.29

5 years ago

1.1.30

5 years ago

1.1.28

5 years ago

1.1.27

5 years ago

1.1.26

5 years ago

1.1.16

5 years ago

1.1.15

5 years ago

1.1.14

5 years ago

1.1.13

5 years ago

1.1.19

5 years ago

1.1.18

5 years ago

1.1.17

5 years ago

1.1.23

5 years ago

1.1.22

5 years ago

1.1.21

5 years ago

1.1.25

5 years ago

1.1.24

5 years ago

1.1.12

5 years ago

1.1.11

5 years ago

1.1.10

5 years ago

1.1.9

5 years ago

1.1.8

5 years ago

1.1.7

6 years ago

1.1.6

6 years ago

1.1.5

6 years ago

1.1.4

6 years ago

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.9

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.2

6 years ago