summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/node-fetch-npm/node_modules/json-parse-helpfulerror/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/node-fetch-npm/node_modules/json-parse-helpfulerror/index.js')
-rw-r--r--deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/node-fetch-npm/node_modules/json-parse-helpfulerror/index.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/node-fetch-npm/node_modules/json-parse-helpfulerror/index.js b/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/node-fetch-npm/node_modules/json-parse-helpfulerror/index.js
new file mode 100644
index 0000000000..15648b017b
--- /dev/null
+++ b/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/node-fetch-npm/node_modules/json-parse-helpfulerror/index.js
@@ -0,0 +1,21 @@
+'use strict';
+
+var jju = require('jju');
+
+function parse(text, reviver) {
+ try {
+ return JSON.parse(text, reviver);
+ } catch (err) {
+ // we expect this to throw with a more informative message
+ jju.parse(text, {
+ mode: 'json',
+ reviver: reviver
+ });
+
+ // backup if jju is not as strict as JSON.parse; re-throw error
+ // data-dependent code path, I do not know how to cover it
+ throw err;
+ }
+}
+
+exports.parse = parse;