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!!
If you are an AI coding agent working in this repository, read AGENTS.md first. It tells you where to find architectural context, development setup, decision records, and repo-specific rules.