diff options
author | Rebecca Turner <me@re-becca.org> | 2015-05-22 11:33:46 +0300 |
---|---|---|
committer | Rebecca Turner <me@re-becca.org> | 2015-06-26 03:27:03 +0300 |
commit | d3c858ce4cfb3aee515bb299eb034fe1b5e44344 (patch) | |
tree | e7714c839934a729b68038f4c7dc5ec3ed877638 /node_modules/json-parse-helpfulerror | |
parent | 24564b9654528d23c726cf9ea82b1aef2044b692 (diff) |
deps: deduplicate npm@3 style
Diffstat (limited to 'node_modules/json-parse-helpfulerror')
-rw-r--r-- | node_modules/json-parse-helpfulerror/.editorconfig | 14 | ||||
-rw-r--r-- | node_modules/json-parse-helpfulerror/.npmignore | 28 | ||||
-rw-r--r-- | node_modules/json-parse-helpfulerror/LICENSE | 22 | ||||
-rw-r--r-- | node_modules/json-parse-helpfulerror/README.md | 29 | ||||
-rw-r--r-- | node_modules/json-parse-helpfulerror/index.js | 21 | ||||
-rw-r--r-- | node_modules/json-parse-helpfulerror/package.json | 84 | ||||
-rw-r--r-- | node_modules/json-parse-helpfulerror/test/test.js | 32 |
7 files changed, 230 insertions, 0 deletions
diff --git a/node_modules/json-parse-helpfulerror/.editorconfig b/node_modules/json-parse-helpfulerror/.editorconfig new file mode 100644 index 000000000..fb7f73a83 --- /dev/null +++ b/node_modules/json-parse-helpfulerror/.editorconfig @@ -0,0 +1,14 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.js, **/*.js] +indent_size = 4 +indent_style = space + +[{package.json,.travis.yml}] +indent_size = 2 +indent_style = space diff --git a/node_modules/json-parse-helpfulerror/.npmignore b/node_modules/json-parse-helpfulerror/.npmignore new file mode 100644 index 000000000..59d842baa --- /dev/null +++ b/node_modules/json-parse-helpfulerror/.npmignore @@ -0,0 +1,28 @@ +# Logs +logs +*.log + +# Runtime data +pids +*.pid +*.seed + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directory +# Commenting this out is preferred by some people, see +# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git- +node_modules + +# Users Environment Variables +.lock-wscript diff --git a/node_modules/json-parse-helpfulerror/LICENSE b/node_modules/json-parse-helpfulerror/LICENSE new file mode 100644 index 000000000..e637724b3 --- /dev/null +++ b/node_modules/json-parse-helpfulerror/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 Sam Mikes + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/node_modules/json-parse-helpfulerror/README.md b/node_modules/json-parse-helpfulerror/README.md new file mode 100644 index 000000000..ffad93584 --- /dev/null +++ b/node_modules/json-parse-helpfulerror/README.md @@ -0,0 +1,29 @@ +# json-parse-helpfulerror + +A drop-in replacement for `JSON.parse` that uses +<https://npmjs.org/jju> to provide more useful error messages in the +event of a parse error. + +# Example + +## Installation + +``` +npm i -S json-parse-helpfulerror +``` + +## Use + +```js +var jph = require('json-parse-helpfulerror'); + +var notJSON = "{'foo': 3}"; // keys must be double-quoted in JSON + +JSON.parse(notJSON); // throws unhelpful error + +jph.parse("{'foo': 3}") // throws more helpful error: "Unexpected token '\''..." +``` + +# License + +MIT
\ No newline at end of file diff --git a/node_modules/json-parse-helpfulerror/index.js b/node_modules/json-parse-helpfulerror/index.js new file mode 100644 index 000000000..15648b017 --- /dev/null +++ b/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; diff --git a/node_modules/json-parse-helpfulerror/package.json b/node_modules/json-parse-helpfulerror/package.json new file mode 100644 index 000000000..6ab518ee9 --- /dev/null +++ b/node_modules/json-parse-helpfulerror/package.json @@ -0,0 +1,84 @@ +{ + "_args": [ + [ + "json-parse-helpfulerror@^1.0.2", + "/Users/rebecca/code/npm/node_modules/read-package-json" + ] + ], + "_from": "json-parse-helpfulerror@>=1.0.2 <2.0.0", + "_id": "json-parse-helpfulerror@1.0.3", + "_inCache": true, + "_location": "/json-parse-helpfulerror", + "_nodeVersion": "0.10.35", + "_npmUser": { + "email": "smikes@cubane.com", + "name": "smikes" + }, + "_npmVersion": "2.1.16", + "_phantomChildren": {}, + "_requested": { + "name": "json-parse-helpfulerror", + "raw": "json-parse-helpfulerror@^1.0.2", + "rawSpec": "^1.0.2", + "scope": null, + "spec": ">=1.0.2 <2.0.0", + "type": "range" + }, + "_requiredBy": [ + "/read-package-json" + ], + "_resolved": "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz", + "_shasum": "13f14ce02eed4e981297b64eb9e3b932e2dd13dc", + "_shrinkwrap": null, + "_spec": "json-parse-helpfulerror@^1.0.2", + "_where": "/Users/rebecca/code/npm/node_modules/read-package-json", + "author": { + "email": "smikes@cubane.com", + "name": "Sam Mikes" + }, + "bugs": { + "url": "https://github.com/smikes/json-parse-helpfulerror/issues" + }, + "dependencies": { + "jju": "^1.1.0" + }, + "description": "A drop-in replacement for JSON.parse that uses `jju` to give helpful errors", + "devDependencies": { + "code": "^1.2.1", + "jslint": "^0.7.1", + "lab": "^5.1.1" + }, + "directories": {}, + "dist": { + "shasum": "13f14ce02eed4e981297b64eb9e3b932e2dd13dc", + "tarball": "http://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz" + }, + "gitHead": "eedb116ec96b5c479be3919b526d6de0a521be5e", + "homepage": "https://github.com/smikes/json-parse-helpfulerror", + "keywords": [ + "doublequote", + "error", + "json", + "line", + "parse" + ], + "license": "MIT", + "main": "index.js", + "maintainers": [ + { + "name": "smikes", + "email": "smikes@cubane.com" + } + ], + "name": "json-parse-helpfulerror", + "optionalDependencies": {}, + "repository": { + "type": "git", + "url": "https://github.com/smikes/json-parse-helpfulerror.git" + }, + "scripts": { + "lint": "jslint --edition=latest --terse *.js", + "test": "lab -c" + }, + "version": "1.0.3" +} diff --git a/node_modules/json-parse-helpfulerror/test/test.js b/node_modules/json-parse-helpfulerror/test/test.js new file mode 100644 index 000000000..fca458ac0 --- /dev/null +++ b/node_modules/json-parse-helpfulerror/test/test.js @@ -0,0 +1,32 @@ +var Code = require('code'), + Lab = require('lab'), + lab = Lab.script(), + jph = require('..'); // 'json-parse-helpfulerror' + +exports.lab = lab; + +lab.test('can parse', function (done) { + var o = jph.parse('{"foo": "bar"}'); + + Code.expect(o.foo).to.equal('bar'); + done(); +}); + +lab.test('helpful error for bad JSON', function (done) { + + var bad = "{'foo': 'bar'}"; + + Code.expect(function () { JSON.parse(bad) }).to.throw(); + + Code.expect(function () { jph.parse(bad) }).to.throw(SyntaxError, "Unexpected token '\\'' at 1:2\n" + bad + '\n ^'); + + done(); +}); + +lab.test('fails if reviver throws', function (done) { + function badReviver() { throw new ReferenceError('silly'); } + + Code.expect(function () { jph.parse('3', badReviver) }).to.throw(ReferenceError, 'silly'); + + done(); +});
\ No newline at end of file |