UNPKG

graphql-paper

Version:

A flexible in-memory store based on a GraphQL Schema

38 lines (36 loc) 1.3 kB
'use strict'; var getDocumentKey = require('../document/get-document-key.js'); var isDocument = require('../document/is-document.js'); function captureTransactionResultKeys(result) { const 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.isDocument(result)) { return getDocumentKey.getDocumentKey(result); } if (Array.isArray(result)) { return result.map(item => { if (!isDocument.isDocument(item)) { throw unallowedError; } return getDocumentKey.getDocumentKey(item); }); } if (typeof result === 'object') { const processed = {}; for (const key in result) { // eslint-disable-next-line @typescript-eslint/no-explicit-any const item = result[key]; if (!isDocument.isDocument(item)) { throw unallowedError; } // eslint-disable-next-line @typescript-eslint/no-explicit-any processed[key] = getDocumentKey.getDocumentKey(item); } return processed; } throw unallowedError; } exports.captureTransactionResultKeys = captureTransactionResultKeys; //# sourceMappingURL=capture-transaction-result-keys.js.map