console-feed-modern
Version:
A React component that displays console logs from the current page, an iframe or transported across a server
33 lines • 2.16 kB
JavaScript
/**
* Serialize a Map into JSON
*/
export default {
type: 'Map',
shouldTransform(type, obj) {
return obj && obj.constructor && obj.constructor.name === 'Map';
},
toSerializable(map) {
let body = {};
map.forEach(function (value, key) {
const k = typeof key == 'object' ? JSON.stringify(key) : key;
body[k] = value;
});
return {
name: 'Map',
body,
proto: Object.getPrototypeOf(map).constructor.name
};
},
fromSerializable(data) {
const { body } = data;
let obj = { ...body };
if (typeof data.proto === 'string') {
// @ts-ignore
obj.constructor = {
name: data.proto
};
}
return obj;
}
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1RyYW5zZm9ybS9NYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUE7O0dBRUc7QUFDSCxlQUFlO0lBQ2IsSUFBSSxFQUFFLEtBQUs7SUFDWCxlQUFlLENBQUMsSUFBUyxFQUFFLEdBQVE7UUFDakMsT0FBTyxHQUFHLElBQUksR0FBRyxDQUFDLFdBQVcsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUE7SUFDakUsQ0FBQztJQUNELGNBQWMsQ0FBQyxHQUFRO1FBQ3JCLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQTtRQUViLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBUyxLQUFLLEVBQUUsR0FBRztZQUM3QixNQUFNLENBQUMsR0FBRyxPQUFPLEdBQUcsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQTtZQUM1RCxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFBO1FBQ2pCLENBQUMsQ0FBQyxDQUFBO1FBRUYsT0FBTztZQUNMLElBQUksRUFBRSxLQUFLO1lBQ1gsSUFBSTtZQUNKLEtBQUssRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJO1NBQ25ELENBQUE7SUFDSCxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsSUFBYTtRQUM1QixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ3JCLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQTtRQUVyQixJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDbEMsYUFBYTtZQUNiLEdBQUcsQ0FBQyxXQUFXLEdBQUc7Z0JBQ2hCLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSzthQUNqQixDQUFBO1NBQ0Y7UUFFRCxPQUFPLEdBQUcsQ0FBQTtJQUNaLENBQUM7Q0FDRixDQUFBIn0=