0.1.19 • Published 5 years ago

@acknow-srl/graphql v0.1.19

Weekly downloads
20
License
MIT
Repository
-
Last release
5 years ago

GrapQL

Allows you to interface with a GraphQL server and execute queries.

GraphQLModule (Module)

Methods

  • forRoot(config: GQLConfig): void: configures the connection to the GraphQL server.

GQLConfig (Interface)

  • server (string): GraphQL server URL.

GQL (Service)

It is provided in root, so it is available to the whole app.

Methods

  • query(query: string, vars: object | null = null): Observable<any>: sends a query (with optional parameters, passed as a plain object) to the GraphQL server. Returns an Observable with the GraphQL server response.

  • trim(value: string | null | undefined): string: returns a string without leading and trailing spaces. This method is safe for string, null and undefined values. If null or undefined is passed, this method returns an empty string.

Example

/**
 * 1. Import the module and all classes you need in your main module (usually app.module.ts).
 */

import { AckGraphQLModule, GQLConfig } from '@acknow-srl/graphql';

/**
 * 2. Add the module to your app imports and configure it.
 */

const conf: GQLConfig = {
    server: 'http://my-graphql-server-url'
};

@NgModule({
  declarations: [
    AppComponent
    ...
  ],
  imports: [
    ...
    AckGraphQLModule.forRoot(conf),
    ...
  ],
  bootstrap: [AppComponent]
})
export class AppModule {
}

/**
 * 3. Implement GQL service in your services or components.
 */

import { Injectable } from '@angular/core';

import { throwError } from 'rxjs';

import { map, catchError } from 'rxjs/operators';

import { GQL } from '@acknow-srl/graphql';

@Injectable({
    providedIn: 'root'
})
export class MyService {

	constructor(private _gql: GQL) {
	}

	// Gets an entry from the database by ID.

	getEntry(id: number) {

			// Sets parameters.

			let vars = {
				id: id 
			};

			// Sets query.

			let q = `query Entry($id: Int!) {
					allEntries(condition: {id: $id}) {
							nodes {
									id
									field1
									field2
									field3
							}
					}
			}`;

			return this._gql.query(q, vars).pipe(map(res => {
					return (res && res.data)? res.data.allEntries.nodes[0] : null;
			}),
			catchError(err => {
					throwError(err);
			}));
	}

}
0.1.19

5 years ago

0.0.19

5 years ago

0.0.18

5 years ago

0.0.17

5 years ago

0.0.16

5 years ago

0.0.15

5 years ago

0.0.14

5 years ago

0.0.13

5 years ago

0.0.12

5 years ago

0.0.11

5 years ago

0.0.10

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago