UNPKG

graphql-paper

Version:

A flexible in-memory store based on a GraphQL Schema

56 lines (55 loc) 1.56 kB
import { createConnectionProxy } from '../document/create-connection-proxy.mjs'; import { isDocument } from '../document/is-document.mjs'; import { nullDocument } from '../document/null-document.mjs'; import { findDocument } from '../store/find-document.mjs'; function processReturnable(item, _ref) { var { schema, store } = _ref; if (item === nullDocument || item === null) { return null; } if (isDocument(item)) { return createConnectionProxy(schema, store, item); } return item; } function convertResultKeysToDocument(schema, store, result) { if (result === undefined || result === null) { return result; } if (typeof result === 'string') { var key = result; // eslint-disable-next-line @typescript-eslint/no-non-null-assertion var document = findDocument(store, key); return processReturnable(document, { store, schema }); } if (Array.isArray(result)) { var processed = result.map(key => { var document = findDocument(store, key); return processReturnable(document, { store, schema }); }); return processed; } if (typeof result === 'object') { var _processed = {}; for (var _key in result) { var documentKey = result[_key]; var _document = findDocument(store, documentKey); _processed[_key] = processReturnable(_document, { store, schema }); } return _processed; } } export { convertResultKeysToDocument }; //# sourceMappingURL=convert-result-keys-to-document.mjs.map