3.0.0 • Published 1 year ago
graphql-express v3.0.0
graphql-express
A lightweight GraphQL client which can be handled by RxJs operators (switchMap, mergeMap, concatMap, exhaustMap). It requires RxJs v.6.5.0 or higher.
Comparison with Apollo
When you open a playground, to test the package open developer console, go to the network section and set throttling.
Playground with graphql-express
Playground with Angular+Apollo
Examples
Query with fragment
import { query } from 'graphql-express';
const REQUEST_URL: string = 'https://api.graph.cool/simple/v1/ciyz901en4j590185wkmexyex';
const allUsersQuery = `{
allUsers {
...userFragment
}
}`;
const userFragment = `
fragment userFragment on User {
id
name
email
createdAt
}`;
query(
REQUEST_URL,
allUsersQuery,
null,
[userFragment],
).pipe(
//handling response
);
Query with variable and fragment
import { query } from 'graphql-express';
const REQUEST_URL: string = 'https://api.graph.cool/simple/v1/ciyz901en4j590185wkmexyex';
const userQuery = `
userQuery($id: ID) {
User(id: $id) {
...userFragment
}
}`;
const userFragment = `
fragment userFragment on User {
id
name
email
createdAt
}`;
const variables = {
id: 'ck1c8p3af1d1w0133wwv0jpkx',
};
query(
REQUEST_URL,
userQuery,
variables,
[userFragment],
).pipe(
//handling response
);
Mutation with fragment
import { mutation } from 'graphql-express';
const REQUEST_URL: string = 'https://api.graph.cool/simple/v1/ciyz901en4j590185wkmexyex';
const renameUserMutation = `
updateUser(
$id: ID!,
$name: String
) {
updateUser(
id: $id,
name: $name,
commentsIds: [],
comments: [],
postsIds: [],
posts: []
) {
...userFragment
}
}`;
const userFragment = `
fragment userFragment on User {
id
name
email
createdAt
}`;
const variables = {
id: 'ck1c8p3af1d1w0133wwv0jpkx',
name: 'test',
};
mutation(
REQUEST_URL,
renameUserMutation,
variables,
[userFragment],
).pipe(
//handling response
);
QueryBuilder
import { QueryBuilder } from 'graphql-express';
const REQUEST_URL: string = 'https://api.graph.cool/simple/v1/ciyz901en4j590185wkmexyex';
const userQuery: string = `
User(id: $id) {
...userFragment
}`;
const userFragment: string = `
fragment userFragment on User {
id
name
email
createdAt
}`;
QueryBuilder.registerHost(REQUEST_URL, true);
QueryBuilder.registerArguments(
{
'id': 'ID',
'name': 'String',
},
);
QueryBuilder.from(userQuery)
.addFragments([userFragment])
.addVariables(
{
'id': 'ck1buv43a0hv201955u808iqn',
},
)
//or .mutation()
.query()
.pipe(
//handling response
);
3.0.0
1 year ago
2.0.8
2 years ago
2.0.7
3 years ago
2.0.6
3 years ago
2.0.5
3 years ago
2.0.4
3 years ago
2.0.3
4 years ago
2.0.2
5 years ago
2.0.1
5 years ago
2.0.0
6 years ago
1.0.3
6 years ago
1.0.2
6 years ago
1.0.1
6 years ago
1.0.0
6 years ago
1.0.0-beta.1
6 years ago
1.0.0-alpha.5
6 years ago
1.0.0-alpha.4
6 years ago
1.0.0-alpha.3
6 years ago
1.0.0-alpha.2
6 years ago
1.0.0-alpha.1
6 years ago
1.1.0
8 years ago