UNPKG

console-feed-modern

Version:

A React component that displays console logs from the current page, an iframe or transported across a server

51 lines 3.09 kB
/** * Serialize a function into JSON */ export default { type: 'Function', shouldTransform(type, obj) { return typeof obj === 'function'; }, toSerializable(func) { let body = ''; try { body = func .toString() .substring(body.indexOf('{') + 1, body.lastIndexOf('}')); } catch (e) { } return { name: func.name, body, proto: Object.getPrototypeOf(func).constructor.name }; }, fromSerializable(data) { try { const tempFunc = function () { }; if (typeof data.name === 'string') { Object.defineProperty(tempFunc, 'name', { value: data.name, writable: false }); } if (typeof data.body === 'string') { Object.defineProperty(tempFunc, 'body', { value: data.body, writable: false }); } if (typeof data.proto === 'string') { // @ts-ignore tempFunc.constructor = { name: data.proto }; } return tempFunc; } catch (e) { return data; } } }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvVHJhbnNmb3JtL0Z1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BOztHQUVHO0FBQ0gsZUFBZTtJQUNiLElBQUksRUFBRSxVQUFVO0lBQ2hCLGVBQWUsQ0FBQyxJQUFTLEVBQUUsR0FBUTtRQUNqQyxPQUFPLE9BQU8sR0FBRyxLQUFLLFVBQVUsQ0FBQTtJQUNsQyxDQUFDO0lBQ0QsY0FBYyxDQUFDLElBQWM7UUFDM0IsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFBO1FBQ2IsSUFBSTtZQUNGLElBQUksR0FBRyxJQUFJO2lCQUNSLFFBQVEsRUFBRTtpQkFDVixTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1NBQzNEO1FBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRTtRQUVkLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixJQUFJO1lBQ0osS0FBSyxFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUk7U0FDcEQsQ0FBQTtJQUNILENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxJQUFhO1FBQzVCLElBQUk7WUFDRixNQUFNLFFBQVEsR0FBRyxjQUFZLENBQUMsQ0FBQTtZQUU5QixJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQ2pDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRTtvQkFDdEMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJO29CQUNoQixRQUFRLEVBQUUsS0FBSztpQkFDaEIsQ0FBQyxDQUFBO2FBQ0g7WUFFRCxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQ2pDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRTtvQkFDdEMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJO29CQUNoQixRQUFRLEVBQUUsS0FBSztpQkFDaEIsQ0FBQyxDQUFBO2FBQ0g7WUFFRCxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUU7Z0JBQ2xDLGFBQWE7Z0JBQ2IsUUFBUSxDQUFDLFdBQVcsR0FBRztvQkFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO2lCQUNqQixDQUFBO2FBQ0Y7WUFFRCxPQUFPLFFBQVEsQ0FBQTtTQUNoQjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUE7U0FDWjtJQUNILENBQUM7Q0FDRixDQUFBIn0=