1.2.35 • Published 4 years ago

@nger/ast.ts-graphql v1.2.35

Weekly downloads
-
License
ISC
Repository
github
Last release
4 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

4 years ago

1.2.34

4 years ago

1.2.32

4 years ago

1.2.33

4 years ago

1.2.31

4 years ago

1.2.29

4 years ago

1.2.30

4 years ago

1.2.28

4 years ago

1.2.27

4 years ago

1.2.26

4 years ago

1.2.25

4 years ago

1.2.24

4 years ago

1.2.23

4 years ago

1.2.22

4 years ago

1.2.21

4 years ago

1.2.20

4 years ago

1.2.18

4 years ago

1.2.19

4 years ago

1.2.0

4 years ago

1.2.8

4 years ago

1.2.7

4 years ago

1.2.6

4 years ago

1.2.5

4 years ago

1.2.4

4 years ago

1.2.3

4 years ago

1.2.2

4 years ago

1.2.1

4 years ago

1.2.12

4 years ago

1.1.45

4 years ago

1.2.13

4 years ago

1.2.10

4 years ago

1.2.16

4 years ago

1.1.49

4 years ago

1.2.17

4 years ago

1.1.48

4 years ago

1.2.14

4 years ago

1.1.47

4 years ago

1.2.15

4 years ago

1.1.46

4 years ago

1.1.52

4 years ago

1.1.51

4 years ago

1.1.50

4 years ago

1.1.56

4 years ago

1.1.55

4 years ago

1.1.54

4 years ago

1.1.53

4 years ago

1.1.59

4 years ago

1.1.58

4 years ago

1.1.57

4 years ago

1.2.9

4 years ago

1.1.44

4 years ago

1.1.43

4 years ago

1.1.42

4 years ago

1.1.41

4 years ago

1.1.40

4 years ago

1.1.39

4 years ago

1.1.38

4 years ago

1.1.37

4 years ago

1.1.36

4 years ago

1.1.35

4 years ago

1.1.34

4 years ago

1.1.33

4 years ago

1.1.32

4 years ago

1.1.29

4 years ago

1.1.30

4 years ago

1.1.28

4 years ago

1.1.27

4 years ago

1.1.26

4 years ago

1.1.16

4 years ago

1.1.15

4 years ago

1.1.14

4 years ago

1.1.13

4 years ago

1.1.19

4 years ago

1.1.18

4 years ago

1.1.17

4 years ago

1.1.23

4 years ago

1.1.22

4 years ago

1.1.21

4 years ago

1.1.25

4 years ago

1.1.24

4 years ago

1.1.12

4 years ago

1.1.11

4 years ago

1.1.10

4 years ago

1.1.9

4 years ago

1.1.8

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.9

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.2

4 years ago