UNPKG

@amaui/utils

Version:
43 lines (34 loc) 1.38 kB
import getEnvironment from './getEnvironment'; import setObjectValue from './setObjectValue'; const optionsDefault = { returnSame: true }; const parse = function (value) { let type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'JSON'; let options_ = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; const options = { ...optionsDefault, ...options_ }; switch (type) { case 'JSON': try { return JSON.parse(value); } catch (error) { if (options.log) { var _env$AMAUI; console.error('Parse JSON: ', error); const env = getEnvironment(); if (((_env$AMAUI = env.AMAUI) === null || _env$AMAUI === void 0 ? void 0 : _env$AMAUI.env) === 'test') { var _env$AMAUI2, _env$AMAUI2$test, _env$AMAUI2$test$pars; if (!((_env$AMAUI2 = env.AMAUI) !== null && _env$AMAUI2 !== void 0 && (_env$AMAUI2$test = _env$AMAUI2.test) !== null && _env$AMAUI2$test !== void 0 && (_env$AMAUI2$test$pars = _env$AMAUI2$test.parse) !== null && _env$AMAUI2$test$pars !== void 0 && _env$AMAUI2$test$pars.logs)) setObjectValue(env, 'AMAUI.test.parse.logs', []); env.AMAUI.test.parse.logs.push(error); } } } break; default: break; } if (options.returnSame) return value; }; export default parse;