firestore-in-memory
Version:
A drop-in, in-memory implementation of Firestore useful for testing
25 lines (17 loc) • 841 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _fp = require("lodash/fp");
var _operators = _interopRequireDefault(require("./operators"));
var _cloneForQuery = _interopRequireDefault(require("../../cloneForQuery"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _default = (mockDocument, createMockFirestoreDocument) => (path, op, value) => {
if (!_operators.default[op]) {
throw new Error(`Operator [${op}] not implemented`);
}
const whereFilter = (0, _fp.partial)(_operators.default[op])([value]);
return (0, _cloneForQuery.default)(mockDocument, createMockFirestoreDocument, (0, _fp.pickBy)((0, _fp.flow)((0, _fp.get)('documentData'), (0, _fp.get)(path), whereFilter)));
};
exports.default = _default;