firestore-in-memory
Version:
A drop-in, in-memory implementation of Firestore useful for testing
35 lines (28 loc) • 940 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _splitNextDocRef = _interopRequireDefault(require("./splitNextDocRef"));
var _getChild = _interopRequireDefault(require("./getChild"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/* eslint-disable no-param-reassign */
const setDocument = (fsDocument, createMockFirestoreDocument) => (ref, data) => {
const {
refName,
remainingRef
} = (0, _splitNextDocRef.default)(ref);
const child = (0, _getChild.default)(fsDocument, createMockFirestoreDocument, {
exists: true
}, refName);
fsDocument.children = { ...fsDocument.children,
[refName]: child
};
if (remainingRef) {
setDocument(child, createMockFirestoreDocument)(remainingRef, data);
} else {
child.documentData = data;
}
};
var _default = setDocument;
exports.default = _default;