129 lines
18 KiB
JSON
129 lines
18 KiB
JSON
|
{
|
||
|
"_args": [
|
||
|
[
|
||
|
{
|
||
|
"raw": "qs@~6.5.1",
|
||
|
"scope": null,
|
||
|
"escapedName": "qs",
|
||
|
"name": "qs",
|
||
|
"rawSpec": "~6.5.1",
|
||
|
"spec": ">=6.5.1 <6.6.0",
|
||
|
"type": "range"
|
||
|
},
|
||
|
"/home/jdaugherty/work/GT2/GT2-Android/node_modules/request"
|
||
|
]
|
||
|
],
|
||
|
"_from": "qs@>=6.5.1 <6.6.0",
|
||
|
"_id": "qs@6.5.1",
|
||
|
"_inCache": true,
|
||
|
"_location": "/qs",
|
||
|
"_nodeVersion": "8.4.0",
|
||
|
"_npmOperationalInternal": {
|
||
|
"host": "s3://npm-registry-packages",
|
||
|
"tmp": "tmp/qs-6.5.1.tgz_1504943698164_0.10575866606086493"
|
||
|
},
|
||
|
"_npmUser": {
|
||
|
"name": "ljharb",
|
||
|
"email": "ljharb@gmail.com"
|
||
|
},
|
||
|
"_npmVersion": "5.3.0",
|
||
|
"_phantomChildren": {},
|
||
|
"_requested": {
|
||
|
"raw": "qs@~6.5.1",
|
||
|
"scope": null,
|
||
|
"escapedName": "qs",
|
||
|
"name": "qs",
|
||
|
"rawSpec": "~6.5.1",
|
||
|
"spec": ">=6.5.1 <6.6.0",
|
||
|
"type": "range"
|
||
|
},
|
||
|
"_requiredBy": [
|
||
|
"/auth0-js",
|
||
|
"/body-parser",
|
||
|
"/express",
|
||
|
"/request",
|
||
|
"/superagent"
|
||
|
],
|
||
|
"_resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
|
||
|
"_shasum": "349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8",
|
||
|
"_shrinkwrap": null,
|
||
|
"_spec": "qs@~6.5.1",
|
||
|
"_where": "/home/jdaugherty/work/GT2/GT2-Android/node_modules/request",
|
||
|
"bugs": {
|
||
|
"url": "https://github.com/ljharb/qs/issues"
|
||
|
},
|
||
|
"contributors": [
|
||
|
{
|
||
|
"name": "Jordan Harband",
|
||
|
"email": "ljharb@gmail.com",
|
||
|
"url": "http://ljharb.codes"
|
||
|
}
|
||
|
],
|
||
|
"dependencies": {},
|
||
|
"description": "A querystring parser that supports nesting and arrays, with a depth limit",
|
||
|
"devDependencies": {
|
||
|
"@ljharb/eslint-config": "^12.2.1",
|
||
|
"browserify": "^14.4.0",
|
||
|
"covert": "^1.1.0",
|
||
|
"editorconfig-tools": "^0.1.1",
|
||
|
"eslint": "^4.6.1",
|
||
|
"evalmd": "^0.0.17",
|
||
|
"iconv-lite": "^0.4.18",
|
||
|
"mkdirp": "^0.5.1",
|
||
|
"qs-iconv": "^1.0.4",
|
||
|
"safe-publish-latest": "^1.1.1",
|
||
|
"tape": "^4.8.0"
|
||
|
},
|
||
|
"directories": {},
|
||
|
"dist": {
|
||
|
"integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==",
|
||
|
"shasum": "349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8",
|
||
|
"tarball": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz"
|
||
|
},
|
||
|
"engines": {
|
||
|
"node": ">=0.6"
|
||
|
},
|
||
|
"gitHead": "0e838daa71f91fecda456441ac64e615f38bed8b",
|
||
|
"homepage": "https://github.com/ljharb/qs",
|
||
|
"keywords": [
|
||
|
"querystring",
|
||
|
"qs"
|
||
|
],
|
||
|
"license": "BSD-3-Clause",
|
||
|
"main": "lib/index.js",
|
||
|
"maintainers": [
|
||
|
{
|
||
|
"name": "ljharb",
|
||
|
"email": "ljharb@gmail.com"
|
||
|
},
|
||
|
{
|
||
|
"name": "hueniverse",
|
||
|
"email": "eran@hammer.io"
|
||
|
},
|
||
|
{
|
||
|
"name": "nlf",
|
||
|
"email": "quitlahok@gmail.com"
|
||
|
}
|
||
|
],
|
||
|
"name": "qs",
|
||
|
"optionalDependencies": {},
|
||
|
"readme": "# qs <sup>[![Version Badge][2]][1]</sup>\n\n[![Build Status][3]][4]\n[![dependency status][5]][6]\n[![dev dependency status][7]][8]\n[![License][license-image]][license-url]\n[![Downloads][downloads-image]][downloads-url]\n\n[![npm badge][11]][1]\n\nA querystring parsing and stringifying library with some added security.\n\nLead Maintainer: [Jordan Harband](https://github.com/ljharb)\n\nThe **qs** module was originally created and maintained by [TJ Holowaychuk](https://github.com/visionmedia/node-querystring).\n\n## Usage\n\n```javascript\nvar qs = require('qs');\nvar assert = require('assert');\n\nvar obj = qs.parse('a=c');\nassert.deepEqual(obj, { a: 'c' });\n\nvar str = qs.stringify(obj);\nassert.equal(str, 'a=c');\n```\n\n### Parsing Objects\n\n[](#preventEval)\n```javascript\nqs.parse(string, [options]);\n```\n\n**qs** allows you to create nested objects within your query strings, by surrounding the name of sub-keys with square brackets `[]`.\nFor example, the string `'foo[bar]=baz'` converts to:\n\n```javascript\nassert.deepEqual(qs.parse('foo[bar]=baz'), {\n foo: {\n bar: 'baz'\n }\n});\n```\n\nWhen using the `plainObjects` option the parsed value is returned as a null object, created via `Object.create(null)` and as such you should be aware that prototype methods will not exist on it and a user may set those names to whatever value they like:\n\n```javascript\nvar nullObject = qs.parse('a[hasOwnProperty]=b', { plainObjects: true });\nassert.deepEqual(nullObject, { a: { hasOwnProperty: 'b' } });\n```\n\nBy default parameters that would overwrite properties on the object prototype are ignored, if you wish to keep the data from those fields either use `plainObjects` as mentioned above, or set `allowPrototypes` to `true` which will allow user input to overwrite those properties. *WARNING* It is generally a bad idea to enable this option as it can cause problems when attempting to use the properties that have been overwritten. Always be careful with this option.\n\n```javascript\nvar protoObject = qs.parse('a[hasOwnProperty]=b', { allowPrototypes: true });\nassert.deepEqual(protoObject, { a: { hasOwnProperty: 'b' } });\n```\n\nURI encoded strings work too:\n\n```javascript\nassert.deepEqual(qs.parse('a%5Bb%5D=c'), {\n a: { b: 'c' }\n});\n```\n\nYou can also nest your objects, like `'foo[bar][baz]=foobarbaz'`:\n\n```javascript\nassert.deepEqual(qs.parse('foo[bar][baz]=foobarbaz'), {\n foo: {\n bar: {\n baz: 'foobarbaz'\n }\n }\n});\n```\n\nBy default, when nesting objects **qs** will only parse up to 5 children deep. This means if you attempt to parse a string like\n`'a[b][c][d][e][f][g][h][i]=j'` your resulting object will be:\n\n```javascript\nvar expected = {\n a: {\n b: {\n c: {\n d: {\n e: {\n f: {\n '[g][h][i]': 'j'\n }\n }\n }\n }\n }\n }\n};\nvar string = 'a[b][c][d][e][f][g][h][i]=j';\nassert.deepEqual(qs.parse(string), expected);\n```\n\nThis depth can be overridden by passing a `depth` option to `qs.parse(string, [options])`:\n\n```javascript\nvar deep = qs.parse('a[b][c][d][e][f][g][h][i]=j', { depth: 1 });\nassert.deepEqual(deep, { a: { b: { '[c][d][e][f][g][h][i]': 'j' } } });\n```\n\nThe depth limit helps mitigate abuse when **qs** is used to parse user input, and it is recommended to keep it a reasonably small number.\n\nFor similar reasons, by default **qs** will only parse up to 1000 parameters. This can be overridden by passing a `parameterLimit` option:\n\n```javascript\nvar limited = qs.parse('a=b&c=d', { parameterLimit: 1 });\nassert.deepEqual(limited, { a: 'b' });\n```\n\nTo bypass the leading question mark, use `ignoreQueryPrefix`:\n\n```javascript\nvar prefixed = qs.parse('?a=b&c=d', { ignoreQueryPrefix: true });\nassert.deepEqual(prefixed, { a: 'b', c: 'd' });\n```\n\nAn optional delimiter can also be passed:\n\n```javascript\nvar delimited = qs.parse('a
|
||
|
"readmeFilename": "README.md",
|
||
|
"repository": {
|
||
|
"type": "git",
|
||
|
"url": "git+https://github.com/ljharb/qs.git"
|
||
|
},
|
||
|
"scripts": {
|
||
|
"coverage": "covert test",
|
||
|
"dist": "mkdirp dist && browserify --standalone Qs lib/index.js > dist/qs.js",
|
||
|
"lint": "eslint lib/*.js test/*.js",
|
||
|
"prelint": "editorconfig-tools check * lib/* test/*",
|
||
|
"prepublish": "safe-publish-latest && npm run dist",
|
||
|
"pretest": "npm run --silent readme && npm run --silent lint",
|
||
|
"readme": "evalmd README.md",
|
||
|
"test": "npm run --silent coverage",
|
||
|
"tests-only": "node test"
|
||
|
},
|
||
|
"version": "6.5.1"
|
||
|
}
|