Converts @rbxts/charm's SyncPayload in such a way, that makes it serializeable for flamework-binary-serializer.
npm install @rbxts/charm-payload-converter``ts
type AtomsMap = {
dataAtom: Charm.Atom
}
type ModifiedPayload = SerializeablePayload
// or
type Payload = Charm.SyncPayload
type ModifiedPayload = ToSerializeablePayload
export const PayloadSerializer = createBinarySerializer
// somewhere
syncer.connect((player, payload) => {
const { buffer, blobs } = PayloadSerializer.serialize(toSerializeablePayload(payload));
Events.sync.fire(player, buffer, blobs);
})
// receive
Events.sync.connect((buffer, blobs) => {
const modifiedPayload = PayloadSerializer.deserialize(buffer, blobs);
syncer.sync(fromSerializeablePayload(modifiedPayload));
})
``