firestore-in-memory
Version:
A drop-in, in-memory implementation of Firestore useful for testing
42 lines (33 loc) • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _fp = require("lodash/fp");
var _assign = _interopRequireDefault(require("lodash/assign"));
var _firestoreInterface = _interopRequireDefault(require("./firestoreInterface"));
var _getDocument = _interopRequireDefault(require("./getDocument"));
var _setDocument = _interopRequireDefault(require("./setDocument"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const createMockFirestoreDocument = (id, parent, {
isCollection,
exists
}) => {
const mockDocument = {
id,
parent,
path: parent ? (0, _fp.flow)((0, _fp.join)('/'), (0, _fp.replace)(/^\//, ''))([parent.path, id]) : '',
isCollection,
__exists: exists,
children: {}
};
(0, _assign.default)(mockDocument, {
database: (0, _fp.getOr)(parent, 'database')(parent),
getDocument: (0, _getDocument.default)(mockDocument, createMockFirestoreDocument),
setDocument: (0, _setDocument.default)(mockDocument, createMockFirestoreDocument)
});
(0, _firestoreInterface.default)(mockDocument, createMockFirestoreDocument);
return mockDocument;
};
var _default = createMockFirestoreDocument;
exports.default = _default;