UNPKG

firestore-in-memory

Version:

A drop-in, in-memory implementation of Firestore useful for testing

39 lines (29 loc) 1.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _splitNextDocRef = _interopRequireDefault(require("./splitNextDocRef")); var _getChild = _interopRequireDefault(require("./getChild")); var _cloneForSnapshot = _interopRequireDefault(require("./cloneForSnapshot")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const getDocument = (fsDocument, createMockFirestoreDocument) => (ref, mockData = undefined) => { const { refName, remainingRef } = (0, _splitNextDocRef.default)(ref); const child = (0, _getChild.default)(fsDocument, createMockFirestoreDocument, { exists: Boolean(mockData) }, refName); if (remainingRef) { return getDocument(child, createMockFirestoreDocument)(remainingRef, mockData); } if (mockData) { const duplicatedDocument = (0, _cloneForSnapshot.default)(child, createMockFirestoreDocument); duplicatedDocument.documentData = mockData; return duplicatedDocument; } return child; }; var _default = getDocument; exports.default = _default;