UNPKG

@onesy/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$ONESY; console.error('Parse JSON: ', error); const env = getEnvironment(); if (((_env$ONESY = env.ONESY) === null || _env$ONESY === void 0 ? void 0 : _env$ONESY.env) === 'test') { var _env$ONESY2, _env$ONESY2$test, _env$ONESY2$test$pars; if (!((_env$ONESY2 = env.ONESY) !== null && _env$ONESY2 !== void 0 && (_env$ONESY2$test = _env$ONESY2.test) !== null && _env$ONESY2$test !== void 0 && (_env$ONESY2$test$pars = _env$ONESY2$test.parse) !== null && _env$ONESY2$test$pars !== void 0 && _env$ONESY2$test$pars.logs)) setObjectValue(env, 'ONESY.test.parse.logs', []); env.ONESY.test.parse.logs.push(error); } } } break; default: break; } if (options.returnSame) return value; }; export default parse;