contentful-parsers
    TypeScript icon, indicating that this package has built-in type declarations

    1.2.18 • Public • Published

    🧰 contentful-parsers

    npm NPM npm Coveralls github CircleCI Snyk Vulnerabilities for GitHub Repo

    Toolbox of useful parsers to use when working with Contentful API responses.

    Install

    Via npm

    npm install contentful-parsers

    Via Yarn

    yarn add contentful-parsers

    Parsers

    fieldsParser

    Probably the most common parser of the lot. This will take a Contentful response, either an array or a single item, and parse the items to flatten all of the fields objects and remove the majority of the sys objects, except for a reference to the sys.contentType.sys.id, in case you are doing any based on that for your rendering.

    How to use

    import contentful from 'contentful';
    import { fieldsParser } from 'contentful-parsers';
    
    const client = contentful.createClient({
      space: '[SPACE_ID]',
      accessToken: '[ACCESS_TOKEN]',
    });
    
    const response = await client.getEntry('[ENTRY_ID]');
    const data = fieldsParser(response);

    graphqlParser

    Takes a standard standard REST response from the Contentful API and restructures it to allow it to be queryable via a GraphQL query.

    Since this will probably commonly be used with graphql-anywhere for performing the queries against the parsed data, a basic resolver is included in the paackage as well, contentfulResolver.

    How to use

    import { graphql } from 'graphql-anywhere/lib/async'
    import contentful from 'contentful';
    import { graphqlParser, contentfulResolver } from 'contentful-parsers';
    
    const entryQuery = gql`
      entry {
        sys {
          id
        }
        title
        copy
      }
    `
    
    const client = contentful.createClient({
      space: '[SPACE_ID]',
      accessToken: '[ACCESS_TOKEN]',
    });
    
    const response = await client.getEntry('[ENTRY_ID]');
    const parsedData = graphqlParser('entry', response);
    
    graphql(
      contentfulResolver,
      entryQuery,
      parsedData,
    )
      .then(data => {
        // data -> Contentful model filtered via GraphQL query
      })
      .catch(error => console.error(error));

    License

    MIT © Ryan Hefner

    Install

    npm i contentful-parsers

    DownloadsWeekly Downloads

    4,511

    Version

    1.2.18

    License

    MIT

    Unpacked Size

    84.4 kB

    Total Files

    22

    Last publish

    Collaborators

    • ryanhefner