UNPKG

firestore-in-memory

Version:

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

27 lines (21 loc) 823 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _fp = require("lodash/fp"); const cloneForSnapshot = (fsDocument, createMockFirestoreDocument) => { const snapClone = createMockFirestoreDocument(fsDocument.id, fsDocument.parent, { isCollection: fsDocument.isCollection, exists: fsDocument.exists }); snapClone.children = (0, _fp.mapValues)(child => cloneForSnapshot(child, createMockFirestoreDocument))(fsDocument.children); if (fsDocument.filters) { snapClone.children = (0, _fp.flow)(...fsDocument.filters)(snapClone.children); } snapClone.documentData = fsDocument.documentData; snapClone.snapData = (0, _fp.cloneDeep)(fsDocument.documentData); return snapClone; }; var _default = cloneForSnapshot; exports.default = _default;