Skip to content
Resolve items & includes of a Contentful API response into a proper object graph
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test
.babelrc
.editorconfig initial commit Jun 6, 2014
.eslintignore
.eslintrc.js
.gitignore
.npmignore
.travis.yml
CHANGELOG.md 1.1.4 Feb 21, 2018
LICENSE
README.md
index.js
package-lock.json
package.json

README.md

contentful-resolve-response

npm Build Status codecov

Suppose you have a Contentful query's response JSON. The links are nice, but what we really usually need is the response with a resolved object graph.

contentful-resolve-response does just that:

var resolveResponse = require('contentful-resolve-response');

var response = {
  items: [
    {
      someValue: 'wow',
      someLink: { sys: { type: 'Link', linkType: 'Entry', id: 'suchId' } }
    }
  ],
  includes: {
    Entry: [
      { sys: { type: 'Entry', id: 'suchId' }, very: 'doge' }
    ]
  }
};

var items = resolveResponse(response)
// Responds with the resolved array of items.

console.log(items);

// produces:
// re`solved` object [Array] of items.
  [
    {
      // Value stays the same
      someValue: 'wow',

      // Link gets replaced by the actual object from `includes.Entry`
      someLink: {sys: {type: 'Entry', id: 'suchId'}, very: 'doge'}
    }
  ]

Note that:

  • Multiple links to the same resource will point to the same object
  • Circular references are possible, still!!
You can’t perform that action at this time.