UNPKG

console-feed-modern

Version:

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

82 lines 4.75 kB
import GUID from './GUID'; import * as Timing from './methods/timing'; import * as Count from './methods/count'; import * as Assert from './methods/assert'; /** * Parses a console log and converts it to a special Log object * @argument method The console method to parse * @argument data The arguments passed to the console method */ function Parse(method, data, staticID) { // Create an ID const id = staticID || GUID(); // Parse the methods switch (method) { case 'clear': { return { method, id }; } case 'count': { const label = typeof data[0] === 'string' ? data[0] : 'default'; if (!label) return false; return { ...Count.increment(label), id }; } case 'time': case 'timeEnd': { const label = typeof data[0] === 'string' ? data[0] : 'default'; if (!label) return false; if (method === 'time') { Timing.start(label); return false; } return { ...Timing.stop(label), id }; } case 'assert': { const valid = data.length !== 0; if (valid) { const assertion = Assert.test(data[0], ...data.slice(1)); if (assertion) { return { ...assertion, id }; } } return false; } case 'error': { const errors = data.map(error => { try { return error.stack || error; } catch (e) { return error; } }); return { method, id, data: errors }; } default: { return { method, id, data }; } } } export default Parse; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvSG9vay9wYXJzZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLElBQUksTUFBTSxRQUFRLENBQUE7QUFFekIsT0FBTyxLQUFLLE1BQU0sTUFBTSxrQkFBa0IsQ0FBQTtBQUMxQyxPQUFPLEtBQUssS0FBSyxNQUFNLGlCQUFpQixDQUFBO0FBQ3hDLE9BQU8sS0FBSyxNQUFNLE1BQU0sa0JBQWtCLENBQUE7QUFFMUM7Ozs7R0FJRztBQUNILFNBQVMsS0FBSyxDQUNaLE1BQWUsRUFDZixJQUFXLEVBQ1gsUUFBaUI7SUFFakIsZUFBZTtJQUNmLE1BQU0sRUFBRSxHQUFHLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQTtJQUU3QixvQkFBb0I7SUFDcEIsUUFBUSxNQUFNLEVBQUU7UUFDZCxLQUFLLE9BQU8sQ0FBQyxDQUFDO1lBQ1osT0FBTztnQkFDTCxNQUFNO2dCQUNOLEVBQUU7YUFDSCxDQUFBO1NBQ0Y7UUFFRCxLQUFLLE9BQU8sQ0FBQyxDQUFDO1lBQ1osTUFBTSxLQUFLLEdBQUcsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtZQUMvRCxJQUFJLENBQUMsS0FBSztnQkFBRSxPQUFPLEtBQUssQ0FBQTtZQUV4QixPQUFPO2dCQUNMLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7Z0JBQ3pCLEVBQUU7YUFDSCxDQUFBO1NBQ0Y7UUFFRCxLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssU0FBUyxDQUFDLENBQUM7WUFDZCxNQUFNLEtBQUssR0FBRyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO1lBQy9ELElBQUksQ0FBQyxLQUFLO2dCQUFFLE9BQU8sS0FBSyxDQUFBO1lBRXhCLElBQUksTUFBTSxLQUFLLE1BQU0sRUFBRTtnQkFDckIsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDbkIsT0FBTyxLQUFLLENBQUE7YUFDYjtZQUVELE9BQU87Z0JBQ0wsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDckIsRUFBRTthQUNILENBQUE7U0FDRjtRQUVELEtBQUssUUFBUSxDQUFDLENBQUM7WUFDYixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQTtZQUUvQixJQUFJLEtBQUssRUFBRTtnQkFDVCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDeEQsSUFBSSxTQUFTLEVBQUU7b0JBQ2IsT0FBTzt3QkFDTCxHQUFHLFNBQVM7d0JBQ1osRUFBRTtxQkFDSCxDQUFBO2lCQUNGO2FBQ0Y7WUFFRCxPQUFPLEtBQUssQ0FBQTtTQUNiO1FBRUQsS0FBSyxPQUFPLENBQUMsQ0FBQztZQUNaLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzlCLElBQUk7b0JBQ0YsT0FBTyxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQTtpQkFDNUI7Z0JBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ1YsT0FBTyxLQUFLLENBQUE7aUJBQ2I7WUFDSCxDQUFDLENBQUMsQ0FBQTtZQUVGLE9BQU87Z0JBQ0wsTUFBTTtnQkFDTixFQUFFO2dCQUNGLElBQUksRUFBRSxNQUFNO2FBQ2IsQ0FBQTtTQUNGO1FBRUQsT0FBTyxDQUFDLENBQUM7WUFDUCxPQUFPO2dCQUNMLE1BQU07Z0JBQ04sRUFBRTtnQkFDRixJQUFJO2FBQ0wsQ0FBQTtTQUNGO0tBQ0Y7QUFDSCxDQUFDO0FBRUQsZUFBZSxLQUFLLENBQUEifQ==