firestore-in-memory
Version:
A drop-in, in-memory implementation of Firestore useful for testing
27 lines (21 loc) • 823 B
JavaScript
;
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;