Evaluation of signal-libraries and their integration in frontend-frameworks with nested objects using js proxies.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

22 lines
673 B

import * as shapeManager from "./shapeManager";
import type { WasmConnection, Diff } from "./types";
export default async function updateShape(
connectionId: WasmConnection["id"],
diff: Diff,
) {
const connection = shapeManager.connections.get(connectionId);
if (!connection) throw new Error("No Connection found.");
console.log("BACKEND: Received update request from ", connectionId);
const newState = shapeManager.applyDiff(connection.state, diff);
connection.state = newState;
shapeManager.connections.forEach((con) => {
// if (con.shape == connection.shape) {
// con.state = newState;
// con.callback(diff, con.id);
// }
});
}