UNPKG

graphql-paper

Version:

A flexible in-memory store based on a GraphQL Schema

36 lines (35 loc) 1.18 kB
import { getDocumentKey } from '../document/get-document-key.mjs'; import { isDocument } from '../document/is-document.mjs'; function captureTransactionResultKeys(result) { var unallowedError = new Error('Return values from transactions must be null, undefined, a Document, array of Document or an object with Document values'); if (result === undefined || result === null) { return result; } if (isDocument(result)) { return getDocumentKey(result); } if (Array.isArray(result)) { return result.map(item => { if (!isDocument(item)) { throw unallowedError; } return getDocumentKey(item); }); } if (typeof result === 'object') { var processed = {}; for (var key in result) { // eslint-disable-next-line @typescript-eslint/no-explicit-any var item = result[key]; if (!isDocument(item)) { throw unallowedError; } // eslint-disable-next-line @typescript-eslint/no-explicit-any processed[key] = getDocumentKey(item); } return processed; } throw unallowedError; } export { captureTransactionResultKeys }; //# sourceMappingURL=capture-transaction-result-keys.mjs.map