From 74b0f1d596e18ff5e1a152849d1d1dbc3d1538c3 Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Thu, 6 Apr 2023 16:20:20 -0400 Subject: [PATCH] *Change pullRemote to throw if the item is not empty --- index.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 41139a2..6c840fd 100644 --- a/index.js +++ b/index.js @@ -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; }); } };