Source

utils/parseJSON.js

  1. "use strict";
  2. var __importDefault = (this && this.__importDefault) || function (mod) {
  3. return (mod && mod.__esModule) ? mod : { "default": mod };
  4. };
  5. Object.defineProperty(exports, "__esModule", { value: true });
  6. var isStr_1 = __importDefault(require("../string/isStr"));
  7. var isFunc_1 = __importDefault(require("../validators/isFunc"));
  8. /**
  9. * Parse JSON string with error catched
  10. * @category utils
  11. * @module parseJSON
  12. */
  13. function parseJSON(str, shouldNotFallbackAsObj, log) {
  14. var fallback = shouldNotFallbackAsObj ? str : {};
  15. try {
  16. return (0, isStr_1.default)(str) ? JSON.parse(str) : fallback;
  17. }
  18. catch (error) {
  19. if (error && (0, isFunc_1.default)(log))
  20. log(error);
  21. return fallback;
  22. }
  23. }
  24. exports.default = parseJSON;