UNPKG

@needle-tools/networking

Version:
34 lines (31 loc) 980 B
const Flatbuffers = require("flatbuffers"); const STRS = require("./schemes/synced-transform-model"); // function applyBuffer(obj, target){ // console.dir(obj); // const names = Object.getOwnPropertyNames(obj); // for(const key in names){ // // const val = obj[key]; // console.log(key, names[key]); // } // } module.exports.unpackBinaryIntoPayload = function (binary) { const bb = new Flatbuffers.ByteBuffer(binary); const key = bb.getBufferIdentifier(); const payload = { key: key }; switch (key) { case "STRS": const obj = STRS.SyncedTransformModel.getRootAsSyncedTransformModel(bb); payload.guid = obj.guid(); break; case "VRUS": // WebXRUser case "SCAM": // SyncedCamera payload.dontSave = true; break; default: console.warn("Unknown datatype: " + key); // console.log(JSON.stringify(binary)); break; } // console.log(payload); return payload; }