Sha256: 6f0f1d0f86d3aa00ccb50345a257701030f58c7bc17b169bd3d604ce3279db04

Contents?: true

Size: 1.04 KB

Versions: 40

Compression:

Stored size: 1.04 KB

Contents

import graphql, { filter } from "graphql-anywhere";

/**
 * A simple resolver which returns object properties to easily
 * traverse a graphql response
 * @param {String} fieldName - An object property
 * @param {Object} root - An object
 * @returns {any} - An object's property value
 */
const resolver = (fieldName: string, root: any) => root[fieldName];

/**
 * A helper function to mock a graphql api request and return its
 * result. The result can be filtered by the same query so it just
 * returns a data subset.
 * @param {String} document - A graphql query document
 * @param {options} options - An object with optional options
 * @returns {Object} - The result of the query filtered or not
 */
const resolveGraphQLQuery = (document: any, options: any = {}) => {
  const { filterResult, rootValue, context, variables } = options;

  const result = graphql(
    resolver,
    document,
    rootValue,
    context,
    variables
  );

  if (filterResult) {
    return filter(document, result);
  }
  return result;
};

export default resolveGraphQLQuery;

Version data entries

40 entries across 40 versions & 1 rubygems

Version Path
decidim-comments-0.23.6 app/frontend/support/resolve_graphql_query.ts
decidim-comments-0.23.5 app/frontend/support/resolve_graphql_query.ts
decidim-comments-0.23.4 app/frontend/support/resolve_graphql_query.ts
decidim-comments-0.23.3 app/frontend/support/resolve_graphql_query.ts
decidim-comments-0.23.2 app/frontend/support/resolve_graphql_query.ts
decidim-comments-0.23.1 app/frontend/support/resolve_graphql_query.ts
decidim-comments-0.23.1.rc1 app/frontend/support/resolve_graphql_query.ts
decidim-comments-0.23.0 app/frontend/support/resolve_graphql_query.ts
decidim-comments-0.22.0 app/frontend/support/resolve_graphql_query.ts
decidim-comments-0.21.0 app/frontend/support/resolve_graphql_query.ts
decidim-comments-0.20.1 app/frontend/support/resolve_graphql_query.ts
decidim-comments-0.20.0 app/frontend/support/resolve_graphql_query.ts
decidim-comments-0.19.1 app/frontend/support/resolve_graphql_query.ts
decidim-comments-0.18.1 app/frontend/support/resolve_graphql_query.ts
decidim-comments-0.19.0 app/frontend/support/resolve_graphql_query.ts
decidim-comments-0.17.2 app/frontend/support/resolve_graphql_query.ts
decidim-comments-0.18.0 app/frontend/support/resolve_graphql_query.ts
decidim-comments-0.17.1 app/frontend/support/resolve_graphql_query.ts
decidim-comments-0.16.1 app/frontend/support/resolve_graphql_query.ts
decidim-comments-0.17.0 app/frontend/support/resolve_graphql_query.ts