*Change pullRemote to throw if the item is not empty

This commit is contained in:
Derrick Hammer 2023-04-06 16:20:20 -04:00
parent bef4631c30
commit 74b0f1d596
Signed by: pcfreak30
GPG Key ID: C997C339BE476FF2
1 changed files with 8 additions and 2 deletions

View File

@ -777,12 +777,15 @@ module.exports = class Protomux {
async popFree(id) {
await this.userData.syncProtomux("popFree", id);
}
async pushFree(id) {
await this.userData.syncProtomux("pushFree", id);
}
async pushLocal(id) {
await this.userData.syncProtomux("pushLocal", id);
}
async pushRemote(id) {
await this.userData.syncProtomux("pushRemote", id);
}
@ -797,20 +800,23 @@ module.exports = class Protomux {
}
});
}
async pullFree() {
const ids = await this.userData.syncProtomux("pullFree");
this._free = Array.from(new Set([...this._free, ...ids]));
this._free = this._free.filter((item) => item !== null);
}
async pullRemote() {
const ids = await this.userData.syncProtomux("pullRemote");
ids.forEach((item) => {
item = parseInt(item);
if (typeof this._remote[item] === "undefined") {
this._remote[item] = null;
if (typeof this._remote[item] !== "undefined") {
throw new Error("empty remote element expected");
}
this._remote[item] = null;
});
}
};