diff --git a/light9/web/SyncedGraph.ts b/light9/web/SyncedGraph.ts --- a/light9/web/SyncedGraph.ts +++ b/light9/web/SyncedGraph.ts @@ -197,17 +197,17 @@ export class SyncedGraph { this._autoDeps.graphChanged(patch); } - getObjectPatch(s: N3.NamedNode, p: N3.NamedNode, newObject: N3.Quad_Object, g: N3.NamedNode): Patch { + getObjectPatch(s: N3.NamedNode, p: N3.NamedNode, newObject: N3.Quad_Object | null, g: N3.NamedNode): Patch { // make a patch which removes existing values for (s,p,*,c) and // adds (s,p,newObject,c). Values in other graphs are not affected. const existing = this.graph.getQuads(s, p, null, g); return { dels: existing, - adds: [this.Quad(s, p, newObject, g)], + adds: newObject !== null ? [this.Quad(s, p, newObject, g)] : [], }; } - patchObject(s: N3.NamedNode, p: N3.NamedNode, newObject: N3.Quad_Object, g: N3.NamedNode) { + patchObject(s: N3.NamedNode, p: N3.NamedNode, newObject: N3.Quad_Object | null, g: N3.NamedNode) { this.applyAndSendPatch(this.getObjectPatch(s, p, newObject, g)); }