From 437d59709e16015f51f0ebed7fa2617086098706 Mon Sep 17 00:00:00 2001 From: srgooglo Date: Wed, 7 Oct 2020 11:07:36 +0200 Subject: [PATCH] [update] verbosity removed legacy & refactor components, also tweaked string concat for support spread multiple data inputs --- src/components/Layout/Overlay/index.js | 4 +- src/core/libs/errorhandler/index.js | 6 ++- src/core/libs/style/index.js | 2 +- src/core/libs/verbosity/index.js | 61 +++++++++----------------- src/models/app.js | 24 +++++----- src/pages/login/login.js | 6 +-- src/pages/settings/components/base.js | 2 +- 7 files changed, 44 insertions(+), 61 deletions(-) diff --git a/src/components/Layout/Overlay/index.js b/src/components/Layout/Overlay/index.js index c8b57afe..9fa69690 100644 --- a/src/components/Layout/Overlay/index.js +++ b/src/components/Layout/Overlay/index.js @@ -55,7 +55,7 @@ export default class Overlay extends React.PureComponent { }, openFragment: (payload) => { if (!payload) return false; - verbosity.debug('Dispatching fragment =>', payload) + verbosity(['Dispatching fragment =>', payload]) this.props.dispatch({ type: 'app/updateState', payload: { @@ -117,7 +117,7 @@ export default class Overlay extends React.PureComponent { return } default:{ - verbosity.error(errorhandler.OVERLAY_BADPOSITION) + verbosity(errorhandler.OVERLAY_BADPOSITION) return null } } diff --git a/src/core/libs/errorhandler/index.js b/src/core/libs/errorhandler/index.js index 9d71ba82..f96a4e00 100644 --- a/src/core/libs/errorhandler/index.js +++ b/src/core/libs/errorhandler/index.js @@ -9,7 +9,7 @@ export const INVALID_PROPS = `Some props failed!` // HANDLERS export const onError = { internal_proccess: (...rest) => { - verbosity.error(...rest) + verbosity({...rest}) appInterface.notify.open({ message: INTERNAL_PROCESS_FAILED, description: @@ -21,7 +21,9 @@ export const onError = { return false }, invalid_data: (error, expecting) => { - verbosity.error(error) + verbosity({error}, { + type: "error" + }) appInterface.notify.open({ message: 'Invalid Data', description: diff --git a/src/core/libs/style/index.js b/src/core/libs/style/index.js index 608f02b3..f27db527 100644 --- a/src/core/libs/style/index.js +++ b/src/core/libs/style/index.js @@ -64,7 +64,7 @@ export function get_style_rule_value(selector, style) export function getOptimalOpacityFromIMG(payload, callback) { const { textColor, overlayColor, img } = payload; - verbosity.debug(payload) + verbosity(payload) let canvas = document.createElement('canvas'); let image = new Image(); diff --git a/src/core/libs/verbosity/index.js b/src/core/libs/verbosity/index.js index 43d9824a..60cbed1a 100644 --- a/src/core/libs/verbosity/index.js +++ b/src/core/libs/verbosity/index.js @@ -4,66 +4,47 @@ import stackTrace from 'stack-trace' import path from 'path' const verbosity_enabled = settings('verbosity') -export const verbosity = { - log: (...cont) => { - return verbosity_enabled ? console.log(...cont) : null - }, - debug: (...cont) => { - const frame = stackTrace.get()[1] - // const line = frame.getLineNumber() - // const file = path.basename(frame.getFileName()) - const method = frame.getFunctionName() - - return verbosity_enabled ? console.debug(`%c[${method}]`, 'color: #bada55', ...cont) : null - }, - error: (...cont) => { - const frame = stackTrace.get()[1] - // const line = frame.getLineNumber() - // const file = path.basename(frame.getFileName()) - const method = frame.getFunctionName() - - return verbosity_enabled ? console.error(`%c[${method}]`, 'color: #bada55', ...cont) : null - }, - warn: (...cont) => { - return verbosity_enabled ? console.warn(...cont) : null - }, -} - -export function verbosityConsole(data, params){ +export function verbosity(data, params){ if(!verbosity_enabled) return false - let optString = [] - const frame = stackTrace.get()[1] - const stackTraceData = { - line: `(:${frame.getLineNumber()})`, - file: path.basename(frame.getFileName()), - method: `[${frame.getFunctionName()}]`, - } - + let renderOpt = [] let opt = { stackTrace: { method: true, - line: true, - file: false + line: false, + file: false, + time: true }, color: "#bada55", type: "log", } + const frame = stackTrace.get()[1] + const stackTraceData = { + time: new Date().toLocaleTimeString(), + line: `(:${frame.getLineNumber()})`, + file: path.basename(frame.getFileName()), + method: `%c [${frame.getFunctionName()}]` + } + if (params) { opt = { ...opt, ...params } } - objectToArray(opt.stackTrace).forEach(e => { if (typeof e !== "undefined" && e) { if(e.value){ - optString.push(`${stackTraceData[e.key]} >`) + renderOpt.push(stackTraceData[e.key]) } } }) + + renderOpt? renderOpt.push(" >") : null + + if (Array.isArray(data)){ + return console[opt.type](renderOpt.toString(), `color: ${opt.color}`, ...data) + } - console[opt.type](`%c${optString}`, 'color: #bada55', data) - + return console[opt.type](`%c${renderOpt}`, `color: ${opt.color}`, data) } export default verbosity \ No newline at end of file diff --git a/src/models/app.js b/src/models/app.js index d468af23..4a27c3b1 100755 --- a/src/models/app.js +++ b/src/models/app.js @@ -123,7 +123,7 @@ export default { const sk = yield select(state => state.app.server_key) session.deauth({ id: uuid, userToken: token, server_key: sk }, (err, res) =>{ - verbosity.debug(res) + verbosity(res) }) yield put({ type: 'sessionErase' }) }, @@ -145,20 +145,20 @@ export default { const extended = yield select(state => state.extended) if(!payload.array){ - verbosity.error("Only array map for initialize plugins","Please read SDK documentation for more info.") + verbosity("Only array map for initialize plugins","Please read SDK documentation for more info.") return false } try { usePlugins([payload.array], (err, results) => { if (err) { - verbosity.error("Init error!", err) + verbosity("Init error!", err) appInterface.notify.error("Plugin initialize error!", err) return false } const rootInit = results[0] if (!rootInit.uuid) { - verbosity.error("Cannot initialize a plugin without UUID.","Please read SDK documentation for more info.") + verbosity("Cannot initialize a plugin without UUID.","Please read SDK documentation for more info.") appInterface.notify.error("Cannot initialize a plugin without UUID.") return false } @@ -188,7 +188,7 @@ export default { const existScheme = typeof(RequireImport) !== "undefined" && typeof(RequireFrom) !== "undefined" if(!existScheme){ - verbosity.error("Invalid require extension!") + verbosity("Invalid require extension!") return false } @@ -212,7 +212,7 @@ export default { }) }) } catch (error) { - verbosity.error("Unexpected catched exception! ", error) + verbosity("Unexpected catched exception! ", error) } }, @@ -263,7 +263,7 @@ export default { } } catch (error) { - verbosity.error(error) + verbosity(error) } } @@ -296,7 +296,7 @@ export default { const tokenExpLocale = new Date(tokenExp).toLocaleString() const now = new Date().getTime() - verbosity.log( + verbosity( `TOKEN EXP => ${tokenExp} ${ settings("session_noexpire") ? '( Infinite )' : `( ${tokenExpLocale} )` } || NOW => ${now}` @@ -333,7 +333,7 @@ export default { jwt.sign(frame, state.server_key, (err, token) => { if (err) { - verbosity.error(err) + verbosity(err) return false } cookie.set(app_config.session_token_storage, token) @@ -352,7 +352,7 @@ export default { } user.get.data(frame, (err, res) => { if(err) { - verbosity.error(err) + verbosity(err) } if (res) { try { @@ -360,7 +360,7 @@ export default { sessionStorage.setItem(app_config.session_data_storage, btoa(session_data)) location.reload() } catch (error) { - verbosity.error(error) + verbosity(error) } } }) @@ -423,7 +423,7 @@ export default { }, handleUpdateTheme(state, { payload }) { - verbosity.debug(payload) + verbosity(payload) store.set(app_config.appTheme_container, payload); state.app_theme = payload }, diff --git a/src/pages/login/login.js b/src/pages/login/login.js index 49ff736c..04a019a0 100755 --- a/src/pages/login/login.js +++ b/src/pages/login/login.js @@ -105,7 +105,7 @@ export class NormalLoginForm extends React.PureComponent { if (res) { try { res = JSON.parse(res) - verbosity.log(res) + verbosity(res) } catch (error) { console.log('Invalid response!') } @@ -115,7 +115,7 @@ export class NormalLoginForm extends React.PureComponent { try { return resolve(res) } catch (error) { - verbosity.error(error) + verbosity(error) } break; } @@ -151,7 +151,7 @@ export class NormalLoginForm extends React.PureComponent { try { return resolve(JSON.stringify(JSON.parse(res)['user_data'])) } catch (error) { - verbosity.error(error) + verbosity(error) } } }) diff --git a/src/pages/settings/components/base.js b/src/pages/settings/components/base.js index 011cf2de..1c98e103 100755 --- a/src/pages/settings/components/base.js +++ b/src/pages/settings/components/base.js @@ -73,7 +73,7 @@ class Base extends Component { switch (item.type) { case 'switch': { item.to = !settings.get(item.id) - verbosity.debug(`Changing setting (${item.id}: ${settings.get(item.id)}) => ${item.to}`) + verbosity(`Changing setting (${item.id}: ${settings.get(item.id)}) => ${item.to}`) settings.set(item.id, item.to) this.handleChange(item)