0.12.0 • Published 5 years ago

graphql-compose-typescript v0.12.0

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

GraphQL-compose-typescript

Build Status codecov npm Maintainability Keep in mind, that this module is in early stage of development. Feel free to create issue or pr.

Examples

import 'reflect-metadata';
import {graphql} from "graphql";
import {schemaComposer} from "graphql-compose";
import {$field, $resolver, GraphqlComposeTypescript} from "graphql-compose-typescript";

class Order {
    @$field() id: string;
    @$field() quantity: number;

    constructor(id: string, quantity: number){
        this.id = id;
        this.quantity = quantity;
    }
}

class OrderService {
    @$resolver(()=> Order)
    getOrders(): Order[]{
        return [new Order('a', 1), new Order('b',2)];
    }
}

async function main(){
    let orderService = new OrderService();

    let compose = GraphqlComposeTypescript.create()
    let typeComposer = compose.getComposer(orderService);
    schemaComposer.Query.setField('getOrders', typeComposer.getResolver('getOrders'));
    let schema = schemaComposer.buildSchema();
    let result = await graphql(schema, `{
        getOrders{
            id
            quantity
        }
    }`);
    console.log(JSON.stringify(result.data.getOrders));
    /**
     * [{"id":"a","quantity":1},{"id":"b","quantity":2}]
     */
}
main();

Roadmap

  • using whole type configs in decorators
  • enums
  • solve argument names without explicit declaration
0.12.0

5 years ago

0.11.0

5 years ago

0.10.0

5 years ago

0.9.0

5 years ago

0.8.1

5 years ago

0.8.0

5 years ago

0.7.0

5 years ago

0.6.0

5 years ago

0.5.0

5 years ago

0.4.0

5 years ago

0.3.0

5 years ago

0.2.0

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.11

5 years ago

0.0.10

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.1

5 years ago