Newer
Older
CVSS_3.0_GUI / node_modules / nwjs-builder-phoenix / node_modules / yargs / node_modules / read-pkg-up / node_modules / read-pkg / node_modules / load-json-file / node_modules / parse-json / index.js
root on 7 May 2019 589 bytes Initial commit
  1. 'use strict';
  2. var errorEx = require('error-ex');
  3. var fallback = require('./vendor/parse');
  4.  
  5. var JSONError = errorEx('JSONError', {
  6. fileName: errorEx.append('in %s')
  7. });
  8.  
  9. module.exports = function (x, reviver, filename) {
  10. if (typeof reviver === 'string') {
  11. filename = reviver;
  12. reviver = null;
  13. }
  14.  
  15. try {
  16. try {
  17. return JSON.parse(x, reviver);
  18. } catch (err) {
  19. fallback.parse(x, {
  20. mode: 'json',
  21. reviver: reviver
  22. });
  23.  
  24. throw err;
  25. }
  26. } catch (err) {
  27. var jsonErr = new JSONError(err);
  28.  
  29. if (filename) {
  30. jsonErr.fileName = filename;
  31. }
  32.  
  33. throw jsonErr;
  34. }
  35. };
Buy Me A Coffee