# client side code: import {encode, decode} from "cbor-js" const data = {1: 1, 2: 2, 3: :3} const encoding = encode(data)después de enviar los datos codificados al servidor (python) y decodificarlos, estoy recibiendo:
data = {"1": 1, "2": 2, "3": 3}en vez de :
data = {1:1, 2:2, 3:3}mi solución fue modificar cbor-js lib para que también maneje un tipo de Map
función encodeItem:
else if (value instanceof Map){ var keys = Array.from(value.keys()); length = keys.length; writeTypeAndLength(5, length); for (i = 0; i < length; ++i) { var key = keys[i]; encodeItem(key); encodeItem(value.get(key)); } }adición decodeItem:
case 5: function isStringType(val) { return typeof val === "string" } var retObject = new Map(); for (i = 0; i < length || length < 0 && !readBreak(); ++i) { var key = decodeItem(); retObject.set(key, decodeItem()) } const allKeysAreStrings = Array.from(retObject.keys()).every(isStringType) if (allKeysAreStrings){ retObject = Object.fromEntries(retObject) } return retObject;