rxdb
Version:
A local-first realtime NoSQL Database for JavaScript applications - https://rxdb.info/
35 lines • 1.04 kB
JavaScript
/**
* this plugin allows delta-updates with mongo-like-syntax
* It's using mingo internally
* @link https://github.com/kofrasa/mingo
*/
import { runQueryUpdateFunction } from "../../rx-query-helper.js";
import { mingoUpdater } from "./mingo-updater.js";
export function incrementalUpdate(updateObj) {
return this.incrementalModify(docData => {
var newDocData = mingoUpdater(docData, updateObj);
return newDocData;
});
}
export function update(updateObj) {
var oldDocData = this._data;
var newDocData = mingoUpdater(oldDocData, updateObj);
return this._saveData(newDocData, oldDocData);
}
export async function RxQueryUpdate(updateObj) {
return runQueryUpdateFunction(this.asRxQuery, doc => doc.update(updateObj));
}
export var RxDBUpdatePlugin = {
name: 'update',
rxdb: true,
prototypes: {
RxDocument: proto => {
proto.update = update;
proto.incrementalUpdate = incrementalUpdate;
},
RxQuery: proto => {
proto.update = RxQueryUpdate;
}
}
};
//# sourceMappingURL=index.js.map