@atomist/automation-client
Version:
Atomist API for software low-level client
78 lines • 2.72 kB
TypeScript
/**
* Client for GraphQL operations. Provided to all handlers.
*/
export interface GraphClient {
/**
* GraphQL endpoint
*/
endpoint: string;
/**
* Run query either provided as a string or as loaded from a file
* @param {QueryOptions<Q> | string} optionsOrName
* @returns {Promise<T>}
*/
query<T, Q>(optionsOrName: QueryOptions<Q> | string): Promise<T>;
/**
* Run mutation either provided as a string or as loaded from a file
* @param {MutationOptions<Q> | string} optionsOrName
* @returns {Promise<T>}
*/
mutate<T, Q>(optionsOrName: MutationOptions<Q> | string): Promise<T>;
}
/**
* Options to be passed into GraphClient.query.
* Note: either query, name or path needs to be provided.
*/
export interface QueryOptions<Q> {
/** Optional GraphQL query string */
query?: string;
/**
* Optional absolute or relative path to the '.graphql' query file.
* Relative paths will get resolved against the path of the calling script.
*/
path?: string;
/**
* Optional name of the query operation in a '.graphql' file located in 'graphql/query'.
* The file system will be searched upwards for a 'graphql' folder; starting in
* the directory of the currently executing script.
*/
name?: string;
/** Optional directory containing GraphQL fragments; defaults to 'graphql/fragment' */
fragmentDir?: string;
/** Optional variables passed to the GraphQL query */
variables?: Q;
/** Optional options passed to the underlying implementation */
options?: any;
}
/**
* Options to be passed to GraphClient.mutate.
* Note: either mutation, name or path needs to be provided.
*/
export interface MutationOptions<Q> {
/** Optional GraphQL mutation string */
mutation?: string;
/**
* Optional absolute or relative path to the '.graphql' query file.
* Relative paths will get resolved against the path of the calling script.
*/
path?: string;
/**
* Optional name of the mutation operation in a '.graphql' file located in 'graphql/mutation'.
* The file system will be searched upwards for a 'graphql' folder; starting in
* the directory of the currently executing script.
*/
name?: string;
/** Optional variables passed to the GraphQL mutation */
variables?: Q;
/** Optional options passed to the underlying implementation */
options?: any;
}
/** Query options to prevent caching */
export declare const QueryNoCacheOptions: {
fetchPolicy: string;
};
/** Mutation options to prevent caching */
export declare const MutationNoCacheOptions: {
fetchPolicy: string;
};
//# sourceMappingURL=GraphClient.d.ts.map