8000 GitHub - Waradu/graphql
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Waradu/graphql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wrdu-graphql

Install

bun install wrdu-graphql

Usage

Basic:

const gql = new GraphQL(
  query([
    field("Animal").children([
      field("id"),
      field("type"),
      field("name"),
      field("age"),
      field("owner").children([field("name")]),
    ]),
  ])
);
# Result
query {
  Animal {
    id
    type
    name
    age
    owner {
      name
    }
  }
}

Params:

const gql = new GraphQL(
  query([
    field("Animal")
      .children([
        field("id"),
        field("type"),
        field("name"),
        field("age").params([param("in", "SECONDS")]),
      ])
      .params([param("search", "dog", true)]),
  ])
);
# Result
query {
  Animal(search: "dog") {
    id
    type
    name
    age(in: SECONDS)
  }
}
// true at the end means that "dog" should be treated as a string
param("search", "dog", true); // Animal(search: "dog")
param("search", "dog"); // Animal(search: dog)

Labels:

const gql = new GraphQL(
  query([
    field("Animal").children([
      field("id"),
      field("type", "animalType"),
      field("name"),
      field("age"),
    ]),
  ])
);
# Result
query {
  Animal {
    id
    animalType: type
    name
    age
  }
}

Fragments:

Query:

const gql = new GraphQL(
  query([field("Animal").children([field("...AnimalFields")])]),
  [
    fragment("AnimalFields", "Animal", [
      field("id"),
      field("type"),
      field("name"),
      field("age"),
    ]),
  ]
);
# Result
query {
  Animal {
    ...AnimalFields
  }
}

fragment AnimalFields on Animal {
  id
  type
  name
  age
}

Directives:

Query:

const gql = new GraphQL(
  query([
    field("Animal").children([
      field("id"),
      field("type"),
      field("name"),
      field("age"),
      field("owner").children([
        field("name")
      ]),
    ]).params([
      param("name", "$name")
    ]),
  ]).directives("AnimalSearch", [
    param("$name", "String")
  ])
);
# Result
query AnimalSearch($name: String) {
  Animal(name: $name) {
    id
    type
    name
    age
    owner {
      name
    }
  }
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0