clean old files
This commit is contained in:
parent
2d7b1e34d0
commit
cc79cf906f
203 changed files with 12300 additions and 13288 deletions
0
app/.gitignore → .gitignore
vendored
0
app/.gitignore → .gitignore
vendored
16
README.md
Normal file
16
README.md
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# TFTPaths
|
||||
|
||||
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.2.1.
|
||||
|
||||
### Install libraries
|
||||
```bash
|
||||
npm i
|
||||
```
|
||||
|
||||
### Build
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
### Open Pull Request
|
||||
Make changes and create a merge request.
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
# TFTPaths
|
||||
|
||||
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.2.1.
|
||||
|
||||
## Development server
|
||||
|
||||
Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
|
||||
|
||||
## Code scaffolding
|
||||
|
||||
Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
|
||||
|
||||
## Build
|
||||
|
||||
Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.
|
||||
|
||||
## Running unit tests
|
||||
|
||||
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
||||
|
||||
## Running end-to-end tests
|
||||
|
||||
Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).
|
||||
|
||||
## Further help
|
||||
|
||||
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
|
||||
11981
app/package-lock.json
generated
11981
app/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -1,48 +0,0 @@
|
|||
{
|
||||
"name": "tftpaths",
|
||||
"version": "0.0.0",
|
||||
"scripts": {
|
||||
"ng": "ng",
|
||||
"start": "ng serve",
|
||||
"build": "ng build",
|
||||
"test": "ng test",
|
||||
"lint": "ng lint",
|
||||
"e2e": "ng e2e"
|
||||
},
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@angular/animations": "~8.2.0",
|
||||
"@angular/common": "~8.2.0",
|
||||
"@angular/compiler": "~8.2.0",
|
||||
"@angular/core": "~8.2.0",
|
||||
"@angular/forms": "~8.2.0",
|
||||
"@angular/platform-browser": "~8.2.0",
|
||||
"@angular/platform-browser-dynamic": "~8.2.0",
|
||||
"@angular/router": "~8.2.0",
|
||||
"lodash": "^4.17.15",
|
||||
"rxjs": "~6.4.0",
|
||||
"tslib": "^1.10.0",
|
||||
"zone.js": "~0.9.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "~0.802.1",
|
||||
"@angular/cli": "~8.2.1",
|
||||
"@angular/compiler-cli": "~8.2.0",
|
||||
"@angular/language-service": "~8.2.0",
|
||||
"@types/node": "~8.9.4",
|
||||
"@types/jasmine": "~3.3.8",
|
||||
"@types/jasminewd2": "~2.0.3",
|
||||
"codelyzer": "^5.0.0",
|
||||
"jasmine-core": "~3.4.0",
|
||||
"jasmine-spec-reporter": "~4.2.1",
|
||||
"karma": "~4.1.0",
|
||||
"karma-chrome-launcher": "~2.2.0",
|
||||
"karma-coverage-istanbul-reporter": "~2.0.1",
|
||||
"karma-jasmine": "~2.0.1",
|
||||
"karma-jasmine-html-reporter": "^1.4.0",
|
||||
"protractor": "~5.4.0",
|
||||
"ts-node": "~7.0.0",
|
||||
"tslint": "~5.15.0",
|
||||
"typescript": "~3.5.3"
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
16
index.js
16
index.js
|
|
@ -1,16 +0,0 @@
|
|||
//Install express server
|
||||
const express = require('express');
|
||||
const path = require('path');
|
||||
|
||||
var app = express();
|
||||
|
||||
app.use(express.static(__dirname + '/dist/TFTPaths'));
|
||||
app.use(express.static(__dirname + '/dist/TFTPaths/assets'));
|
||||
app.get('*',function(req,res){
|
||||
res.sendFile(__dirname + '/dist/TFTPaths/index.html');
|
||||
});
|
||||
|
||||
app.listen(process.env.PORT || 8080, function()
|
||||
{
|
||||
console.log("ok");
|
||||
});
|
||||
17
node_modules/accepts/package.json
generated
vendored
17
node_modules/accepts/package.json
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_from": "accepts@~1.3.7",
|
||||
"_from": "accepts@~1.3.5",
|
||||
"_id": "accepts@1.3.7",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
|
||||
|
|
@ -8,20 +8,23 @@
|
|||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "accepts@~1.3.7",
|
||||
"raw": "accepts@~1.3.5",
|
||||
"name": "accepts",
|
||||
"escapedName": "accepts",
|
||||
"rawSpec": "~1.3.7",
|
||||
"rawSpec": "~1.3.5",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "~1.3.7"
|
||||
"fetchSpec": "~1.3.5"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/express"
|
||||
"/compression",
|
||||
"/engine.io",
|
||||
"/express",
|
||||
"/serve-index"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
|
||||
"_shasum": "531bc726517a3b2b41f850021c6cc15eaab507cd",
|
||||
"_spec": "accepts@~1.3.7",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_spec": "accepts@~1.3.5",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\compression",
|
||||
"bugs": {
|
||||
"url": "https://github.com/jshttp/accepts/issues"
|
||||
},
|
||||
|
|
|
|||
13
node_modules/array-flatten/README.md
generated
vendored
13
node_modules/array-flatten/README.md
generated
vendored
|
|
@ -5,7 +5,7 @@
|
|||
[![Build status][travis-image]][travis-url]
|
||||
[![Test coverage][coveralls-image]][coveralls-url]
|
||||
|
||||
> Flatten an array of nested arrays into a single flat array. Accepts an optional depth.
|
||||
> Flatten nested arrays.
|
||||
|
||||
## Installation
|
||||
|
||||
|
|
@ -21,14 +21,21 @@ var flatten = require('array-flatten')
|
|||
flatten([1, [2, [3, [4, [5], 6], 7], 8], 9])
|
||||
//=> [1, 2, 3, 4, 5, 6, 7, 8, 9]
|
||||
|
||||
flatten([1, [2, [3, [4, [5], 6], 7], 8], 9], 2)
|
||||
flatten.depth([1, [2, [3, [4, [5], 6], 7], 8], 9], 2)
|
||||
//=> [1, 2, 3, [4, [5], 6], 7, 8, 9]
|
||||
|
||||
(function () {
|
||||
flatten(arguments) //=> [1, 2, 3]
|
||||
flatten.from(arguments) //=> [1, 2, 3]
|
||||
})(1, [2, 3])
|
||||
```
|
||||
|
||||
### Methods
|
||||
|
||||
* **flatten(array)** Flatten a nested array structure
|
||||
* **flatten.from(arrayish)** Flatten an array-like structure (E.g. arguments)
|
||||
* **flatten.depth(array, depth)** Flatten a nested array structure with a specific depth
|
||||
* **flatten.fromDepth(arrayish, depth)** Flatten an array-like structure with a specific depth
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
|
|
|
|||
90
node_modules/array-flatten/array-flatten.js
generated
vendored
90
node_modules/array-flatten/array-flatten.js
generated
vendored
|
|
@ -3,43 +3,78 @@
|
|||
/**
|
||||
* Expose `arrayFlatten`.
|
||||
*/
|
||||
module.exports = arrayFlatten
|
||||
module.exports = flatten
|
||||
module.exports.from = flattenFrom
|
||||
module.exports.depth = flattenDepth
|
||||
module.exports.fromDepth = flattenFromDepth
|
||||
|
||||
/**
|
||||
* Recursive flatten function with depth.
|
||||
* Flatten an array.
|
||||
*
|
||||
* @param {Array} array
|
||||
* @param {Array} result
|
||||
* @param {Number} depth
|
||||
* @return {Array}
|
||||
*/
|
||||
function flattenWithDepth (array, result, depth) {
|
||||
for (var i = 0; i < array.length; i++) {
|
||||
var value = array[i]
|
||||
|
||||
if (depth > 0 && Array.isArray(value)) {
|
||||
flattenWithDepth(value, result, depth - 1)
|
||||
} else {
|
||||
result.push(value)
|
||||
}
|
||||
function flatten (array) {
|
||||
if (!Array.isArray(array)) {
|
||||
throw new TypeError('Expected value to be an array')
|
||||
}
|
||||
|
||||
return result
|
||||
return flattenFrom(array)
|
||||
}
|
||||
|
||||
/**
|
||||
* Recursive flatten function. Omitting depth is slightly faster.
|
||||
* Flatten an array-like structure.
|
||||
*
|
||||
* @param {Array} array
|
||||
* @return {Array}
|
||||
*/
|
||||
function flattenFrom (array) {
|
||||
return flattenDown(array, [])
|
||||
}
|
||||
|
||||
/**
|
||||
* Flatten an array-like structure with depth.
|
||||
*
|
||||
* @param {Array} array
|
||||
* @param {number} depth
|
||||
* @return {Array}
|
||||
*/
|
||||
function flattenDepth (array, depth) {
|
||||
if (!Array.isArray(array)) {
|
||||
throw new TypeError('Expected value to be an array')
|
||||
}
|
||||
|
||||
return flattenFromDepth(array, depth)
|
||||
}
|
||||
|
||||
/**
|
||||
* Flatten an array-like structure with depth.
|
||||
*
|
||||
* @param {Array} array
|
||||
* @param {number} depth
|
||||
* @return {Array}
|
||||
*/
|
||||
function flattenFromDepth (array, depth) {
|
||||
if (typeof depth !== 'number') {
|
||||
throw new TypeError('Expected the depth to be a number')
|
||||
}
|
||||
|
||||
return flattenDownDepth(array, [], depth)
|
||||
}
|
||||
|
||||
/**
|
||||
* Flatten an array indefinitely.
|
||||
*
|
||||
* @param {Array} array
|
||||
* @param {Array} result
|
||||
* @return {Array}
|
||||
*/
|
||||
function flattenForever (array, result) {
|
||||
function flattenDown (array, result) {
|
||||
for (var i = 0; i < array.length; i++) {
|
||||
var value = array[i]
|
||||
|
||||
if (Array.isArray(value)) {
|
||||
flattenForever(value, result)
|
||||
flattenDown(value, result)
|
||||
} else {
|
||||
result.push(value)
|
||||
}
|
||||
|
|
@ -49,16 +84,25 @@ function flattenForever (array, result) {
|
|||
}
|
||||
|
||||
/**
|
||||
* Flatten an array, with the ability to define a depth.
|
||||
* Flatten an array with depth.
|
||||
*
|
||||
* @param {Array} array
|
||||
* @param {Number} depth
|
||||
* @param {Array} result
|
||||
* @param {number} depth
|
||||
* @return {Array}
|
||||
*/
|
||||
function arrayFlatten (array, depth) {
|
||||
if (depth == null) {
|
||||
return flattenForever(array, [])
|
||||
function flattenDownDepth (array, result, depth) {
|
||||
depth--
|
||||
|
||||
for (var i = 0; i < array.length; i++) {
|
||||
var value = array[i]
|
||||
|
||||
if (depth > -1 && Array.isArray(value)) {
|
||||
flattenDownDepth(value, result, depth)
|
||||
} else {
|
||||
result.push(value)
|
||||
}
|
||||
}
|
||||
|
||||
return flattenWithDepth(array, [], depth)
|
||||
return result
|
||||
}
|
||||
|
|
|
|||
48
node_modules/array-flatten/package.json
generated
vendored
48
node_modules/array-flatten/package.json
generated
vendored
|
|
@ -1,27 +1,27 @@
|
|||
{
|
||||
"_from": "array-flatten@1.1.1",
|
||||
"_id": "array-flatten@1.1.1",
|
||||
"_from": "array-flatten@^2.1.0",
|
||||
"_id": "array-flatten@2.1.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
|
||||
"_integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==",
|
||||
"_location": "/array-flatten",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "array-flatten@1.1.1",
|
||||
"raw": "array-flatten@^2.1.0",
|
||||
"name": "array-flatten",
|
||||
"escapedName": "array-flatten",
|
||||
"rawSpec": "1.1.1",
|
||||
"rawSpec": "^2.1.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.1.1"
|
||||
"fetchSpec": "^2.1.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/express"
|
||||
"/bonjour"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
|
||||
"_shasum": "9a5f699051b1e7073328f2a008968b64ea2955d2",
|
||||
"_spec": "array-flatten@1.1.1",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
|
||||
"_shasum": "24ef80a28c1a893617e2149b0c6d0d788293b099",
|
||||
"_spec": "array-flatten@^2.1.0",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\bonjour",
|
||||
"author": {
|
||||
"name": "Blake Embrey",
|
||||
"email": "hello@blakeembrey.com",
|
||||
|
|
@ -32,15 +32,16 @@
|
|||
},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "Flatten an array of nested arrays into a single flat array",
|
||||
"description": "Flatten nested arrays",
|
||||
"devDependencies": {
|
||||
"istanbul": "^0.3.13",
|
||||
"mocha": "^2.2.4",
|
||||
"pre-commit": "^1.0.7",
|
||||
"standard": "^3.7.3"
|
||||
"benchmarked": "^2.0.0",
|
||||
"istanbul": "^0.4.0",
|
||||
"mocha": "^3.1.2",
|
||||
"standard": "^10.0.0"
|
||||
},
|
||||
"files": [
|
||||
"array-flatten.js",
|
||||
"array-flatten.d.ts",
|
||||
"LICENSE"
|
||||
],
|
||||
"homepage": "https://github.com/blakeembrey/array-flatten",
|
||||
|
|
@ -48,7 +49,9 @@
|
|||
"array",
|
||||
"flatten",
|
||||
"arguments",
|
||||
"depth"
|
||||
"depth",
|
||||
"fast",
|
||||
"for"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "array-flatten.js",
|
||||
|
|
@ -58,7 +61,12 @@
|
|||
"url": "git://github.com/blakeembrey/array-flatten.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "istanbul cover _mocha -- -R spec"
|
||||
"benchmark": "node benchmark",
|
||||
"lint": "standard",
|
||||
"test": "npm run lint && npm run test-cov",
|
||||
"test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- -R spec --bail",
|
||||
"test-spec": "mocha -R spec --bail"
|
||||
},
|
||||
"version": "1.1.1"
|
||||
"typings": "array-flatten.d.ts",
|
||||
"version": "2.1.2"
|
||||
}
|
||||
|
|
|
|||
5
node_modules/body-parser/package.json
generated
vendored
5
node_modules/body-parser/package.json
generated
vendored
|
|
@ -16,12 +16,13 @@
|
|||
"fetchSpec": "1.19.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/express"
|
||||
"/express",
|
||||
"/karma"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
|
||||
"_shasum": "96b2709e57c9c4e09a6fd66a8fd979844f69f08a",
|
||||
"_spec": "body-parser@1.19.0",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"bugs": {
|
||||
"url": "https://github.com/expressjs/body-parser/issues"
|
||||
},
|
||||
|
|
|
|||
5
node_modules/bytes/History.md
generated
vendored
5
node_modules/bytes/History.md
generated
vendored
|
|
@ -1,8 +1,3 @@
|
|||
3.1.0 / 2019-01-22
|
||||
==================
|
||||
|
||||
* Add petabyte (`pb`) support
|
||||
|
||||
3.0.0 / 2017-08-31
|
||||
==================
|
||||
|
||||
|
|
|
|||
13
node_modules/bytes/Readme.md
generated
vendored
13
node_modules/bytes/Readme.md
generated
vendored
|
|
@ -83,7 +83,6 @@ Supported units and abbreviations are as follows and are case-insensitive:
|
|||
* `mb` for megabytes
|
||||
* `gb` for gigabytes
|
||||
* `tb` for terabytes
|
||||
* `pb` for petabytes
|
||||
|
||||
The units are in powers of two, not ten. This means 1kb = 1024b according to this parser.
|
||||
|
||||
|
|
@ -109,18 +108,18 @@ bytes('1024');
|
|||
// output: 1024
|
||||
|
||||
bytes(1024);
|
||||
// output: 1KB
|
||||
// output: 1024
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
[MIT](LICENSE)
|
||||
|
||||
[coveralls-image]: https://badgen.net/coveralls/c/github/visionmedia/bytes.js/master
|
||||
[coveralls-url]: https://coveralls.io/r/visionmedia/bytes.js?branch=master
|
||||
[downloads-image]: https://badgen.net/npm/dm/bytes
|
||||
[downloads-image]: https://img.shields.io/npm/dm/bytes.svg
|
||||
[downloads-url]: https://npmjs.org/package/bytes
|
||||
[npm-image]: https://badgen.net/npm/node/bytes
|
||||
[npm-image]: https://img.shields.io/npm/v/bytes.svg
|
||||
[npm-url]: https://npmjs.org/package/bytes
|
||||
[travis-image]: https://badgen.net/travis/visionmedia/bytes.js/master
|
||||
[travis-image]: https://img.shields.io/travis/visionmedia/bytes.js/master.svg
|
||||
[travis-url]: https://travis-ci.org/visionmedia/bytes.js
|
||||
[coveralls-image]: https://img.shields.io/coveralls/visionmedia/bytes.js/master.svg
|
||||
[coveralls-url]: https://coveralls.io/r/visionmedia/bytes.js?branch=master
|
||||
|
|
|
|||
9
node_modules/bytes/index.js
generated
vendored
9
node_modules/bytes/index.js
generated
vendored
|
|
@ -30,11 +30,10 @@ var map = {
|
|||
kb: 1 << 10,
|
||||
mb: 1 << 20,
|
||||
gb: 1 << 30,
|
||||
tb: Math.pow(1024, 4),
|
||||
pb: Math.pow(1024, 5),
|
||||
tb: ((1 << 30) * 1024)
|
||||
};
|
||||
|
||||
var parseRegExp = /^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb|pb)$/i;
|
||||
var parseRegExp = /^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb)$/i;
|
||||
|
||||
/**
|
||||
* Convert the given value in bytes into a string or parse to string to an integer in bytes.
|
||||
|
|
@ -94,9 +93,7 @@ function format(value, options) {
|
|||
var unit = (options && options.unit) || '';
|
||||
|
||||
if (!unit || !map[unit.toLowerCase()]) {
|
||||
if (mag >= map.pb) {
|
||||
unit = 'PB';
|
||||
} else if (mag >= map.tb) {
|
||||
if (mag >= map.tb) {
|
||||
unit = 'TB';
|
||||
} else if (mag >= map.gb) {
|
||||
unit = 'GB';
|
||||
|
|
|
|||
31
node_modules/bytes/package.json
generated
vendored
31
node_modules/bytes/package.json
generated
vendored
|
|
@ -1,28 +1,27 @@
|
|||
{
|
||||
"_from": "bytes@3.1.0",
|
||||
"_id": "bytes@3.1.0",
|
||||
"_from": "bytes@3.0.0",
|
||||
"_id": "bytes@3.0.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
|
||||
"_integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
|
||||
"_location": "/bytes",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "bytes@3.1.0",
|
||||
"raw": "bytes@3.0.0",
|
||||
"name": "bytes",
|
||||
"escapedName": "bytes",
|
||||
"rawSpec": "3.1.0",
|
||||
"rawSpec": "3.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "3.1.0"
|
||||
"fetchSpec": "3.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/body-parser",
|
||||
"/raw-body"
|
||||
"/compression"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
|
||||
"_shasum": "f6cf7933a360e0588fa9fde85651cdc7f805d1f6",
|
||||
"_spec": "bytes@3.1.0",
|
||||
"_where": "D:\\tftapp\\node_modules\\body-parser",
|
||||
"_resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
|
||||
"_shasum": "d32815404d689699f85a4ea4fa8755dd13a96048",
|
||||
"_spec": "bytes@3.0.0",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\compression",
|
||||
"author": {
|
||||
"name": "TJ Holowaychuk",
|
||||
"email": "tj@vision-media.ca",
|
||||
|
|
@ -45,9 +44,8 @@
|
|||
"deprecated": false,
|
||||
"description": "Utility to parse a string bytes to bytes and vice-versa",
|
||||
"devDependencies": {
|
||||
"eslint": "5.12.1",
|
||||
"mocha": "5.2.0",
|
||||
"nyc": "13.1.0"
|
||||
"mocha": "2.5.3",
|
||||
"nyc": "10.3.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.8"
|
||||
|
|
@ -75,10 +73,9 @@
|
|||
"url": "git+https://github.com/visionmedia/bytes.js.git"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint .",
|
||||
"test": "mocha --check-leaks --reporter spec",
|
||||
"test-ci": "nyc --reporter=text npm test",
|
||||
"test-cov": "nyc --reporter=html --reporter=text npm test"
|
||||
},
|
||||
"version": "3.1.0"
|
||||
"version": "3.0.0"
|
||||
}
|
||||
|
|
|
|||
2
node_modules/content-disposition/package.json
generated
vendored
2
node_modules/content-disposition/package.json
generated
vendored
|
|
@ -21,7 +21,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
|
||||
"_shasum": "e130caf7e7279087c5616c2007d0485698984fbd",
|
||||
"_spec": "content-disposition@0.5.3",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"author": {
|
||||
"name": "Douglas Christopher Wilson",
|
||||
"email": "doug@somethingdoug.com"
|
||||
|
|
|
|||
2
node_modules/content-type/package.json
generated
vendored
2
node_modules/content-type/package.json
generated
vendored
|
|
@ -22,7 +22,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
|
||||
"_shasum": "e138cc75e040c727b1966fe5e5f8c9aee256fe3b",
|
||||
"_spec": "content-type@~1.0.4",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"author": {
|
||||
"name": "Douglas Christopher Wilson",
|
||||
"email": "doug@somethingdoug.com"
|
||||
|
|
|
|||
2
node_modules/cookie-signature/package.json
generated
vendored
2
node_modules/cookie-signature/package.json
generated
vendored
|
|
@ -21,7 +21,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
|
||||
"_shasum": "e303a882b342cc3ee8ca513a79999734dab3ae2c",
|
||||
"_spec": "cookie-signature@1.0.6",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"author": {
|
||||
"name": "TJ Holowaychuk",
|
||||
"email": "tj@learnboost.com"
|
||||
|
|
|
|||
2
node_modules/cookie/package.json
generated
vendored
2
node_modules/cookie/package.json
generated
vendored
|
|
@ -21,7 +21,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
|
||||
"_shasum": "beb437e7022b3b6d49019d088665303ebe9c14ba",
|
||||
"_spec": "cookie@0.4.0",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"author": {
|
||||
"name": "Roman Shtylman",
|
||||
"email": "shtylman@gmail.com"
|
||||
|
|
|
|||
24
node_modules/debug/package.json
generated
vendored
24
node_modules/debug/package.json
generated
vendored
|
|
@ -1,30 +1,38 @@
|
|||
{
|
||||
"_from": "debug@2.6.9",
|
||||
"_from": "debug@^2.6.8",
|
||||
"_id": "debug@2.6.9",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
||||
"_location": "/debug",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "debug@2.6.9",
|
||||
"raw": "debug@^2.6.8",
|
||||
"name": "debug",
|
||||
"escapedName": "debug",
|
||||
"rawSpec": "2.6.9",
|
||||
"rawSpec": "^2.6.8",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "2.6.9"
|
||||
"fetchSpec": "^2.6.8"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/babel-traverse",
|
||||
"/body-parser",
|
||||
"/compression",
|
||||
"/connect",
|
||||
"/expand-brackets",
|
||||
"/express",
|
||||
"/finalhandler",
|
||||
"/send"
|
||||
"/portfinder",
|
||||
"/send",
|
||||
"/serve-index",
|
||||
"/snapdragon",
|
||||
"/stylus"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||
"_shasum": "5d128515df134ff327e90a4c93f4e077a536341f",
|
||||
"_spec": "debug@2.6.9",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_spec": "debug@^2.6.8",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\babel-traverse",
|
||||
"author": {
|
||||
"name": "TJ Holowaychuk",
|
||||
"email": "tj@vision-media.ca"
|
||||
|
|
|
|||
5
node_modules/depd/package.json
generated
vendored
5
node_modules/depd/package.json
generated
vendored
|
|
@ -19,12 +19,13 @@
|
|||
"/body-parser",
|
||||
"/express",
|
||||
"/http-errors",
|
||||
"/send"
|
||||
"/send",
|
||||
"/serve-index/http-errors"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
|
||||
"_shasum": "9bcd52e14c097763e749b274c4346ed2e560b5a9",
|
||||
"_spec": "depd@~1.1.2",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"author": {
|
||||
"name": "Douglas Christopher Wilson",
|
||||
"email": "doug@somethingdoug.com"
|
||||
|
|
|
|||
2
node_modules/destroy/package.json
generated
vendored
2
node_modules/destroy/package.json
generated
vendored
|
|
@ -21,7 +21,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
|
||||
"_shasum": "978857442c44749e4206613e37946205826abd80",
|
||||
"_spec": "destroy@~1.0.4",
|
||||
"_where": "D:\\tftapp\\node_modules\\send",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\send",
|
||||
"author": {
|
||||
"name": "Jonathan Ong",
|
||||
"email": "me@jongleberry.com",
|
||||
|
|
|
|||
2
node_modules/ee-first/package.json
generated
vendored
2
node_modules/ee-first/package.json
generated
vendored
|
|
@ -21,7 +21,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
|
||||
"_shasum": "590c61156b0ae2f4f0255732a158b266bc56b21d",
|
||||
"_spec": "ee-first@1.1.1",
|
||||
"_where": "D:\\tftapp\\node_modules\\on-finished",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\on-finished",
|
||||
"author": {
|
||||
"name": "Jonathan Ong",
|
||||
"email": "me@jongleberry.com",
|
||||
|
|
|
|||
2
node_modules/encodeurl/package.json
generated
vendored
2
node_modules/encodeurl/package.json
generated
vendored
|
|
@ -24,7 +24,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
|
||||
"_shasum": "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59",
|
||||
"_spec": "encodeurl@~1.0.2",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"bugs": {
|
||||
"url": "https://github.com/pillarjs/encodeurl/issues"
|
||||
},
|
||||
|
|
|
|||
3
node_modules/escape-html/package.json
generated
vendored
3
node_modules/escape-html/package.json
generated
vendored
|
|
@ -19,12 +19,13 @@
|
|||
"/express",
|
||||
"/finalhandler",
|
||||
"/send",
|
||||
"/serve-index",
|
||||
"/serve-static"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
|
||||
"_shasum": "0258eae4d3d0c0974de1c169188ef0051d1d1988",
|
||||
"_spec": "escape-html@~1.0.3",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"bugs": {
|
||||
"url": "https://github.com/component/escape-html/issues"
|
||||
},
|
||||
|
|
|
|||
2
node_modules/etag/package.json
generated
vendored
2
node_modules/etag/package.json
generated
vendored
|
|
@ -22,7 +22,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
|
||||
"_shasum": "41ae2eeb65efa62268aebfea83ac7d79299b0887",
|
||||
"_spec": "etag@~1.8.1",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"bugs": {
|
||||
"url": "https://github.com/jshttp/etag/issues"
|
||||
},
|
||||
|
|
|
|||
17
node_modules/express/package.json
generated
vendored
17
node_modules/express/package.json
generated
vendored
|
|
@ -1,28 +1,27 @@
|
|||
{
|
||||
"_from": "express",
|
||||
"_from": "express@^4.17.1",
|
||||
"_id": "express@4.17.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
|
||||
"_location": "/express",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "tag",
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "express",
|
||||
"raw": "express@^4.17.1",
|
||||
"name": "express",
|
||||
"escapedName": "express",
|
||||
"rawSpec": "",
|
||||
"rawSpec": "^4.17.1",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "latest"
|
||||
"fetchSpec": "^4.17.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"#USER",
|
||||
"/"
|
||||
"/webpack-dev-server"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
|
||||
"_shasum": "4491fc38605cf51f8629d39c2b5d026f98a4c134",
|
||||
"_spec": "express",
|
||||
"_where": "D:\\tftapp",
|
||||
"_spec": "express@^4.17.1",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\webpack-dev-server",
|
||||
"author": {
|
||||
"name": "TJ Holowaychuk",
|
||||
"email": "tj@vision-media.ca"
|
||||
|
|
|
|||
3
node_modules/finalhandler/package.json
generated
vendored
3
node_modules/finalhandler/package.json
generated
vendored
|
|
@ -16,12 +16,13 @@
|
|||
"fetchSpec": "~1.1.2"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/connect",
|
||||
"/express"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
|
||||
"_shasum": "b7e7d000ffd11938d0fdb053506f6ebabe9f587d",
|
||||
"_spec": "finalhandler@~1.1.2",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"author": {
|
||||
"name": "Douglas Christopher Wilson",
|
||||
"email": "doug@somethingdoug.com"
|
||||
|
|
|
|||
2
node_modules/forwarded/package.json
generated
vendored
2
node_modules/forwarded/package.json
generated
vendored
|
|
@ -21,7 +21,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
|
||||
"_shasum": "98c23dab1175657b8c0573e8ceccd91b0ff18c84",
|
||||
"_spec": "forwarded@~0.1.2",
|
||||
"_where": "D:\\tftapp\\node_modules\\proxy-addr",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\proxy-addr",
|
||||
"bugs": {
|
||||
"url": "https://github.com/jshttp/forwarded/issues"
|
||||
},
|
||||
|
|
|
|||
2
node_modules/fresh/package.json
generated
vendored
2
node_modules/fresh/package.json
generated
vendored
|
|
@ -22,7 +22,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
|
||||
"_shasum": "3d8cadd90d976569fa835ab1f8e4b23a105605a7",
|
||||
"_spec": "fresh@0.5.2",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"author": {
|
||||
"name": "TJ Holowaychuk",
|
||||
"email": "tj@vision-media.ca",
|
||||
|
|
|
|||
2
node_modules/http-errors/package.json
generated
vendored
2
node_modules/http-errors/package.json
generated
vendored
|
|
@ -23,7 +23,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
|
||||
"_shasum": "4f5029cf13239f31036e5b2e55292bcfbcc85c8f",
|
||||
"_spec": "http-errors@1.7.2",
|
||||
"_where": "D:\\tftapp\\node_modules\\body-parser",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\body-parser",
|
||||
"author": {
|
||||
"name": "Jonathan Ong",
|
||||
"email": "me@jongleberry.com",
|
||||
|
|
|
|||
4
node_modules/iconv-lite/package.json
generated
vendored
4
node_modules/iconv-lite/package.json
generated
vendored
|
|
@ -17,12 +17,14 @@
|
|||
},
|
||||
"_requiredBy": [
|
||||
"/body-parser",
|
||||
"/encoding",
|
||||
"/external-editor",
|
||||
"/raw-body"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
|
||||
"_shasum": "2022b4b25fbddc21d2f524974a474aafe733908b",
|
||||
"_spec": "iconv-lite@0.4.24",
|
||||
"_where": "D:\\tftapp\\node_modules\\body-parser",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\body-parser",
|
||||
"author": {
|
||||
"name": "Alexander Shtuchkin",
|
||||
"email": "ashtuchkin@gmail.com"
|
||||
|
|
|
|||
2
node_modules/inherits/inherits.js
generated
vendored
2
node_modules/inherits/inherits.js
generated
vendored
|
|
@ -1,7 +1,9 @@
|
|||
try {
|
||||
var util = require('util');
|
||||
/* istanbul ignore next */
|
||||
if (typeof util.inherits !== 'function') throw '';
|
||||
module.exports = util.inherits;
|
||||
} catch (e) {
|
||||
/* istanbul ignore next */
|
||||
module.exports = require('./inherits_browser.js');
|
||||
}
|
||||
|
|
|
|||
6
node_modules/inherits/inherits_browser.js
generated
vendored
6
node_modules/inherits/inherits_browser.js
generated
vendored
|
|
@ -1,6 +1,7 @@
|
|||
if (typeof Object.create === 'function') {
|
||||
// implementation from standard node.js 'util' module
|
||||
module.exports = function inherits(ctor, superCtor) {
|
||||
if (superCtor) {
|
||||
ctor.super_ = superCtor
|
||||
ctor.prototype = Object.create(superCtor.prototype, {
|
||||
constructor: {
|
||||
|
|
@ -9,11 +10,13 @@ if (typeof Object.create === 'function') {
|
|||
writable: true,
|
||||
configurable: true
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
};
|
||||
} else {
|
||||
// old school shim for old browsers
|
||||
module.exports = function inherits(ctor, superCtor) {
|
||||
if (superCtor) {
|
||||
ctor.super_ = superCtor
|
||||
var TempCtor = function () {}
|
||||
TempCtor.prototype = superCtor.prototype
|
||||
|
|
@ -21,3 +24,4 @@ if (typeof Object.create === 'function') {
|
|||
ctor.prototype.constructor = ctor
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
62
node_modules/inherits/package.json
generated
vendored
62
node_modules/inherits/package.json
generated
vendored
|
|
@ -1,27 +1,59 @@
|
|||
{
|
||||
"_from": "inherits@2.0.3",
|
||||
"_id": "inherits@2.0.3",
|
||||
"_from": "inherits@~2.0.3",
|
||||
"_id": "inherits@2.0.4",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
|
||||
"_integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
||||
"_location": "/inherits",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "inherits@2.0.3",
|
||||
"raw": "inherits@~2.0.3",
|
||||
"name": "inherits",
|
||||
"escapedName": "inherits",
|
||||
"rawSpec": "2.0.3",
|
||||
"rawSpec": "~2.0.3",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "2.0.3"
|
||||
"fetchSpec": "~2.0.3"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/http-errors"
|
||||
"/@angular/compiler-cli/chokidar",
|
||||
"/asn1.js",
|
||||
"/browserify-aes",
|
||||
"/browserify-des",
|
||||
"/browserify-sign",
|
||||
"/cipher-base",
|
||||
"/concat-stream",
|
||||
"/create-hash",
|
||||
"/create-hmac",
|
||||
"/crypto-browserify",
|
||||
"/des.js",
|
||||
"/duplexify",
|
||||
"/elliptic",
|
||||
"/flush-write-stream",
|
||||
"/from2",
|
||||
"/glob",
|
||||
"/hash-base",
|
||||
"/hash.js",
|
||||
"/hpack.js",
|
||||
"/karma/chokidar",
|
||||
"/md5.js",
|
||||
"/parallel-transform",
|
||||
"/pumpify",
|
||||
"/readable-stream",
|
||||
"/ripemd160",
|
||||
"/sha.js",
|
||||
"/sockjs-client",
|
||||
"/spdy-transport/readable-stream",
|
||||
"/stream-browserify",
|
||||
"/stream-http",
|
||||
"/stylus/glob",
|
||||
"/watchpack/chokidar",
|
||||
"/webpack-dev-server/chokidar"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
|
||||
"_shasum": "633c2c83e3da42a502f52466022480f4208261de",
|
||||
"_spec": "inherits@2.0.3",
|
||||
"_where": "D:\\tftapp\\node_modules\\http-errors",
|
||||
"_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||
"_shasum": "0fa2c64f932917c3433a0ded55363aae37416b7c",
|
||||
"_spec": "inherits@~2.0.3",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\readable-stream",
|
||||
"browser": "./inherits_browser.js",
|
||||
"bugs": {
|
||||
"url": "https://github.com/isaacs/inherits/issues"
|
||||
|
|
@ -30,7 +62,7 @@
|
|||
"deprecated": false,
|
||||
"description": "Browser-friendly inheritance fully compatible with standard node.js inherits()",
|
||||
"devDependencies": {
|
||||
"tap": "^7.1.0"
|
||||
"tap": "^14.2.4"
|
||||
},
|
||||
"files": [
|
||||
"inherits.js",
|
||||
|
|
@ -55,7 +87,7 @@
|
|||
"url": "git://github.com/isaacs/inherits.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "node test"
|
||||
"test": "tap"
|
||||
},
|
||||
"version": "2.0.3"
|
||||
"version": "2.0.4"
|
||||
}
|
||||
|
|
|
|||
3
node_modules/ipaddr.js/package.json
generated
vendored
3
node_modules/ipaddr.js/package.json
generated
vendored
|
|
@ -16,12 +16,13 @@
|
|||
"fetchSpec": "1.9.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/internal-ip",
|
||||
"/proxy-addr"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz",
|
||||
"_shasum": "37df74e430a0e47550fe54a2defe30d8acd95f65",
|
||||
"_spec": "ipaddr.js@1.9.0",
|
||||
"_where": "D:\\tftapp\\node_modules\\proxy-addr",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\proxy-addr",
|
||||
"author": {
|
||||
"name": "whitequark",
|
||||
"email": "whitequark@whitequark.org"
|
||||
|
|
|
|||
2
node_modules/media-typer/package.json
generated
vendored
2
node_modules/media-typer/package.json
generated
vendored
|
|
@ -21,7 +21,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
||||
"_shasum": "8710d7af0aa626f8fffa1ce00168545263255748",
|
||||
"_spec": "media-typer@0.3.0",
|
||||
"_where": "D:\\tftapp\\node_modules\\type-is",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\type-is",
|
||||
"author": {
|
||||
"name": "Douglas Christopher Wilson",
|
||||
"email": "doug@somethingdoug.com"
|
||||
|
|
|
|||
2
node_modules/merge-descriptors/package.json
generated
vendored
2
node_modules/merge-descriptors/package.json
generated
vendored
|
|
@ -21,7 +21,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
|
||||
"_shasum": "b00aaa556dd8b44568150ec9d1b953f3f90cbb61",
|
||||
"_spec": "merge-descriptors@1.0.1",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"author": {
|
||||
"name": "Jonathan Ong",
|
||||
"email": "me@jongleberry.com",
|
||||
|
|
|
|||
2
node_modules/methods/package.json
generated
vendored
2
node_modules/methods/package.json
generated
vendored
|
|
@ -21,7 +21,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
|
||||
"_shasum": "5529a4d67654134edcc5266656835b0f851afcee",
|
||||
"_spec": "methods@~1.1.2",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"browser": {
|
||||
"http": false
|
||||
},
|
||||
|
|
|
|||
3
node_modules/mime-db/package.json
generated
vendored
3
node_modules/mime-db/package.json
generated
vendored
|
|
@ -16,12 +16,13 @@
|
|||
"fetchSpec": "1.40.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/compressible",
|
||||
"/mime-types"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
|
||||
"_shasum": "a65057e998db090f732a68f6c276d387d4126c32",
|
||||
"_spec": "mime-db@1.40.0",
|
||||
"_where": "D:\\tftapp\\node_modules\\mime-types",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\mime-types",
|
||||
"bugs": {
|
||||
"url": "https://github.com/jshttp/mime-db/issues"
|
||||
},
|
||||
|
|
|
|||
15
node_modules/mime-types/package.json
generated
vendored
15
node_modules/mime-types/package.json
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_from": "mime-types@~2.1.24",
|
||||
"_from": "mime-types@~2.1.19",
|
||||
"_id": "mime-types@2.1.24",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
|
||||
|
|
@ -8,21 +8,24 @@
|
|||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "mime-types@~2.1.24",
|
||||
"raw": "mime-types@~2.1.19",
|
||||
"name": "mime-types",
|
||||
"escapedName": "mime-types",
|
||||
"rawSpec": "~2.1.24",
|
||||
"rawSpec": "~2.1.19",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "~2.1.24"
|
||||
"fetchSpec": "~2.1.19"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/accepts",
|
||||
"/form-data",
|
||||
"/request",
|
||||
"/serve-index",
|
||||
"/type-is"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
|
||||
"_shasum": "b6f8d0b3e951efb77dedeca194cff6d16f676f81",
|
||||
"_spec": "mime-types@~2.1.24",
|
||||
"_where": "D:\\tftapp\\node_modules\\accepts",
|
||||
"_spec": "mime-types@~2.1.19",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\request",
|
||||
"bugs": {
|
||||
"url": "https://github.com/jshttp/mime-types/issues"
|
||||
},
|
||||
|
|
|
|||
15
node_modules/mime/package.json
generated
vendored
15
node_modules/mime/package.json
generated
vendored
|
|
@ -1,27 +1,28 @@
|
|||
{
|
||||
"_from": "mime@1.6.0",
|
||||
"_from": "mime@^1.4.1",
|
||||
"_id": "mime@1.6.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
|
||||
"_location": "/mime",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "mime@1.6.0",
|
||||
"raw": "mime@^1.4.1",
|
||||
"name": "mime",
|
||||
"escapedName": "mime",
|
||||
"rawSpec": "1.6.0",
|
||||
"rawSpec": "^1.4.1",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.6.0"
|
||||
"fetchSpec": "^1.4.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/less",
|
||||
"/send"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
|
||||
"_shasum": "32cd9e5c64553bd58d19a568af452acff04981b1",
|
||||
"_spec": "mime@1.6.0",
|
||||
"_where": "D:\\tftapp\\node_modules\\send",
|
||||
"_spec": "mime@^1.4.1",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\less",
|
||||
"author": {
|
||||
"name": "Robert Kieffer",
|
||||
"email": "robert@broofa.com",
|
||||
|
|
|
|||
11
node_modules/ms/package.json
generated
vendored
11
node_modules/ms/package.json
generated
vendored
|
|
@ -16,12 +16,19 @@
|
|||
"fetchSpec": "2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/debug"
|
||||
"/debug",
|
||||
"/engine.io-client/debug",
|
||||
"/engine.io/debug",
|
||||
"/http-proxy-agent/debug",
|
||||
"/humanize-ms",
|
||||
"/socket.io-client/debug",
|
||||
"/socket.io-parser/debug",
|
||||
"/socket.io/debug"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||
"_shasum": "5608aeadfc00be6c2901df5f9861788de0d597c8",
|
||||
"_spec": "ms@2.0.0",
|
||||
"_where": "D:\\tftapp\\node_modules\\debug",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\debug",
|
||||
"bugs": {
|
||||
"url": "https://github.com/zeit/ms/issues"
|
||||
},
|
||||
|
|
|
|||
2
node_modules/negotiator/package.json
generated
vendored
2
node_modules/negotiator/package.json
generated
vendored
|
|
@ -21,7 +21,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
|
||||
"_shasum": "feacf7ccf525a77ae9634436a64883ffeca346fb",
|
||||
"_spec": "negotiator@0.6.2",
|
||||
"_where": "D:\\tftapp\\node_modules\\accepts",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\accepts",
|
||||
"bugs": {
|
||||
"url": "https://github.com/jshttp/negotiator/issues"
|
||||
},
|
||||
|
|
|
|||
2
node_modules/on-finished/package.json
generated
vendored
2
node_modules/on-finished/package.json
generated
vendored
|
|
@ -24,7 +24,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
|
||||
"_shasum": "20f1336481b083cd75337992a16971aa2d906947",
|
||||
"_spec": "on-finished@~2.3.0",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"bugs": {
|
||||
"url": "https://github.com/jshttp/on-finished/issues"
|
||||
},
|
||||
|
|
|
|||
4
node_modules/parseurl/package.json
generated
vendored
4
node_modules/parseurl/package.json
generated
vendored
|
|
@ -16,14 +16,16 @@
|
|||
"fetchSpec": "~1.3.3"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/connect",
|
||||
"/express",
|
||||
"/finalhandler",
|
||||
"/serve-index",
|
||||
"/serve-static"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
|
||||
"_shasum": "9da19e7bee8d12dff0513ed5b76957793bc2e8d4",
|
||||
"_spec": "parseurl@~1.3.3",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"bugs": {
|
||||
"url": "https://github.com/pillarjs/parseurl/issues"
|
||||
},
|
||||
|
|
|
|||
2
node_modules/path-to-regexp/package.json
generated
vendored
2
node_modules/path-to-regexp/package.json
generated
vendored
|
|
@ -21,7 +21,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
|
||||
"_shasum": "df604178005f522f15eb4490e7247a1bfaa67f8c",
|
||||
"_spec": "path-to-regexp@0.1.7",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"bugs": {
|
||||
"url": "https://github.com/component/path-to-regexp/issues"
|
||||
},
|
||||
|
|
|
|||
2
node_modules/proxy-addr/package.json
generated
vendored
2
node_modules/proxy-addr/package.json
generated
vendored
|
|
@ -21,7 +21,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz",
|
||||
"_shasum": "34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34",
|
||||
"_spec": "proxy-addr@~2.0.5",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"author": {
|
||||
"name": "Douglas Christopher Wilson",
|
||||
"email": "doug@somethingdoug.com"
|
||||
|
|
|
|||
2
node_modules/qs/.editorconfig
generated
vendored
2
node_modules/qs/.editorconfig
generated
vendored
|
|
@ -7,7 +7,7 @@ end_of_line = lf
|
|||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
max_line_length = 160
|
||||
max_line_length = 140
|
||||
|
||||
[test/*]
|
||||
max_line_length = off
|
||||
|
|
|
|||
6
node_modules/qs/.eslintrc
generated
vendored
6
node_modules/qs/.eslintrc
generated
vendored
|
|
@ -9,10 +9,8 @@
|
|||
"func-name-matching": 0,
|
||||
"id-length": [2, { "min": 1, "max": 25, "properties": "never" }],
|
||||
"indent": [2, 4],
|
||||
"max-lines-per-function": [2, { "max": 150 }],
|
||||
"max-params": [2, 14],
|
||||
"max-statements": [2, 52],
|
||||
"multiline-comment-style": 0,
|
||||
"max-params": [2, 12],
|
||||
"max-statements": [2, 45],
|
||||
"no-continue": 1,
|
||||
"no-magic-numbers": 0,
|
||||
"no-restricted-syntax": [2, "BreakStatement", "DebuggerStatement", "ForInStatement", "LabeledStatement", "WithStatement"],
|
||||
|
|
|
|||
30
node_modules/qs/CHANGELOG.md
generated
vendored
30
node_modules/qs/CHANGELOG.md
generated
vendored
|
|
@ -1,33 +1,3 @@
|
|||
## **6.7.0**
|
||||
- [New] `stringify`/`parse`: add `comma` as an `arrayFormat` option (#276, #219)
|
||||
- [Fix] correctly parse nested arrays (#212)
|
||||
- [Fix] `utils.merge`: avoid a crash with a null target and a truthy non-array source, also with an array source
|
||||
- [Robustness] `stringify`: cache `Object.prototype.hasOwnProperty`
|
||||
- [Refactor] `utils`: `isBuffer`: small tweak; add tests
|
||||
- [Refactor] use cached `Array.isArray`
|
||||
- [Refactor] `parse`/`stringify`: make a function to normalize the options
|
||||
- [Refactor] `utils`: reduce observable [[Get]]s
|
||||
- [Refactor] `stringify`/`utils`: cache `Array.isArray`
|
||||
- [Tests] always use `String(x)` over `x.toString()`
|
||||
- [Tests] fix Buffer tests to work in node < 4.5 and node < 5.10
|
||||
- [Tests] temporarily allow coverage to fail
|
||||
|
||||
## **6.6.0**
|
||||
- [New] Add support for iso-8859-1, utf8 "sentinel" and numeric entities (#268)
|
||||
- [New] move two-value combine to a `utils` function (#189)
|
||||
- [Fix] `stringify`: fix a crash with `strictNullHandling` and a custom `filter`/`serializeDate` (#279)
|
||||
- [Fix] when `parseArrays` is false, properly handle keys ending in `[]` (#260)
|
||||
- [Fix] `stringify`: do not crash in an obscure combo of `interpretNumericEntities`, a bad custom `decoder`, & `iso-8859-1`
|
||||
- [Fix] `utils`: `merge`: fix crash when `source` is a truthy primitive & no options are provided
|
||||
- [refactor] `stringify`: Avoid arr = arr.concat(...), push to the existing instance (#269)
|
||||
- [Refactor] `parse`: only need to reassign the var once
|
||||
- [Refactor] `parse`/`stringify`: clean up `charset` options checking; fix defaults
|
||||
- [Refactor] add missing defaults
|
||||
- [Refactor] `parse`: one less `concat` call
|
||||
- [Refactor] `utils`: `compactQueue`: make it explicitly side-effecting
|
||||
- [Dev Deps] update `browserify`, `eslint`, `@ljharb/eslint-config`, `iconv-lite`, `safe-publish-latest`, `tape`
|
||||
- [Tests] up to `node` `v10.10`, `v9.11`, `v8.12`, `v6.14`, `v4.9`; pin included builds to LTS
|
||||
|
||||
## **6.5.2**
|
||||
- [Fix] use `safer-buffer` instead of `Buffer` constructor
|
||||
- [Refactor] utils: `module.exports` one thing, instead of mutating `exports` (#230)
|
||||
|
|
|
|||
101
node_modules/qs/README.md
generated
vendored
101
node_modules/qs/README.md
generated
vendored
|
|
@ -146,62 +146,6 @@ var withDots = qs.parse('a.b=c', { allowDots: true });
|
|||
assert.deepEqual(withDots, { a: { b: 'c' } });
|
||||
```
|
||||
|
||||
If you have to deal with legacy browsers or services, there's
|
||||
also support for decoding percent-encoded octets as iso-8859-1:
|
||||
|
||||
```javascript
|
||||
var oldCharset = qs.parse('a=%A7', { charset: 'iso-8859-1' });
|
||||
assert.deepEqual(oldCharset, { a: '§' });
|
||||
```
|
||||
|
||||
Some services add an initial `utf8=✓` value to forms so that old
|
||||
Internet Explorer versions are more likely to submit the form as
|
||||
utf-8. Additionally, the server can check the value against wrong
|
||||
encodings of the checkmark character and detect that a query string
|
||||
or `application/x-www-form-urlencoded` body was *not* sent as
|
||||
utf-8, eg. if the form had an `accept-charset` parameter or the
|
||||
containing page had a different character set.
|
||||
|
||||
**qs** supports this mechanism via the `charsetSentinel` option.
|
||||
If specified, the `utf8` parameter will be omitted from the
|
||||
returned object. It will be used to switch to `iso-8859-1`/`utf-8`
|
||||
mode depending on how the checkmark is encoded.
|
||||
|
||||
**Important**: When you specify both the `charset` option and the
|
||||
`charsetSentinel` option, the `charset` will be overridden when
|
||||
the request contains a `utf8` parameter from which the actual
|
||||
charset can be deduced. In that sense the `charset` will behave
|
||||
as the default charset rather than the authoritative charset.
|
||||
|
||||
```javascript
|
||||
var detectedAsUtf8 = qs.parse('utf8=%E2%9C%93&a=%C3%B8', {
|
||||
charset: 'iso-8859-1',
|
||||
charsetSentinel: true
|
||||
});
|
||||
assert.deepEqual(detectedAsUtf8, { a: 'ø' });
|
||||
|
||||
// Browsers encode the checkmark as ✓ when submitting as iso-8859-1:
|
||||
var detectedAsIso8859_1 = qs.parse('utf8=%26%2310003%3B&a=%F8', {
|
||||
charset: 'utf-8',
|
||||
charsetSentinel: true
|
||||
});
|
||||
assert.deepEqual(detectedAsIso8859_1, { a: 'ø' });
|
||||
```
|
||||
|
||||
If you want to decode the `&#...;` syntax to the actual character,
|
||||
you can specify the `interpretNumericEntities` option as well:
|
||||
|
||||
```javascript
|
||||
var detectedAsIso8859_1 = qs.parse('a=%26%239786%3B', {
|
||||
charset: 'iso-8859-1',
|
||||
interpretNumericEntities: true
|
||||
});
|
||||
assert.deepEqual(detectedAsIso8859_1, { a: '☺' });
|
||||
```
|
||||
|
||||
It also works when the charset has been detected in `charsetSentinel`
|
||||
mode.
|
||||
|
||||
### Parsing Arrays
|
||||
|
||||
**qs** can also parse arrays using a similar `[]` notation:
|
||||
|
|
@ -238,7 +182,7 @@ assert.deepEqual(withIndexedEmptyString, { a: ['b', '', 'c'] });
|
|||
```
|
||||
|
||||
**qs** will also limit specifying indices in an array to a maximum index of `20`. Any array members with an index of greater than `20` will
|
||||
instead be converted to an object with the index as the key. This is needed to handle cases when someone sent, for example, `a[999999999]` and it will take significant time to iterate over this huge array.
|
||||
instead be converted to an object with the index as the key:
|
||||
|
||||
```javascript
|
||||
var withMaxIndex = qs.parse('a[100]=b');
|
||||
|
|
@ -273,13 +217,6 @@ var arraysOfObjects = qs.parse('a[][b]=c');
|
|||
assert.deepEqual(arraysOfObjects, { a: [{ b: 'c' }] });
|
||||
```
|
||||
|
||||
Some people use comma to join array, **qs** can parse it:
|
||||
```javascript
|
||||
var arraysOfObjects = qs.parse('a=b,c', { comma: true })
|
||||
assert.deepEqual(arraysOfObjects, { a: ['b', 'c'] })
|
||||
```
|
||||
(_this cannot convert nested objects, such as `a={b:1},{c:d}`_)
|
||||
|
||||
### Stringifying
|
||||
|
||||
[](#preventEval)
|
||||
|
|
@ -355,8 +292,6 @@ qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'brackets' })
|
|||
// 'a[]=b&a[]=c'
|
||||
qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'repeat' })
|
||||
// 'a=b&a=c'
|
||||
qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'comma' })
|
||||
// 'a=b,c'
|
||||
```
|
||||
|
||||
When objects are stringified, by default they use bracket notation:
|
||||
|
|
@ -491,40 +426,10 @@ var nullsSkipped = qs.stringify({ a: 'b', c: null}, { skipNulls: true });
|
|||
assert.equal(nullsSkipped, 'a=b');
|
||||
```
|
||||
|
||||
If you're communicating with legacy systems, you can switch to `iso-8859-1`
|
||||
using the `charset` option:
|
||||
|
||||
```javascript
|
||||
var iso = qs.stringify({ æ: 'æ' }, { charset: 'iso-8859-1' });
|
||||
assert.equal(iso, '%E6=%E6');
|
||||
```
|
||||
|
||||
Characters that don't exist in `iso-8859-1` will be converted to numeric
|
||||
entities, similar to what browsers do:
|
||||
|
||||
```javascript
|
||||
var numeric = qs.stringify({ a: '☺' }, { charset: 'iso-8859-1' });
|
||||
assert.equal(numeric, 'a=%26%239786%3B');
|
||||
```
|
||||
|
||||
You can use the `charsetSentinel` option to announce the character by
|
||||
including an `utf8=✓` parameter with the proper encoding if the checkmark,
|
||||
similar to what Ruby on Rails and others do when submitting forms.
|
||||
|
||||
```javascript
|
||||
var sentinel = qs.stringify({ a: '☺' }, { charsetSentinel: true });
|
||||
assert.equal(sentinel, 'utf8=%E2%9C%93&a=%E2%98%BA');
|
||||
|
||||
var isoSentinel = qs.stringify({ a: 'æ' }, { charsetSentinel: true, charset: 'iso-8859-1' });
|
||||
assert.equal(isoSentinel, 'utf8=%26%2310003%3B&a=%E6');
|
||||
```
|
||||
|
||||
### Dealing with special character sets
|
||||
|
||||
By default the encoding and decoding of characters is done in `utf-8`,
|
||||
and `iso-8859-1` support is also built in via the `charset` parameter.
|
||||
|
||||
If you wish to encode querystrings to a different character set (i.e.
|
||||
By default the encoding and decoding of characters is done in `utf-8`. If you
|
||||
wish to encode querystrings to a different character set (i.e.
|
||||
[Shift JIS](https://en.wikipedia.org/wiki/Shift_JIS)) you can use the
|
||||
[`qs-iconv`](https://github.com/martinheidegger/qs-iconv) library:
|
||||
|
||||
|
|
|
|||
336
node_modules/qs/dist/qs.js
generated
vendored
336
node_modules/qs/dist/qs.js
generated
vendored
|
|
@ -42,63 +42,21 @@ var defaults = {
|
|||
allowDots: false,
|
||||
allowPrototypes: false,
|
||||
arrayLimit: 20,
|
||||
charset: 'utf-8',
|
||||
charsetSentinel: false,
|
||||
comma: false,
|
||||
decoder: utils.decode,
|
||||
delimiter: '&',
|
||||
depth: 5,
|
||||
ignoreQueryPrefix: false,
|
||||
interpretNumericEntities: false,
|
||||
parameterLimit: 1000,
|
||||
parseArrays: true,
|
||||
plainObjects: false,
|
||||
strictNullHandling: false
|
||||
};
|
||||
|
||||
var interpretNumericEntities = function (str) {
|
||||
return str.replace(/&#(\d+);/g, function ($0, numberStr) {
|
||||
return String.fromCharCode(parseInt(numberStr, 10));
|
||||
});
|
||||
};
|
||||
|
||||
// This is what browsers will submit when the ✓ character occurs in an
|
||||
// application/x-www-form-urlencoded body and the encoding of the page containing
|
||||
// the form is iso-8859-1, or when the submitted form has an accept-charset
|
||||
// attribute of iso-8859-1. Presumably also with other charsets that do not contain
|
||||
// the ✓ character, such as us-ascii.
|
||||
var isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')
|
||||
|
||||
// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.
|
||||
var charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')
|
||||
|
||||
var parseValues = function parseQueryStringValues(str, options) {
|
||||
var obj = {};
|
||||
var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, '') : str;
|
||||
var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;
|
||||
var parts = cleanStr.split(options.delimiter, limit);
|
||||
var skipIndex = -1; // Keep track of where the utf8 sentinel was found
|
||||
var i;
|
||||
|
||||
var charset = options.charset;
|
||||
if (options.charsetSentinel) {
|
||||
for (i = 0; i < parts.length; ++i) {
|
||||
if (parts[i].indexOf('utf8=') === 0) {
|
||||
if (parts[i] === charsetSentinel) {
|
||||
charset = 'utf-8';
|
||||
} else if (parts[i] === isoSentinel) {
|
||||
charset = 'iso-8859-1';
|
||||
}
|
||||
skipIndex = i;
|
||||
i = parts.length; // The eslint settings do not allow break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < parts.length; ++i) {
|
||||
if (i === skipIndex) {
|
||||
continue;
|
||||
}
|
||||
for (var i = 0; i < parts.length; ++i) {
|
||||
var part = parts[i];
|
||||
|
||||
var bracketEqualsPos = part.indexOf(']=');
|
||||
|
|
@ -106,23 +64,14 @@ var parseValues = function parseQueryStringValues(str, options) {
|
|||
|
||||
var key, val;
|
||||
if (pos === -1) {
|
||||
key = options.decoder(part, defaults.decoder, charset);
|
||||
key = options.decoder(part, defaults.decoder);
|
||||
val = options.strictNullHandling ? null : '';
|
||||
} else {
|
||||
key = options.decoder(part.slice(0, pos), defaults.decoder, charset);
|
||||
val = options.decoder(part.slice(pos + 1), defaults.decoder, charset);
|
||||
key = options.decoder(part.slice(0, pos), defaults.decoder);
|
||||
val = options.decoder(part.slice(pos + 1), defaults.decoder);
|
||||
}
|
||||
|
||||
if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {
|
||||
val = interpretNumericEntities(val);
|
||||
}
|
||||
|
||||
if (val && options.comma && val.indexOf(',') > -1) {
|
||||
val = val.split(',');
|
||||
}
|
||||
|
||||
if (has.call(obj, key)) {
|
||||
obj[key] = utils.combine(obj[key], val);
|
||||
obj[key] = [].concat(obj[key]).concat(val);
|
||||
} else {
|
||||
obj[key] = val;
|
||||
}
|
||||
|
|
@ -138,15 +87,14 @@ var parseObject = function (chain, val, options) {
|
|||
var obj;
|
||||
var root = chain[i];
|
||||
|
||||
if (root === '[]' && options.parseArrays) {
|
||||
obj = [].concat(leaf);
|
||||
if (root === '[]') {
|
||||
obj = [];
|
||||
obj = obj.concat(leaf);
|
||||
} else {
|
||||
obj = options.plainObjects ? Object.create(null) : {};
|
||||
var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;
|
||||
var index = parseInt(cleanRoot, 10);
|
||||
if (!options.parseArrays && cleanRoot === '') {
|
||||
obj = { 0: leaf };
|
||||
} else if (
|
||||
if (
|
||||
!isNaN(index)
|
||||
&& root !== cleanRoot
|
||||
&& String(index) === cleanRoot
|
||||
|
|
@ -188,7 +136,8 @@ var parseKeys = function parseQueryStringKeys(givenKey, val, options) {
|
|||
|
||||
var keys = [];
|
||||
if (parent) {
|
||||
// If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties
|
||||
// If we aren't using plain objects, optionally prefix keys
|
||||
// that would overwrite object prototype properties
|
||||
if (!options.plainObjects && has.call(Object.prototype, parent)) {
|
||||
if (!options.allowPrototypes) {
|
||||
return;
|
||||
|
|
@ -220,41 +169,24 @@ var parseKeys = function parseQueryStringKeys(givenKey, val, options) {
|
|||
return parseObject(keys, val, options);
|
||||
};
|
||||
|
||||
var normalizeParseOptions = function normalizeParseOptions(opts) {
|
||||
if (!opts) {
|
||||
return defaults;
|
||||
}
|
||||
module.exports = function (str, opts) {
|
||||
var options = opts ? utils.assign({}, opts) : {};
|
||||
|
||||
if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {
|
||||
if (options.decoder !== null && options.decoder !== undefined && typeof options.decoder !== 'function') {
|
||||
throw new TypeError('Decoder has to be a function.');
|
||||
}
|
||||
|
||||
if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
|
||||
throw new Error('The charset option must be either utf-8, iso-8859-1, or undefined');
|
||||
}
|
||||
var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;
|
||||
|
||||
return {
|
||||
allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
|
||||
allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,
|
||||
arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,
|
||||
charset: charset,
|
||||
charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
|
||||
comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,
|
||||
decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,
|
||||
delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,
|
||||
depth: typeof opts.depth === 'number' ? opts.depth : defaults.depth,
|
||||
ignoreQueryPrefix: opts.ignoreQueryPrefix === true,
|
||||
interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,
|
||||
parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,
|
||||
parseArrays: opts.parseArrays !== false,
|
||||
plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,
|
||||
strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
|
||||
};
|
||||
};
|
||||
|
||||
module.exports = function (str, opts) {
|
||||
var options = normalizeParseOptions(opts);
|
||||
options.ignoreQueryPrefix = options.ignoreQueryPrefix === true;
|
||||
options.delimiter = typeof options.delimiter === 'string' || utils.isRegExp(options.delimiter) ? options.delimiter : defaults.delimiter;
|
||||
options.depth = typeof options.depth === 'number' ? options.depth : defaults.depth;
|
||||
options.arrayLimit = typeof options.arrayLimit === 'number' ? options.arrayLimit : defaults.arrayLimit;
|
||||
options.parseArrays = options.parseArrays !== false;
|
||||
options.decoder = typeof options.decoder === 'function' ? options.decoder : defaults.decoder;
|
||||
options.allowDots = typeof options.allowDots === 'boolean' ? options.allowDots : defaults.allowDots;
|
||||
options.plainObjects = typeof options.plainObjects === 'boolean' ? options.plainObjects : defaults.plainObjects;
|
||||
options.allowPrototypes = typeof options.allowPrototypes === 'boolean' ? options.allowPrototypes : defaults.allowPrototypes;
|
||||
options.parameterLimit = typeof options.parameterLimit === 'number' ? options.parameterLimit : defaults.parameterLimit;
|
||||
options.strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;
|
||||
|
||||
if (str === '' || str === null || typeof str === 'undefined') {
|
||||
return options.plainObjects ? Object.create(null) : {};
|
||||
|
|
@ -280,13 +212,11 @@ module.exports = function (str, opts) {
|
|||
|
||||
var utils = require('./utils');
|
||||
var formats = require('./formats');
|
||||
var has = Object.prototype.hasOwnProperty;
|
||||
|
||||
var arrayPrefixGenerators = {
|
||||
brackets: function brackets(prefix) { // eslint-disable-line func-name-matching
|
||||
return prefix + '[]';
|
||||
},
|
||||
comma: 'comma',
|
||||
indices: function indices(prefix, key) { // eslint-disable-line func-name-matching
|
||||
return prefix + '[' + key + ']';
|
||||
},
|
||||
|
|
@ -295,26 +225,13 @@ var arrayPrefixGenerators = {
|
|||
}
|
||||
};
|
||||
|
||||
var isArray = Array.isArray;
|
||||
var push = Array.prototype.push;
|
||||
var pushToArray = function (arr, valueOrArray) {
|
||||
push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);
|
||||
};
|
||||
|
||||
var toISO = Date.prototype.toISOString;
|
||||
|
||||
var defaults = {
|
||||
addQueryPrefix: false,
|
||||
allowDots: false,
|
||||
charset: 'utf-8',
|
||||
charsetSentinel: false,
|
||||
delimiter: '&',
|
||||
encode: true,
|
||||
encoder: utils.encode,
|
||||
encodeValuesOnly: false,
|
||||
formatter: formats.formatters[formats['default']],
|
||||
// deprecated
|
||||
indices: false,
|
||||
serializeDate: function serializeDate(date) { // eslint-disable-line func-name-matching
|
||||
return toISO.call(date);
|
||||
},
|
||||
|
|
@ -334,21 +251,16 @@ var stringify = function stringify( // eslint-disable-line func-name-matching
|
|||
allowDots,
|
||||
serializeDate,
|
||||
formatter,
|
||||
encodeValuesOnly,
|
||||
charset
|
||||
encodeValuesOnly
|
||||
) {
|
||||
var obj = object;
|
||||
if (typeof filter === 'function') {
|
||||
obj = filter(prefix, obj);
|
||||
} else if (obj instanceof Date) {
|
||||
obj = serializeDate(obj);
|
||||
} else if (generateArrayPrefix === 'comma' && isArray(obj)) {
|
||||
obj = obj.join(',');
|
||||
}
|
||||
|
||||
if (obj === null) {
|
||||
} else if (obj === null) {
|
||||
if (strictNullHandling) {
|
||||
return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset) : prefix;
|
||||
return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder) : prefix;
|
||||
}
|
||||
|
||||
obj = '';
|
||||
|
|
@ -356,8 +268,8 @@ var stringify = function stringify( // eslint-disable-line func-name-matching
|
|||
|
||||
if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || utils.isBuffer(obj)) {
|
||||
if (encoder) {
|
||||
var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset);
|
||||
return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset))];
|
||||
var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder);
|
||||
return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder))];
|
||||
}
|
||||
return [formatter(prefix) + '=' + formatter(String(obj))];
|
||||
}
|
||||
|
|
@ -369,7 +281,7 @@ var stringify = function stringify( // eslint-disable-line func-name-matching
|
|||
}
|
||||
|
||||
var objKeys;
|
||||
if (isArray(filter)) {
|
||||
if (Array.isArray(filter)) {
|
||||
objKeys = filter;
|
||||
} else {
|
||||
var keys = Object.keys(obj);
|
||||
|
|
@ -383,10 +295,10 @@ var stringify = function stringify( // eslint-disable-line func-name-matching
|
|||
continue;
|
||||
}
|
||||
|
||||
if (isArray(obj)) {
|
||||
pushToArray(values, stringify(
|
||||
if (Array.isArray(obj)) {
|
||||
values = values.concat(stringify(
|
||||
obj[key],
|
||||
typeof generateArrayPrefix === 'function' ? generateArrayPrefix(prefix, key) : prefix,
|
||||
generateArrayPrefix(prefix, key),
|
||||
generateArrayPrefix,
|
||||
strictNullHandling,
|
||||
skipNulls,
|
||||
|
|
@ -396,11 +308,10 @@ var stringify = function stringify( // eslint-disable-line func-name-matching
|
|||
allowDots,
|
||||
serializeDate,
|
||||
formatter,
|
||||
encodeValuesOnly,
|
||||
charset
|
||||
encodeValuesOnly
|
||||
));
|
||||
} else {
|
||||
pushToArray(values, stringify(
|
||||
values = values.concat(stringify(
|
||||
obj[key],
|
||||
prefix + (allowDots ? '.' + key : '[' + key + ']'),
|
||||
generateArrayPrefix,
|
||||
|
|
@ -412,8 +323,7 @@ var stringify = function stringify( // eslint-disable-line func-name-matching
|
|||
allowDots,
|
||||
serializeDate,
|
||||
formatter,
|
||||
encodeValuesOnly,
|
||||
charset
|
||||
encodeValuesOnly
|
||||
));
|
||||
}
|
||||
}
|
||||
|
|
@ -421,63 +331,36 @@ var stringify = function stringify( // eslint-disable-line func-name-matching
|
|||
return values;
|
||||
};
|
||||
|
||||
var normalizeStringifyOptions = function normalizeStringifyOptions(opts) {
|
||||
if (!opts) {
|
||||
return defaults;
|
||||
}
|
||||
module.exports = function (object, opts) {
|
||||
var obj = object;
|
||||
var options = opts ? utils.assign({}, opts) : {};
|
||||
|
||||
if (opts.encoder !== null && opts.encoder !== undefined && typeof opts.encoder !== 'function') {
|
||||
if (options.encoder !== null && options.encoder !== undefined && typeof options.encoder !== 'function') {
|
||||
throw new TypeError('Encoder has to be a function.');
|
||||
}
|
||||
|
||||
var charset = opts.charset || defaults.charset;
|
||||
if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
|
||||
throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
|
||||
}
|
||||
|
||||
var format = formats['default'];
|
||||
if (typeof opts.format !== 'undefined') {
|
||||
if (!has.call(formats.formatters, opts.format)) {
|
||||
var delimiter = typeof options.delimiter === 'undefined' ? defaults.delimiter : options.delimiter;
|
||||
var strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;
|
||||
var skipNulls = typeof options.skipNulls === 'boolean' ? options.skipNulls : defaults.skipNulls;
|
||||
var encode = typeof options.encode === 'boolean' ? options.encode : defaults.encode;
|
||||
var encoder = typeof options.encoder === 'function' ? options.encoder : defaults.encoder;
|
||||
var sort = typeof options.sort === 'function' ? options.sort : null;
|
||||
var allowDots = typeof options.allowDots === 'undefined' ? false : options.allowDots;
|
||||
var serializeDate = typeof options.serializeDate === 'function' ? options.serializeDate : defaults.serializeDate;
|
||||
var encodeValuesOnly = typeof options.encodeValuesOnly === 'boolean' ? options.encodeValuesOnly : defaults.encodeValuesOnly;
|
||||
if (typeof options.format === 'undefined') {
|
||||
options.format = formats['default'];
|
||||
} else if (!Object.prototype.hasOwnProperty.call(formats.formatters, options.format)) {
|
||||
throw new TypeError('Unknown format option provided.');
|
||||
}
|
||||
format = opts.format;
|
||||
}
|
||||
var formatter = formats.formatters[format];
|
||||
|
||||
var filter = defaults.filter;
|
||||
if (typeof opts.filter === 'function' || isArray(opts.filter)) {
|
||||
filter = opts.filter;
|
||||
}
|
||||
|
||||
return {
|
||||
addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,
|
||||
allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
|
||||
charset: charset,
|
||||
charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
|
||||
delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,
|
||||
encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,
|
||||
encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,
|
||||
encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
|
||||
filter: filter,
|
||||
formatter: formatter,
|
||||
serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,
|
||||
skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,
|
||||
sort: typeof opts.sort === 'function' ? opts.sort : null,
|
||||
strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
|
||||
};
|
||||
};
|
||||
|
||||
module.exports = function (object, opts) {
|
||||
var obj = object;
|
||||
var options = normalizeStringifyOptions(opts);
|
||||
|
||||
var formatter = formats.formatters[options.format];
|
||||
var objKeys;
|
||||
var filter;
|
||||
|
||||
if (typeof options.filter === 'function') {
|
||||
filter = options.filter;
|
||||
obj = filter('', obj);
|
||||
} else if (isArray(options.filter)) {
|
||||
} else if (Array.isArray(options.filter)) {
|
||||
filter = options.filter;
|
||||
objKeys = filter;
|
||||
}
|
||||
|
|
@ -489,10 +372,10 @@ module.exports = function (object, opts) {
|
|||
}
|
||||
|
||||
var arrayFormat;
|
||||
if (opts && opts.arrayFormat in arrayPrefixGenerators) {
|
||||
arrayFormat = opts.arrayFormat;
|
||||
} else if (opts && 'indices' in opts) {
|
||||
arrayFormat = opts.indices ? 'indices' : 'repeat';
|
||||
if (options.arrayFormat in arrayPrefixGenerators) {
|
||||
arrayFormat = options.arrayFormat;
|
||||
} else if ('indices' in options) {
|
||||
arrayFormat = options.indices ? 'indices' : 'repeat';
|
||||
} else {
|
||||
arrayFormat = 'indices';
|
||||
}
|
||||
|
|
@ -503,46 +386,36 @@ module.exports = function (object, opts) {
|
|||
objKeys = Object.keys(obj);
|
||||
}
|
||||
|
||||
if (options.sort) {
|
||||
objKeys.sort(options.sort);
|
||||
if (sort) {
|
||||
objKeys.sort(sort);
|
||||
}
|
||||
|
||||
for (var i = 0; i < objKeys.length; ++i) {
|
||||
var key = objKeys[i];
|
||||
|
||||
if (options.skipNulls && obj[key] === null) {
|
||||
if (skipNulls && obj[key] === null) {
|
||||
continue;
|
||||
}
|
||||
pushToArray(keys, stringify(
|
||||
|
||||
keys = keys.concat(stringify(
|
||||
obj[key],
|
||||
key,
|
||||
generateArrayPrefix,
|
||||
options.strictNullHandling,
|
||||
options.skipNulls,
|
||||
options.encode ? options.encoder : null,
|
||||
options.filter,
|
||||
options.sort,
|
||||
options.allowDots,
|
||||
options.serializeDate,
|
||||
options.formatter,
|
||||
options.encodeValuesOnly,
|
||||
options.charset
|
||||
strictNullHandling,
|
||||
skipNulls,
|
||||
encode ? encoder : null,
|
||||
filter,
|
||||
sort,
|
||||
allowDots,
|
||||
serializeDate,
|
||||
formatter,
|
||||
encodeValuesOnly
|
||||
));
|
||||
}
|
||||
|
||||
var joined = keys.join(options.delimiter);
|
||||
var joined = keys.join(delimiter);
|
||||
var prefix = options.addQueryPrefix === true ? '?' : '';
|
||||
|
||||
if (options.charsetSentinel) {
|
||||
if (options.charset === 'iso-8859-1') {
|
||||
// encodeURIComponent('✓'), the "numeric entity" representation of a checkmark
|
||||
prefix += 'utf8=%26%2310003%3B&';
|
||||
} else {
|
||||
// encodeURIComponent('✓')
|
||||
prefix += 'utf8=%E2%9C%93&';
|
||||
}
|
||||
}
|
||||
|
||||
return joined.length > 0 ? prefix + joined : '';
|
||||
};
|
||||
|
||||
|
|
@ -550,7 +423,6 @@ module.exports = function (object, opts) {
|
|||
'use strict';
|
||||
|
||||
var has = Object.prototype.hasOwnProperty;
|
||||
var isArray = Array.isArray;
|
||||
|
||||
var hexTable = (function () {
|
||||
var array = [];
|
||||
|
|
@ -562,11 +434,13 @@ var hexTable = (function () {
|
|||
}());
|
||||
|
||||
var compactQueue = function compactQueue(queue) {
|
||||
while (queue.length > 1) {
|
||||
var item = queue.pop();
|
||||
var obj = item.obj[item.prop];
|
||||
var obj;
|
||||
|
||||
if (isArray(obj)) {
|
||||
while (queue.length) {
|
||||
var item = queue.pop();
|
||||
obj = item.obj[item.prop];
|
||||
|
||||
if (Array.isArray(obj)) {
|
||||
var compacted = [];
|
||||
|
||||
for (var j = 0; j < obj.length; ++j) {
|
||||
|
|
@ -578,6 +452,8 @@ var compactQueue = function compactQueue(queue) {
|
|||
item.obj[item.prop] = compacted;
|
||||
}
|
||||
}
|
||||
|
||||
return obj;
|
||||
};
|
||||
|
||||
var arrayToObject = function arrayToObject(source, options) {
|
||||
|
|
@ -597,10 +473,10 @@ var merge = function merge(target, source, options) {
|
|||
}
|
||||
|
||||
if (typeof source !== 'object') {
|
||||
if (isArray(target)) {
|
||||
if (Array.isArray(target)) {
|
||||
target.push(source);
|
||||
} else if (target && typeof target === 'object') {
|
||||
if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {
|
||||
} else if (typeof target === 'object') {
|
||||
if (options.plainObjects || options.allowPrototypes || !has.call(Object.prototype, source)) {
|
||||
target[source] = true;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -610,21 +486,20 @@ var merge = function merge(target, source, options) {
|
|||
return target;
|
||||
}
|
||||
|
||||
if (!target || typeof target !== 'object') {
|
||||
if (typeof target !== 'object') {
|
||||
return [target].concat(source);
|
||||
}
|
||||
|
||||
var mergeTarget = target;
|
||||
if (isArray(target) && !isArray(source)) {
|
||||
if (Array.isArray(target) && !Array.isArray(source)) {
|
||||
mergeTarget = arrayToObject(target, options);
|
||||
}
|
||||
|
||||
if (isArray(target) && isArray(source)) {
|
||||
if (Array.isArray(target) && Array.isArray(source)) {
|
||||
source.forEach(function (item, i) {
|
||||
if (has.call(target, i)) {
|
||||
var targetItem = target[i];
|
||||
if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {
|
||||
target[i] = merge(targetItem, item, options);
|
||||
if (target[i] && typeof target[i] === 'object') {
|
||||
target[i] = merge(target[i], item, options);
|
||||
} else {
|
||||
target.push(item);
|
||||
}
|
||||
|
|
@ -654,21 +529,15 @@ var assign = function assignSingleSource(target, source) {
|
|||
}, target);
|
||||
};
|
||||
|
||||
var decode = function (str, decoder, charset) {
|
||||
var strWithoutPlus = str.replace(/\+/g, ' ');
|
||||
if (charset === 'iso-8859-1') {
|
||||
// unescape never throws, no try...catch needed:
|
||||
return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
|
||||
}
|
||||
// utf-8
|
||||
var decode = function (str) {
|
||||
try {
|
||||
return decodeURIComponent(strWithoutPlus);
|
||||
return decodeURIComponent(str.replace(/\+/g, ' '));
|
||||
} catch (e) {
|
||||
return strWithoutPlus;
|
||||
return str;
|
||||
}
|
||||
};
|
||||
|
||||
var encode = function encode(str, defaultEncoder, charset) {
|
||||
var encode = function encode(str) {
|
||||
// This code was originally written by Brian White (mscdex) for the io.js core querystring library.
|
||||
// It has been adapted here for stricter adherence to RFC 3986
|
||||
if (str.length === 0) {
|
||||
|
|
@ -677,12 +546,6 @@ var encode = function encode(str, defaultEncoder, charset) {
|
|||
|
||||
var string = typeof str === 'string' ? str : String(str);
|
||||
|
||||
if (charset === 'iso-8859-1') {
|
||||
return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {
|
||||
return '%26%23' + parseInt($0.slice(2), 16) + '%3B';
|
||||
});
|
||||
}
|
||||
|
||||
var out = '';
|
||||
for (var i = 0; i < string.length; ++i) {
|
||||
var c = string.charCodeAt(i);
|
||||
|
|
@ -745,9 +608,7 @@ var compact = function compact(value) {
|
|||
}
|
||||
}
|
||||
|
||||
compactQueue(queue);
|
||||
|
||||
return value;
|
||||
return compactQueue(queue);
|
||||
};
|
||||
|
||||
var isRegExp = function isRegExp(obj) {
|
||||
|
|
@ -755,21 +616,16 @@ var isRegExp = function isRegExp(obj) {
|
|||
};
|
||||
|
||||
var isBuffer = function isBuffer(obj) {
|
||||
if (!obj || typeof obj !== 'object') {
|
||||
if (obj === null || typeof obj === 'undefined') {
|
||||
return false;
|
||||
}
|
||||
|
||||
return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
|
||||
};
|
||||
|
||||
var combine = function combine(a, b) {
|
||||
return [].concat(a, b);
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
arrayToObject: arrayToObject,
|
||||
assign: assign,
|
||||
combine: combine,
|
||||
compact: compact,
|
||||
decode: decode,
|
||||
encode: encode,
|
||||
|
|
|
|||
118
node_modules/qs/lib/parse.js
generated
vendored
118
node_modules/qs/lib/parse.js
generated
vendored
|
|
@ -8,63 +8,21 @@ var defaults = {
|
|||
allowDots: false,
|
||||
allowPrototypes: false,
|
||||
arrayLimit: 20,
|
||||
charset: 'utf-8',
|
||||
charsetSentinel: false,
|
||||
comma: false,
|
||||
decoder: utils.decode,
|
||||
delimiter: '&',
|
||||
depth: 5,
|
||||
ignoreQueryPrefix: false,
|
||||
interpretNumericEntities: false,
|
||||
parameterLimit: 1000,
|
||||
parseArrays: true,
|
||||
plainObjects: false,
|
||||
strictNullHandling: false
|
||||
};
|
||||
|
||||
var interpretNumericEntities = function (str) {
|
||||
return str.replace(/&#(\d+);/g, function ($0, numberStr) {
|
||||
return String.fromCharCode(parseInt(numberStr, 10));
|
||||
});
|
||||
};
|
||||
|
||||
// This is what browsers will submit when the ✓ character occurs in an
|
||||
// application/x-www-form-urlencoded body and the encoding of the page containing
|
||||
// the form is iso-8859-1, or when the submitted form has an accept-charset
|
||||
// attribute of iso-8859-1. Presumably also with other charsets that do not contain
|
||||
// the ✓ character, such as us-ascii.
|
||||
var isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')
|
||||
|
||||
// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.
|
||||
var charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')
|
||||
|
||||
var parseValues = function parseQueryStringValues(str, options) {
|
||||
var obj = {};
|
||||
var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, '') : str;
|
||||
var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;
|
||||
var parts = cleanStr.split(options.delimiter, limit);
|
||||
var skipIndex = -1; // Keep track of where the utf8 sentinel was found
|
||||
var i;
|
||||
|
||||
var charset = options.charset;
|
||||
if (options.charsetSentinel) {
|
||||
for (i = 0; i < parts.length; ++i) {
|
||||
if (parts[i].indexOf('utf8=') === 0) {
|
||||
if (parts[i] === charsetSentinel) {
|
||||
charset = 'utf-8';
|
||||
} else if (parts[i] === isoSentinel) {
|
||||
charset = 'iso-8859-1';
|
||||
}
|
||||
skipIndex = i;
|
||||
i = parts.length; // The eslint settings do not allow break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < parts.length; ++i) {
|
||||
if (i === skipIndex) {
|
||||
continue;
|
||||
}
|
||||
for (var i = 0; i < parts.length; ++i) {
|
||||
var part = parts[i];
|
||||
|
||||
var bracketEqualsPos = part.indexOf(']=');
|
||||
|
|
@ -72,23 +30,14 @@ var parseValues = function parseQueryStringValues(str, options) {
|
|||
|
||||
var key, val;
|
||||
if (pos === -1) {
|
||||
key = options.decoder(part, defaults.decoder, charset);
|
||||
key = options.decoder(part, defaults.decoder);
|
||||
val = options.strictNullHandling ? null : '';
|
||||
} else {
|
||||
key = options.decoder(part.slice(0, pos), defaults.decoder, charset);
|
||||
val = options.decoder(part.slice(pos + 1), defaults.decoder, charset);
|
||||
key = options.decoder(part.slice(0, pos), defaults.decoder);
|
||||
val = options.decoder(part.slice(pos + 1), defaults.decoder);
|
||||
}
|
||||
|
||||
if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {
|
||||
val = interpretNumericEntities(val);
|
||||
}
|
||||
|
||||
if (val && options.comma && val.indexOf(',') > -1) {
|
||||
val = val.split(',');
|
||||
}
|
||||
|
||||
if (has.call(obj, key)) {
|
||||
obj[key] = utils.combine(obj[key], val);
|
||||
obj[key] = [].concat(obj[key]).concat(val);
|
||||
} else {
|
||||
obj[key] = val;
|
||||
}
|
||||
|
|
@ -104,15 +53,14 @@ var parseObject = function (chain, val, options) {
|
|||
var obj;
|
||||
var root = chain[i];
|
||||
|
||||
if (root === '[]' && options.parseArrays) {
|
||||
obj = [].concat(leaf);
|
||||
if (root === '[]') {
|
||||
obj = [];
|
||||
obj = obj.concat(leaf);
|
||||
} else {
|
||||
obj = options.plainObjects ? Object.create(null) : {};
|
||||
var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;
|
||||
var index = parseInt(cleanRoot, 10);
|
||||
if (!options.parseArrays && cleanRoot === '') {
|
||||
obj = { 0: leaf };
|
||||
} else if (
|
||||
if (
|
||||
!isNaN(index)
|
||||
&& root !== cleanRoot
|
||||
&& String(index) === cleanRoot
|
||||
|
|
@ -154,7 +102,8 @@ var parseKeys = function parseQueryStringKeys(givenKey, val, options) {
|
|||
|
||||
var keys = [];
|
||||
if (parent) {
|
||||
// If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties
|
||||
// If we aren't using plain objects, optionally prefix keys
|
||||
// that would overwrite object prototype properties
|
||||
if (!options.plainObjects && has.call(Object.prototype, parent)) {
|
||||
if (!options.allowPrototypes) {
|
||||
return;
|
||||
|
|
@ -186,41 +135,24 @@ var parseKeys = function parseQueryStringKeys(givenKey, val, options) {
|
|||
return parseObject(keys, val, options);
|
||||
};
|
||||
|
||||
var normalizeParseOptions = function normalizeParseOptions(opts) {
|
||||
if (!opts) {
|
||||
return defaults;
|
||||
}
|
||||
module.exports = function (str, opts) {
|
||||
var options = opts ? utils.assign({}, opts) : {};
|
||||
|
||||
if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {
|
||||
if (options.decoder !== null && options.decoder !== undefined && typeof options.decoder !== 'function') {
|
||||
throw new TypeError('Decoder has to be a function.');
|
||||
}
|
||||
|
||||
if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
|
||||
throw new Error('The charset option must be either utf-8, iso-8859-1, or undefined');
|
||||
}
|
||||
var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;
|
||||
|
||||
return {
|
||||
allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
|
||||
allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,
|
||||
arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,
|
||||
charset: charset,
|
||||
charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
|
||||
comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,
|
||||
decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,
|
||||
delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,
|
||||
depth: typeof opts.depth === 'number' ? opts.depth : defaults.depth,
|
||||
ignoreQueryPrefix: opts.ignoreQueryPrefix === true,
|
||||
interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,
|
||||
parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,
|
||||
parseArrays: opts.parseArrays !== false,
|
||||
plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,
|
||||
strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
|
||||
};
|
||||
};
|
||||
|
||||
module.exports = function (str, opts) {
|
||||
var options = normalizeParseOptions(opts);
|
||||
options.ignoreQueryPrefix = options.ignoreQueryPrefix === true;
|
||||
options.delimiter = typeof options.delimiter === 'string' || utils.isRegExp(options.delimiter) ? options.delimiter : defaults.delimiter;
|
||||
options.depth = typeof options.depth === 'number' ? options.depth : defaults.depth;
|
||||
options.arrayLimit = typeof options.arrayLimit === 'number' ? options.arrayLimit : defaults.arrayLimit;
|
||||
options.parseArrays = options.parseArrays !== false;
|
||||
options.decoder = typeof options.decoder === 'function' ? options.decoder : defaults.decoder;
|
||||
options.allowDots = typeof options.allowDots === 'boolean' ? options.allowDots : defaults.allowDots;
|
||||
options.plainObjects = typeof options.plainObjects === 'boolean' ? options.plainObjects : defaults.plainObjects;
|
||||
options.allowPrototypes = typeof options.allowPrototypes === 'boolean' ? options.allowPrototypes : defaults.allowPrototypes;
|
||||
options.parameterLimit = typeof options.parameterLimit === 'number' ? options.parameterLimit : defaults.parameterLimit;
|
||||
options.strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;
|
||||
|
||||
if (str === '' || str === null || typeof str === 'undefined') {
|
||||
return options.plainObjects ? Object.create(null) : {};
|
||||
|
|
|
|||
157
node_modules/qs/lib/stringify.js
generated
vendored
157
node_modules/qs/lib/stringify.js
generated
vendored
|
|
@ -2,13 +2,11 @@
|
|||
|
||||
var utils = require('./utils');
|
||||
var formats = require('./formats');
|
||||
var has = Object.prototype.hasOwnProperty;
|
||||
|
||||
var arrayPrefixGenerators = {
|
||||
brackets: function brackets(prefix) { // eslint-disable-line func-name-matching
|
||||
return prefix + '[]';
|
||||
},
|
||||
comma: 'comma',
|
||||
indices: function indices(prefix, key) { // eslint-disable-line func-name-matching
|
||||
return prefix + '[' + key + ']';
|
||||
},
|
||||
|
|
@ -17,26 +15,13 @@ var arrayPrefixGenerators = {
|
|||
}
|
||||
};
|
||||
|
||||
var isArray = Array.isArray;
|
||||
var push = Array.prototype.push;
|
||||
var pushToArray = function (arr, valueOrArray) {
|
||||
push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);
|
||||
};
|
||||
|
||||
var toISO = Date.prototype.toISOString;
|
||||
|
||||
var defaults = {
|
||||
addQueryPrefix: false,
|
||||
allowDots: false,
|
||||
charset: 'utf-8',
|
||||
charsetSentinel: false,
|
||||
delimiter: '&',
|
||||
encode: true,
|
||||
encoder: utils.encode,
|
||||
encodeValuesOnly: false,
|
||||
formatter: formats.formatters[formats['default']],
|
||||
// deprecated
|
||||
indices: false,
|
||||
serializeDate: function serializeDate(date) { // eslint-disable-line func-name-matching
|
||||
return toISO.call(date);
|
||||
},
|
||||
|
|
@ -56,21 +41,16 @@ var stringify = function stringify( // eslint-disable-line func-name-matching
|
|||
allowDots,
|
||||
serializeDate,
|
||||
formatter,
|
||||
encodeValuesOnly,
|
||||
charset
|
||||
encodeValuesOnly
|
||||
) {
|
||||
var obj = object;
|
||||
if (typeof filter === 'function') {
|
||||
obj = filter(prefix, obj);
|
||||
} else if (obj instanceof Date) {
|
||||
obj = serializeDate(obj);
|
||||
} else if (generateArrayPrefix === 'comma' && isArray(obj)) {
|
||||
obj = obj.join(',');
|
||||
}
|
||||
|
||||
if (obj === null) {
|
||||
} else if (obj === null) {
|
||||
if (strictNullHandling) {
|
||||
return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset) : prefix;
|
||||
return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder) : prefix;
|
||||
}
|
||||
|
||||
obj = '';
|
||||
|
|
@ -78,8 +58,8 @@ var stringify = function stringify( // eslint-disable-line func-name-matching
|
|||
|
||||
if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || utils.isBuffer(obj)) {
|
||||
if (encoder) {
|
||||
var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset);
|
||||
return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset))];
|
||||
var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder);
|
||||
return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder))];
|
||||
}
|
||||
return [formatter(prefix) + '=' + formatter(String(obj))];
|
||||
}
|
||||
|
|
@ -91,7 +71,7 @@ var stringify = function stringify( // eslint-disable-line func-name-matching
|
|||
}
|
||||
|
||||
var objKeys;
|
||||
if (isArray(filter)) {
|
||||
if (Array.isArray(filter)) {
|
||||
objKeys = filter;
|
||||
} else {
|
||||
var keys = Object.keys(obj);
|
||||
|
|
@ -105,10 +85,10 @@ var stringify = function stringify( // eslint-disable-line func-name-matching
|
|||
continue;
|
||||
}
|
||||
|
||||
if (isArray(obj)) {
|
||||
pushToArray(values, stringify(
|
||||
if (Array.isArray(obj)) {
|
||||
values = values.concat(stringify(
|
||||
obj[key],
|
||||
typeof generateArrayPrefix === 'function' ? generateArrayPrefix(prefix, key) : prefix,
|
||||
generateArrayPrefix(prefix, key),
|
||||
generateArrayPrefix,
|
||||
strictNullHandling,
|
||||
skipNulls,
|
||||
|
|
@ -118,11 +98,10 @@ var stringify = function stringify( // eslint-disable-line func-name-matching
|
|||
allowDots,
|
||||
serializeDate,
|
||||
formatter,
|
||||
encodeValuesOnly,
|
||||
charset
|
||||
encodeValuesOnly
|
||||
));
|
||||
} else {
|
||||
pushToArray(values, stringify(
|
||||
values = values.concat(stringify(
|
||||
obj[key],
|
||||
prefix + (allowDots ? '.' + key : '[' + key + ']'),
|
||||
generateArrayPrefix,
|
||||
|
|
@ -134,8 +113,7 @@ var stringify = function stringify( // eslint-disable-line func-name-matching
|
|||
allowDots,
|
||||
serializeDate,
|
||||
formatter,
|
||||
encodeValuesOnly,
|
||||
charset
|
||||
encodeValuesOnly
|
||||
));
|
||||
}
|
||||
}
|
||||
|
|
@ -143,63 +121,36 @@ var stringify = function stringify( // eslint-disable-line func-name-matching
|
|||
return values;
|
||||
};
|
||||
|
||||
var normalizeStringifyOptions = function normalizeStringifyOptions(opts) {
|
||||
if (!opts) {
|
||||
return defaults;
|
||||
}
|
||||
module.exports = function (object, opts) {
|
||||
var obj = object;
|
||||
var options = opts ? utils.assign({}, opts) : {};
|
||||
|
||||
if (opts.encoder !== null && opts.encoder !== undefined && typeof opts.encoder !== 'function') {
|
||||
if (options.encoder !== null && options.encoder !== undefined && typeof options.encoder !== 'function') {
|
||||
throw new TypeError('Encoder has to be a function.');
|
||||
}
|
||||
|
||||
var charset = opts.charset || defaults.charset;
|
||||
if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
|
||||
throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
|
||||
}
|
||||
|
||||
var format = formats['default'];
|
||||
if (typeof opts.format !== 'undefined') {
|
||||
if (!has.call(formats.formatters, opts.format)) {
|
||||
var delimiter = typeof options.delimiter === 'undefined' ? defaults.delimiter : options.delimiter;
|
||||
var strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;
|
||||
var skipNulls = typeof options.skipNulls === 'boolean' ? options.skipNulls : defaults.skipNulls;
|
||||
var encode = typeof options.encode === 'boolean' ? options.encode : defaults.encode;
|
||||
var encoder = typeof options.encoder === 'function' ? options.encoder : defaults.encoder;
|
||||
var sort = typeof options.sort === 'function' ? options.sort : null;
|
||||
var allowDots = typeof options.allowDots === 'undefined' ? false : options.allowDots;
|
||||
var serializeDate = typeof options.serializeDate === 'function' ? options.serializeDate : defaults.serializeDate;
|
||||
var encodeValuesOnly = typeof options.encodeValuesOnly === 'boolean' ? options.encodeValuesOnly : defaults.encodeValuesOnly;
|
||||
if (typeof options.format === 'undefined') {
|
||||
options.format = formats['default'];
|
||||
} else if (!Object.prototype.hasOwnProperty.call(formats.formatters, options.format)) {
|
||||
throw new TypeError('Unknown format option provided.');
|
||||
}
|
||||
format = opts.format;
|
||||
}
|
||||
var formatter = formats.formatters[format];
|
||||
|
||||
var filter = defaults.filter;
|
||||
if (typeof opts.filter === 'function' || isArray(opts.filter)) {
|
||||
filter = opts.filter;
|
||||
}
|
||||
|
||||
return {
|
||||
addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,
|
||||
allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
|
||||
charset: charset,
|
||||
charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
|
||||
delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,
|
||||
encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,
|
||||
encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,
|
||||
encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
|
||||
filter: filter,
|
||||
formatter: formatter,
|
||||
serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,
|
||||
skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,
|
||||
sort: typeof opts.sort === 'function' ? opts.sort : null,
|
||||
strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
|
||||
};
|
||||
};
|
||||
|
||||
module.exports = function (object, opts) {
|
||||
var obj = object;
|
||||
var options = normalizeStringifyOptions(opts);
|
||||
|
||||
var formatter = formats.formatters[options.format];
|
||||
var objKeys;
|
||||
var filter;
|
||||
|
||||
if (typeof options.filter === 'function') {
|
||||
filter = options.filter;
|
||||
obj = filter('', obj);
|
||||
} else if (isArray(options.filter)) {
|
||||
} else if (Array.isArray(options.filter)) {
|
||||
filter = options.filter;
|
||||
objKeys = filter;
|
||||
}
|
||||
|
|
@ -211,10 +162,10 @@ module.exports = function (object, opts) {
|
|||
}
|
||||
|
||||
var arrayFormat;
|
||||
if (opts && opts.arrayFormat in arrayPrefixGenerators) {
|
||||
arrayFormat = opts.arrayFormat;
|
||||
} else if (opts && 'indices' in opts) {
|
||||
arrayFormat = opts.indices ? 'indices' : 'repeat';
|
||||
if (options.arrayFormat in arrayPrefixGenerators) {
|
||||
arrayFormat = options.arrayFormat;
|
||||
} else if ('indices' in options) {
|
||||
arrayFormat = options.indices ? 'indices' : 'repeat';
|
||||
} else {
|
||||
arrayFormat = 'indices';
|
||||
}
|
||||
|
|
@ -225,45 +176,35 @@ module.exports = function (object, opts) {
|
|||
objKeys = Object.keys(obj);
|
||||
}
|
||||
|
||||
if (options.sort) {
|
||||
objKeys.sort(options.sort);
|
||||
if (sort) {
|
||||
objKeys.sort(sort);
|
||||
}
|
||||
|
||||
for (var i = 0; i < objKeys.length; ++i) {
|
||||
var key = objKeys[i];
|
||||
|
||||
if (options.skipNulls && obj[key] === null) {
|
||||
if (skipNulls && obj[key] === null) {
|
||||
continue;
|
||||
}
|
||||
pushToArray(keys, stringify(
|
||||
|
||||
keys = keys.concat(stringify(
|
||||
obj[key],
|
||||
key,
|
||||
generateArrayPrefix,
|
||||
options.strictNullHandling,
|
||||
options.skipNulls,
|
||||
options.encode ? options.encoder : null,
|
||||
options.filter,
|
||||
options.sort,
|
||||
options.allowDots,
|
||||
options.serializeDate,
|
||||
options.formatter,
|
||||
options.encodeValuesOnly,
|
||||
options.charset
|
||||
strictNullHandling,
|
||||
skipNulls,
|
||||
encode ? encoder : null,
|
||||
filter,
|
||||
sort,
|
||||
allowDots,
|
||||
serializeDate,
|
||||
formatter,
|
||||
encodeValuesOnly
|
||||
));
|
||||
}
|
||||
|
||||
var joined = keys.join(options.delimiter);
|
||||
var joined = keys.join(delimiter);
|
||||
var prefix = options.addQueryPrefix === true ? '?' : '';
|
||||
|
||||
if (options.charsetSentinel) {
|
||||
if (options.charset === 'iso-8859-1') {
|
||||
// encodeURIComponent('✓'), the "numeric entity" representation of a checkmark
|
||||
prefix += 'utf8=%26%2310003%3B&';
|
||||
} else {
|
||||
// encodeURIComponent('✓')
|
||||
prefix += 'utf8=%E2%9C%93&';
|
||||
}
|
||||
}
|
||||
|
||||
return joined.length > 0 ? prefix + joined : '';
|
||||
};
|
||||
|
|
|
|||
61
node_modules/qs/lib/utils.js
generated
vendored
61
node_modules/qs/lib/utils.js
generated
vendored
|
|
@ -1,7 +1,6 @@
|
|||
'use strict';
|
||||
|
||||
var has = Object.prototype.hasOwnProperty;
|
||||
var isArray = Array.isArray;
|
||||
|
||||
var hexTable = (function () {
|
||||
var array = [];
|
||||
|
|
@ -13,11 +12,13 @@ var hexTable = (function () {
|
|||
}());
|
||||
|
||||
var compactQueue = function compactQueue(queue) {
|
||||
while (queue.length > 1) {
|
||||
var item = queue.pop();
|
||||
var obj = item.obj[item.prop];
|
||||
var obj;
|
||||
|
||||
if (isArray(obj)) {
|
||||
while (queue.length) {
|
||||
var item = queue.pop();
|
||||
obj = item.obj[item.prop];
|
||||
|
||||
if (Array.isArray(obj)) {
|
||||
var compacted = [];
|
||||
|
||||
for (var j = 0; j < obj.length; ++j) {
|
||||
|
|
@ -29,6 +30,8 @@ var compactQueue = function compactQueue(queue) {
|
|||
item.obj[item.prop] = compacted;
|
||||
}
|
||||
}
|
||||
|
||||
return obj;
|
||||
};
|
||||
|
||||
var arrayToObject = function arrayToObject(source, options) {
|
||||
|
|
@ -48,10 +51,10 @@ var merge = function merge(target, source, options) {
|
|||
}
|
||||
|
||||
if (typeof source !== 'object') {
|
||||
if (isArray(target)) {
|
||||
if (Array.isArray(target)) {
|
||||
target.push(source);
|
||||
} else if (target && typeof target === 'object') {
|
||||
if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {
|
||||
} else if (typeof target === 'object') {
|
||||
if (options.plainObjects || options.allowPrototypes || !has.call(Object.prototype, source)) {
|
||||
target[source] = true;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -61,21 +64,20 @@ var merge = function merge(target, source, options) {
|
|||
return target;
|
||||
}
|
||||
|
||||
if (!target || typeof target !== 'object') {
|
||||
if (typeof target !== 'object') {
|
||||
return [target].concat(source);
|
||||
}
|
||||
|
||||
var mergeTarget = target;
|
||||
if (isArray(target) && !isArray(source)) {
|
||||
if (Array.isArray(target) && !Array.isArray(source)) {
|
||||
mergeTarget = arrayToObject(target, options);
|
||||
}
|
||||
|
||||
if (isArray(target) && isArray(source)) {
|
||||
if (Array.isArray(target) && Array.isArray(source)) {
|
||||
source.forEach(function (item, i) {
|
||||
if (has.call(target, i)) {
|
||||
var targetItem = target[i];
|
||||
if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {
|
||||
target[i] = merge(targetItem, item, options);
|
||||
if (target[i] && typeof target[i] === 'object') {
|
||||
target[i] = merge(target[i], item, options);
|
||||
} else {
|
||||
target.push(item);
|
||||
}
|
||||
|
|
@ -105,21 +107,15 @@ var assign = function assignSingleSource(target, source) {
|
|||
}, target);
|
||||
};
|
||||
|
||||
var decode = function (str, decoder, charset) {
|
||||
var strWithoutPlus = str.replace(/\+/g, ' ');
|
||||
if (charset === 'iso-8859-1') {
|
||||
// unescape never throws, no try...catch needed:
|
||||
return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
|
||||
}
|
||||
// utf-8
|
||||
var decode = function (str) {
|
||||
try {
|
||||
return decodeURIComponent(strWithoutPlus);
|
||||
return decodeURIComponent(str.replace(/\+/g, ' '));
|
||||
} catch (e) {
|
||||
return strWithoutPlus;
|
||||
return str;
|
||||
}
|
||||
};
|
||||
|
||||
var encode = function encode(str, defaultEncoder, charset) {
|
||||
var encode = function encode(str) {
|
||||
// This code was originally written by Brian White (mscdex) for the io.js core querystring library.
|
||||
// It has been adapted here for stricter adherence to RFC 3986
|
||||
if (str.length === 0) {
|
||||
|
|
@ -128,12 +124,6 @@ var encode = function encode(str, defaultEncoder, charset) {
|
|||
|
||||
var string = typeof str === 'string' ? str : String(str);
|
||||
|
||||
if (charset === 'iso-8859-1') {
|
||||
return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {
|
||||
return '%26%23' + parseInt($0.slice(2), 16) + '%3B';
|
||||
});
|
||||
}
|
||||
|
||||
var out = '';
|
||||
for (var i = 0; i < string.length; ++i) {
|
||||
var c = string.charCodeAt(i);
|
||||
|
|
@ -196,9 +186,7 @@ var compact = function compact(value) {
|
|||
}
|
||||
}
|
||||
|
||||
compactQueue(queue);
|
||||
|
||||
return value;
|
||||
return compactQueue(queue);
|
||||
};
|
||||
|
||||
var isRegExp = function isRegExp(obj) {
|
||||
|
|
@ -206,21 +194,16 @@ var isRegExp = function isRegExp(obj) {
|
|||
};
|
||||
|
||||
var isBuffer = function isBuffer(obj) {
|
||||
if (!obj || typeof obj !== 'object') {
|
||||
if (obj === null || typeof obj === 'undefined') {
|
||||
return false;
|
||||
}
|
||||
|
||||
return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
|
||||
};
|
||||
|
||||
var combine = function combine(a, b) {
|
||||
return [].concat(a, b);
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
arrayToObject: arrayToObject,
|
||||
assign: assign,
|
||||
combine: combine,
|
||||
compact: compact,
|
||||
decode: decode,
|
||||
encode: encode,
|
||||
|
|
|
|||
51
node_modules/qs/package.json
generated
vendored
51
node_modules/qs/package.json
generated
vendored
|
|
@ -1,28 +1,27 @@
|
|||
{
|
||||
"_from": "qs@6.7.0",
|
||||
"_id": "qs@6.7.0",
|
||||
"_from": "qs@~6.5.2",
|
||||
"_id": "qs@6.5.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
|
||||
"_integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
|
||||
"_location": "/qs",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "qs@6.7.0",
|
||||
"raw": "qs@~6.5.2",
|
||||
"name": "qs",
|
||||
"escapedName": "qs",
|
||||
"rawSpec": "6.7.0",
|
||||
"rawSpec": "~6.5.2",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "6.7.0"
|
||||
"fetchSpec": "~6.5.2"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/body-parser",
|
||||
"/express"
|
||||
"/request"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
|
||||
"_shasum": "41dc1a015e3d581f1621776be31afb2876a9b1bc",
|
||||
"_spec": "qs@6.7.0",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
|
||||
"_shasum": "cb3ae806e8740444584ef154ce8ee98d403f3e36",
|
||||
"_spec": "qs@~6.5.2",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\request",
|
||||
"bugs": {
|
||||
"url": "https://github.com/ljharb/qs/issues"
|
||||
},
|
||||
|
|
@ -38,20 +37,18 @@
|
|||
"deprecated": false,
|
||||
"description": "A querystring parser that supports nesting and arrays, with a depth limit",
|
||||
"devDependencies": {
|
||||
"@ljharb/eslint-config": "^13.1.1",
|
||||
"browserify": "^16.2.3",
|
||||
"covert": "^1.1.1",
|
||||
"@ljharb/eslint-config": "^12.2.1",
|
||||
"browserify": "^16.2.0",
|
||||
"covert": "^1.1.0",
|
||||
"editorconfig-tools": "^0.1.1",
|
||||
"eslint": "^5.15.3",
|
||||
"eslint": "^4.19.1",
|
||||
"evalmd": "^0.0.17",
|
||||
"for-each": "^0.3.3",
|
||||
"iconv-lite": "^0.4.24",
|
||||
"iconv-lite": "^0.4.21",
|
||||
"mkdirp": "^0.5.1",
|
||||
"object-inspect": "^1.6.0",
|
||||
"qs-iconv": "^1.0.4",
|
||||
"safe-publish-latest": "^1.1.2",
|
||||
"safe-publish-latest": "^1.1.1",
|
||||
"safer-buffer": "^2.1.2",
|
||||
"tape": "^4.10.1"
|
||||
"tape": "^4.9.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.6"
|
||||
|
|
@ -59,11 +56,7 @@
|
|||
"homepage": "https://github.com/ljharb/qs",
|
||||
"keywords": [
|
||||
"querystring",
|
||||
"qs",
|
||||
"query",
|
||||
"url",
|
||||
"parse",
|
||||
"stringify"
|
||||
"qs"
|
||||
],
|
||||
"license": "BSD-3-Clause",
|
||||
"main": "lib/index.js",
|
||||
|
|
@ -76,12 +69,12 @@
|
|||
"coverage": "covert test",
|
||||
"dist": "mkdirp dist && browserify --standalone Qs lib/index.js > dist/qs.js",
|
||||
"lint": "eslint lib/*.js test/*.js",
|
||||
"postlint": "editorconfig-tools check * lib/* test/*",
|
||||
"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.7.0"
|
||||
"version": "6.5.2"
|
||||
}
|
||||
|
|
|
|||
2
node_modules/qs/test/.eslintrc
generated
vendored
2
node_modules/qs/test/.eslintrc
generated
vendored
|
|
@ -3,9 +3,7 @@
|
|||
"array-bracket-newline": 0,
|
||||
"array-element-newline": 0,
|
||||
"consistent-return": 2,
|
||||
"function-paren-newline": 0,
|
||||
"max-lines": 0,
|
||||
"max-lines-per-function": 0,
|
||||
"max-nested-callbacks": [2, 3],
|
||||
"max-statements": 0,
|
||||
"no-buffer-constructor": 0,
|
||||
|
|
|
|||
108
node_modules/qs/test/parse.js
generated
vendored
108
node_modules/qs/test/parse.js
generated
vendored
|
|
@ -237,14 +237,6 @@ test('parse()', function (t) {
|
|||
st.end();
|
||||
});
|
||||
|
||||
t.test('parses jquery-param strings', function (st) {
|
||||
// readable = 'filter[0][]=int1&filter[0][]==&filter[0][]=77&filter[]=and&filter[2][]=int2&filter[2][]==&filter[2][]=8'
|
||||
var encoded = 'filter%5B0%5D%5B%5D=int1&filter%5B0%5D%5B%5D=%3D&filter%5B0%5D%5B%5D=77&filter%5B%5D=and&filter%5B2%5D%5B%5D=int2&filter%5B2%5D%5B%5D=%3D&filter%5B2%5D%5B%5D=8';
|
||||
var expected = { filter: [['int1', '=', '77'], 'and', ['int2', '=', '8']] };
|
||||
st.deepEqual(qs.parse(encoded), expected);
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('continues parsing when no parent is found', function (st) {
|
||||
st.deepEqual(qs.parse('[]=&a=b'), { 0: '', a: 'b' });
|
||||
st.deepEqual(qs.parse('[]&a=b', { strictNullHandling: true }), { 0: null, a: 'b' });
|
||||
|
|
@ -265,7 +257,7 @@ test('parse()', function (t) {
|
|||
st.end();
|
||||
});
|
||||
|
||||
t.test('should not throw when a native prototype has an enumerable property', function (st) {
|
||||
t.test('should not throw when a native prototype has an enumerable property', { parallel: false }, function (st) {
|
||||
Object.prototype.crash = '';
|
||||
Array.prototype.crash = '';
|
||||
st.doesNotThrow(qs.parse.bind(null, 'a=b'));
|
||||
|
|
@ -310,14 +302,7 @@ test('parse()', function (t) {
|
|||
});
|
||||
|
||||
t.test('allows disabling array parsing', function (st) {
|
||||
var indices = qs.parse('a[0]=b&a[1]=c', { parseArrays: false });
|
||||
st.deepEqual(indices, { a: { 0: 'b', 1: 'c' } });
|
||||
st.equal(Array.isArray(indices.a), false, 'parseArrays:false, indices case is not an array');
|
||||
|
||||
var emptyBrackets = qs.parse('a[]=b', { parseArrays: false });
|
||||
st.deepEqual(emptyBrackets, { a: { 0: 'b' } });
|
||||
st.equal(Array.isArray(emptyBrackets.a), false, 'parseArrays:false, empty brackets case is not an array');
|
||||
|
||||
st.deepEqual(qs.parse('a[0]=b&a[1]=c', { parseArrays: false }), { a: { 0: 'b', 1: 'c' } });
|
||||
st.end();
|
||||
});
|
||||
|
||||
|
|
@ -347,15 +332,6 @@ test('parse()', function (t) {
|
|||
st.end();
|
||||
});
|
||||
|
||||
t.test('parses string with comma as array divider', function (st) {
|
||||
st.deepEqual(qs.parse('foo=bar,tee', { comma: true }), { foo: ['bar', 'tee'] });
|
||||
st.deepEqual(qs.parse('foo[bar]=coffee,tee', { comma: true }), { foo: { bar: ['coffee', 'tee'] } });
|
||||
st.deepEqual(qs.parse('foo=', { comma: true }), { foo: '' });
|
||||
st.deepEqual(qs.parse('foo', { comma: true }), { foo: '' });
|
||||
st.deepEqual(qs.parse('foo', { comma: true, strictNullHandling: true }), { foo: null });
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('parses an object in dot notation', function (st) {
|
||||
var input = {
|
||||
'user.name': { 'pop[bob]': 3 },
|
||||
|
|
@ -564,7 +540,7 @@ test('parse()', function (t) {
|
|||
result.push(parseInt(parts[1], 16));
|
||||
parts = reg.exec(str);
|
||||
}
|
||||
return String(iconv.decode(SaferBuffer.from(result), 'shift_jis'));
|
||||
return iconv.decode(SaferBuffer.from(result), 'shift_jis').toString();
|
||||
}
|
||||
}), { 県: '大阪府' });
|
||||
st.end();
|
||||
|
|
@ -594,83 +570,5 @@ test('parse()', function (t) {
|
|||
st.end();
|
||||
});
|
||||
|
||||
t.test('throws if an invalid charset is specified', function (st) {
|
||||
st['throws'](function () {
|
||||
qs.parse('a=b', { charset: 'foobar' });
|
||||
}, new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined'));
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('parses an iso-8859-1 string if asked to', function (st) {
|
||||
st.deepEqual(qs.parse('%A2=%BD', { charset: 'iso-8859-1' }), { '¢': '½' });
|
||||
st.end();
|
||||
});
|
||||
|
||||
var urlEncodedCheckmarkInUtf8 = '%E2%9C%93';
|
||||
var urlEncodedOSlashInUtf8 = '%C3%B8';
|
||||
var urlEncodedNumCheckmark = '%26%2310003%3B';
|
||||
var urlEncodedNumSmiley = '%26%239786%3B';
|
||||
|
||||
t.test('prefers an utf-8 charset specified by the utf8 sentinel to a default charset of iso-8859-1', function (st) {
|
||||
st.deepEqual(qs.parse('utf8=' + urlEncodedCheckmarkInUtf8 + '&' + urlEncodedOSlashInUtf8 + '=' + urlEncodedOSlashInUtf8, { charsetSentinel: true, charset: 'iso-8859-1' }), { ø: 'ø' });
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('prefers an iso-8859-1 charset specified by the utf8 sentinel to a default charset of utf-8', function (st) {
|
||||
st.deepEqual(qs.parse('utf8=' + urlEncodedNumCheckmark + '&' + urlEncodedOSlashInUtf8 + '=' + urlEncodedOSlashInUtf8, { charsetSentinel: true, charset: 'utf-8' }), { 'ø': 'ø' });
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('does not require the utf8 sentinel to be defined before the parameters whose decoding it affects', function (st) {
|
||||
st.deepEqual(qs.parse('a=' + urlEncodedOSlashInUtf8 + '&utf8=' + urlEncodedNumCheckmark, { charsetSentinel: true, charset: 'utf-8' }), { a: 'ø' });
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('should ignore an utf8 sentinel with an unknown value', function (st) {
|
||||
st.deepEqual(qs.parse('utf8=foo&' + urlEncodedOSlashInUtf8 + '=' + urlEncodedOSlashInUtf8, { charsetSentinel: true, charset: 'utf-8' }), { ø: 'ø' });
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('uses the utf8 sentinel to switch to utf-8 when no default charset is given', function (st) {
|
||||
st.deepEqual(qs.parse('utf8=' + urlEncodedCheckmarkInUtf8 + '&' + urlEncodedOSlashInUtf8 + '=' + urlEncodedOSlashInUtf8, { charsetSentinel: true }), { ø: 'ø' });
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('uses the utf8 sentinel to switch to iso-8859-1 when no default charset is given', function (st) {
|
||||
st.deepEqual(qs.parse('utf8=' + urlEncodedNumCheckmark + '&' + urlEncodedOSlashInUtf8 + '=' + urlEncodedOSlashInUtf8, { charsetSentinel: true }), { 'ø': 'ø' });
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('interprets numeric entities in iso-8859-1 when `interpretNumericEntities`', function (st) {
|
||||
st.deepEqual(qs.parse('foo=' + urlEncodedNumSmiley, { charset: 'iso-8859-1', interpretNumericEntities: true }), { foo: '☺' });
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('handles a custom decoder returning `null`, in the `iso-8859-1` charset, when `interpretNumericEntities`', function (st) {
|
||||
st.deepEqual(qs.parse('foo=&bar=' + urlEncodedNumSmiley, {
|
||||
charset: 'iso-8859-1',
|
||||
decoder: function (str, defaultDecoder, charset) {
|
||||
return str ? defaultDecoder(str, defaultDecoder, charset) : null;
|
||||
},
|
||||
interpretNumericEntities: true
|
||||
}), { foo: null, bar: '☺' });
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('does not interpret numeric entities in iso-8859-1 when `interpretNumericEntities` is absent', function (st) {
|
||||
st.deepEqual(qs.parse('foo=' + urlEncodedNumSmiley, { charset: 'iso-8859-1' }), { foo: '☺' });
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('does not interpret numeric entities when the charset is utf-8, even when `interpretNumericEntities`', function (st) {
|
||||
st.deepEqual(qs.parse('foo=' + urlEncodedNumSmiley, { charset: 'utf-8', interpretNumericEntities: true }), { foo: '☺' });
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('does not interpret %uXXXX syntax in iso-8859-1 mode', function (st) {
|
||||
st.deepEqual(qs.parse('%u263A=%u263A', { charset: 'iso-8859-1' }), { '%u263A': '%u263A' });
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.end();
|
||||
});
|
||||
|
|
|
|||
86
node_modules/qs/test/stringify.js
generated
vendored
86
node_modules/qs/test/stringify.js
generated
vendored
|
|
@ -19,15 +19,6 @@ test('stringify()', function (t) {
|
|||
st.end();
|
||||
});
|
||||
|
||||
t.test('stringifies falsy values', function (st) {
|
||||
st.equal(qs.stringify(undefined), '');
|
||||
st.equal(qs.stringify(null), '');
|
||||
st.equal(qs.stringify(null, { strictNullHandling: true }), '');
|
||||
st.equal(qs.stringify(false), '');
|
||||
st.equal(qs.stringify(0), '');
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('adds query prefix', function (st) {
|
||||
st.equal(qs.stringify({ a: 'b' }, { addQueryPrefix: true }), '?a=b');
|
||||
st.end();
|
||||
|
|
@ -38,13 +29,6 @@ test('stringify()', function (t) {
|
|||
st.end();
|
||||
});
|
||||
|
||||
t.test('stringifies nested falsy values', function (st) {
|
||||
st.equal(qs.stringify({ a: { b: { c: null } } }), 'a%5Bb%5D%5Bc%5D=');
|
||||
st.equal(qs.stringify({ a: { b: { c: null } } }, { strictNullHandling: true }), 'a%5Bb%5D%5Bc%5D');
|
||||
st.equal(qs.stringify({ a: { b: { c: false } } }), 'a%5Bb%5D%5Bc%5D=false');
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('stringifies a nested object', function (st) {
|
||||
st.equal(qs.stringify({ a: { b: 'c' } }), 'a%5Bb%5D=c');
|
||||
st.equal(qs.stringify({ a: { b: { c: { d: 'e' } } } }), 'a%5Bb%5D%5Bc%5D%5Bd%5D=e');
|
||||
|
|
@ -68,11 +52,6 @@ test('stringify()', function (t) {
|
|||
'a%5B%5D=b&a%5B%5D=c&a%5B%5D=d',
|
||||
'brackets => brackets'
|
||||
);
|
||||
st.equal(
|
||||
qs.stringify({ a: ['b', 'c', 'd'] }, { arrayFormat: 'comma' }),
|
||||
'a=b%2Cc%2Cd',
|
||||
'comma => comma'
|
||||
);
|
||||
st.equal(
|
||||
qs.stringify({ a: ['b', 'c', 'd'] }),
|
||||
'a%5B0%5D=b&a%5B1%5D=c&a%5B2%5D=d',
|
||||
|
|
@ -99,7 +78,6 @@ test('stringify()', function (t) {
|
|||
t.test('stringifies a nested array value', function (st) {
|
||||
st.equal(qs.stringify({ a: { b: ['c', 'd'] } }, { arrayFormat: 'indices' }), 'a%5Bb%5D%5B0%5D=c&a%5Bb%5D%5B1%5D=d');
|
||||
st.equal(qs.stringify({ a: { b: ['c', 'd'] } }, { arrayFormat: 'brackets' }), 'a%5Bb%5D%5B%5D=c&a%5Bb%5D%5B%5D=d');
|
||||
st.equal(qs.stringify({ a: { b: ['c', 'd'] } }, { arrayFormat: 'comma' }), 'a%5Bb%5D=c%2Cd'); // a[b]=c,d
|
||||
st.equal(qs.stringify({ a: { b: ['c', 'd'] } }), 'a%5Bb%5D%5B0%5D=c&a%5Bb%5D%5B1%5D=d');
|
||||
st.end();
|
||||
});
|
||||
|
|
@ -121,14 +99,6 @@ test('stringify()', function (t) {
|
|||
'a.b[]=c&a.b[]=d',
|
||||
'brackets: stringifies with dots + brackets'
|
||||
);
|
||||
st.equal(
|
||||
qs.stringify(
|
||||
{ a: { b: ['c', 'd'] } },
|
||||
{ allowDots: true, encode: false, arrayFormat: 'comma' }
|
||||
),
|
||||
'a.b=c,d',
|
||||
'comma: stringifies with dots + comma'
|
||||
);
|
||||
st.equal(
|
||||
qs.stringify(
|
||||
{ a: { b: ['c', 'd'] } },
|
||||
|
|
@ -143,12 +113,12 @@ test('stringify()', function (t) {
|
|||
t.test('stringifies an object inside an array', function (st) {
|
||||
st.equal(
|
||||
qs.stringify({ a: [{ b: 'c' }] }, { arrayFormat: 'indices' }),
|
||||
'a%5B0%5D%5Bb%5D=c', // a[0][b]=c
|
||||
'a%5B0%5D%5Bb%5D=c',
|
||||
'indices => brackets'
|
||||
);
|
||||
st.equal(
|
||||
qs.stringify({ a: [{ b: 'c' }] }, { arrayFormat: 'brackets' }),
|
||||
'a%5B%5D%5Bb%5D=c', // a[][b]=c
|
||||
'a%5B%5D%5Bb%5D=c',
|
||||
'brackets => brackets'
|
||||
);
|
||||
st.equal(
|
||||
|
|
@ -616,38 +586,6 @@ test('stringify()', function (t) {
|
|||
st.end();
|
||||
});
|
||||
|
||||
t.test('throws if an invalid charset is specified', function (st) {
|
||||
st['throws'](function () {
|
||||
qs.stringify({ a: 'b' }, { charset: 'foobar' });
|
||||
}, new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined'));
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('respects a charset of iso-8859-1', function (st) {
|
||||
st.equal(qs.stringify({ æ: 'æ' }, { charset: 'iso-8859-1' }), '%E6=%E6');
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('encodes unrepresentable chars as numeric entities in iso-8859-1 mode', function (st) {
|
||||
st.equal(qs.stringify({ a: '☺' }, { charset: 'iso-8859-1' }), 'a=%26%239786%3B');
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('respects an explicit charset of utf-8 (the default)', function (st) {
|
||||
st.equal(qs.stringify({ a: 'æ' }, { charset: 'utf-8' }), 'a=%C3%A6');
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('adds the right sentinel when instructed to and the charset is utf-8', function (st) {
|
||||
st.equal(qs.stringify({ a: 'æ' }, { charsetSentinel: true, charset: 'utf-8' }), 'utf8=%E2%9C%93&a=%C3%A6');
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('adds the right sentinel when instructed to and the charset is iso-8859-1', function (st) {
|
||||
st.equal(qs.stringify({ a: 'æ' }, { charsetSentinel: true, charset: 'iso-8859-1' }), 'utf8=%26%2310003%3B&a=%E6');
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('does not mutate the options argument', function (st) {
|
||||
var options = {};
|
||||
qs.stringify({}, options);
|
||||
|
|
@ -655,25 +593,5 @@ test('stringify()', function (t) {
|
|||
st.end();
|
||||
});
|
||||
|
||||
t.test('strictNullHandling works with custom filter', function (st) {
|
||||
var filter = function (prefix, value) {
|
||||
return value;
|
||||
};
|
||||
|
||||
var options = { strictNullHandling: true, filter: filter };
|
||||
st.equal(qs.stringify({ key: null }, options), 'key');
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('strictNullHandling works with null serializeDate', function (st) {
|
||||
var serializeDate = function () {
|
||||
return null;
|
||||
};
|
||||
var options = { strictNullHandling: true, serializeDate: serializeDate };
|
||||
var date = new Date();
|
||||
st.equal(qs.stringify({ key: date }, options), 'key');
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.end();
|
||||
});
|
||||
|
|
|
|||
102
node_modules/qs/test/utils.js
generated
vendored
102
node_modules/qs/test/utils.js
generated
vendored
|
|
@ -1,16 +1,9 @@
|
|||
'use strict';
|
||||
|
||||
var test = require('tape');
|
||||
var inspect = require('object-inspect');
|
||||
var SaferBuffer = require('safer-buffer').Buffer;
|
||||
var forEach = require('for-each');
|
||||
var utils = require('../lib/utils');
|
||||
|
||||
test('merge()', function (t) {
|
||||
t.deepEqual(utils.merge(null, true), [null, true], 'merges true into null');
|
||||
|
||||
t.deepEqual(utils.merge(null, [42]), [null, 42], 'merges null into an array');
|
||||
|
||||
t.deepEqual(utils.merge({ a: 'b' }, { a: 'c' }), { a: ['b', 'c'] }, 'merges two objects with the same key');
|
||||
|
||||
var oneMerged = utils.merge({ foo: 'bar' }, { foo: { first: '123' } });
|
||||
|
|
@ -25,33 +18,6 @@ test('merge()', function (t) {
|
|||
var nestedArrays = utils.merge({ foo: ['baz'] }, { foo: ['bar', 'xyzzy'] });
|
||||
t.deepEqual(nestedArrays, { foo: ['baz', 'bar', 'xyzzy'] });
|
||||
|
||||
var noOptionsNonObjectSource = utils.merge({ foo: 'baz' }, 'bar');
|
||||
t.deepEqual(noOptionsNonObjectSource, { foo: 'baz', bar: true });
|
||||
|
||||
t.test(
|
||||
'avoids invoking array setters unnecessarily',
|
||||
{ skip: typeof Object.defineProperty !== 'function' },
|
||||
function (st) {
|
||||
var setCount = 0;
|
||||
var getCount = 0;
|
||||
var observed = [];
|
||||
Object.defineProperty(observed, 0, {
|
||||
get: function () {
|
||||
getCount += 1;
|
||||
return { bar: 'baz' };
|
||||
},
|
||||
set: function () { setCount += 1; }
|
||||
});
|
||||
utils.merge(observed, [null]);
|
||||
st.equal(setCount, 0);
|
||||
st.equal(getCount, 1);
|
||||
observed[0] = observed[0]; // eslint-disable-line no-self-assign
|
||||
st.equal(setCount, 1);
|
||||
st.equal(getCount, 2);
|
||||
st.end();
|
||||
}
|
||||
);
|
||||
|
||||
t.end();
|
||||
});
|
||||
|
||||
|
|
@ -66,71 +32,3 @@ test('assign()', function (t) {
|
|||
|
||||
t.end();
|
||||
});
|
||||
|
||||
test('combine()', function (t) {
|
||||
t.test('both arrays', function (st) {
|
||||
var a = [1];
|
||||
var b = [2];
|
||||
var combined = utils.combine(a, b);
|
||||
|
||||
st.deepEqual(a, [1], 'a is not mutated');
|
||||
st.deepEqual(b, [2], 'b is not mutated');
|
||||
st.notEqual(a, combined, 'a !== combined');
|
||||
st.notEqual(b, combined, 'b !== combined');
|
||||
st.deepEqual(combined, [1, 2], 'combined is a + b');
|
||||
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('one array, one non-array', function (st) {
|
||||
var aN = 1;
|
||||
var a = [aN];
|
||||
var bN = 2;
|
||||
var b = [bN];
|
||||
|
||||
var combinedAnB = utils.combine(aN, b);
|
||||
st.deepEqual(b, [bN], 'b is not mutated');
|
||||
st.notEqual(aN, combinedAnB, 'aN + b !== aN');
|
||||
st.notEqual(a, combinedAnB, 'aN + b !== a');
|
||||
st.notEqual(bN, combinedAnB, 'aN + b !== bN');
|
||||
st.notEqual(b, combinedAnB, 'aN + b !== b');
|
||||
st.deepEqual([1, 2], combinedAnB, 'first argument is array-wrapped when not an array');
|
||||
|
||||
var combinedABn = utils.combine(a, bN);
|
||||
st.deepEqual(a, [aN], 'a is not mutated');
|
||||
st.notEqual(aN, combinedABn, 'a + bN !== aN');
|
||||
st.notEqual(a, combinedABn, 'a + bN !== a');
|
||||
st.notEqual(bN, combinedABn, 'a + bN !== bN');
|
||||
st.notEqual(b, combinedABn, 'a + bN !== b');
|
||||
st.deepEqual([1, 2], combinedABn, 'second argument is array-wrapped when not an array');
|
||||
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('neither is an array', function (st) {
|
||||
var combined = utils.combine(1, 2);
|
||||
st.notEqual(1, combined, '1 + 2 !== 1');
|
||||
st.notEqual(2, combined, '1 + 2 !== 2');
|
||||
st.deepEqual([1, 2], combined, 'both arguments are array-wrapped when not an array');
|
||||
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.end();
|
||||
});
|
||||
|
||||
test('isBuffer()', function (t) {
|
||||
forEach([null, undefined, true, false, '', 'abc', 42, 0, NaN, {}, [], function () {}, /a/g], function (x) {
|
||||
t.equal(utils.isBuffer(x), false, inspect(x) + ' is not a buffer');
|
||||
});
|
||||
|
||||
var fakeBuffer = { constructor: Buffer };
|
||||
t.equal(utils.isBuffer(fakeBuffer), false, 'fake buffer is not a buffer');
|
||||
|
||||
var saferBuffer = SaferBuffer.from('abc');
|
||||
t.equal(utils.isBuffer(saferBuffer), true, 'SaferBuffer instance is a buffer');
|
||||
|
||||
var buffer = Buffer.from ? Buffer.from('abc') : new Buffer('abc');
|
||||
t.equal(utils.isBuffer(buffer), true, 'real Buffer instance is a buffer');
|
||||
t.end();
|
||||
});
|
||||
|
|
|
|||
16
node_modules/range-parser/package.json
generated
vendored
16
node_modules/range-parser/package.json
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_from": "range-parser@~1.2.1",
|
||||
"_from": "range-parser@^1.2.1",
|
||||
"_id": "range-parser@1.2.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
|
||||
|
|
@ -8,21 +8,23 @@
|
|||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "range-parser@~1.2.1",
|
||||
"raw": "range-parser@^1.2.1",
|
||||
"name": "range-parser",
|
||||
"escapedName": "range-parser",
|
||||
"rawSpec": "~1.2.1",
|
||||
"rawSpec": "^1.2.1",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "~1.2.1"
|
||||
"fetchSpec": "^1.2.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/express",
|
||||
"/send"
|
||||
"/karma",
|
||||
"/send",
|
||||
"/webpack-dev-middleware"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
|
||||
"_shasum": "3cf37023d199e1c24d1a55b84800c2f3e6468031",
|
||||
"_spec": "range-parser@~1.2.1",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_spec": "range-parser@^1.2.1",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\webpack-dev-middleware",
|
||||
"author": {
|
||||
"name": "TJ Holowaychuk",
|
||||
"email": "tj@vision-media.ca",
|
||||
|
|
|
|||
2
node_modules/raw-body/package.json
generated
vendored
2
node_modules/raw-body/package.json
generated
vendored
|
|
@ -21,7 +21,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
|
||||
"_shasum": "a1ce6fb9c9bc356ca52e89256ab59059e13d0332",
|
||||
"_spec": "raw-body@2.4.0",
|
||||
"_where": "D:\\tftapp\\node_modules\\body-parser",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\body-parser",
|
||||
"author": {
|
||||
"name": "Jonathan Ong",
|
||||
"email": "me@jongleberry.com",
|
||||
|
|
|
|||
43
node_modules/safe-buffer/package.json
generated
vendored
43
node_modules/safe-buffer/package.json
generated
vendored
|
|
@ -1,28 +1,55 @@
|
|||
{
|
||||
"_from": "safe-buffer@5.1.2",
|
||||
"_from": "safe-buffer@~5.1.1",
|
||||
"_id": "safe-buffer@5.1.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
|
||||
"_location": "/safe-buffer",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "safe-buffer@5.1.2",
|
||||
"raw": "safe-buffer@~5.1.1",
|
||||
"name": "safe-buffer",
|
||||
"escapedName": "safe-buffer",
|
||||
"rawSpec": "5.1.2",
|
||||
"rawSpec": "~5.1.1",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "5.1.2"
|
||||
"fetchSpec": "~5.1.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/browserify-aes",
|
||||
"/browserify-des",
|
||||
"/cipher-base",
|
||||
"/compression",
|
||||
"/content-disposition",
|
||||
"/express"
|
||||
"/convert-source-map",
|
||||
"/create-hmac",
|
||||
"/dns-packet",
|
||||
"/evp_bytestokey",
|
||||
"/express",
|
||||
"/hash-base",
|
||||
"/karma",
|
||||
"/md5.js",
|
||||
"/minipass",
|
||||
"/node-fetch-npm",
|
||||
"/pacote",
|
||||
"/parse-asn1",
|
||||
"/pbkdf2",
|
||||
"/public-encrypt",
|
||||
"/randombytes",
|
||||
"/randomfill",
|
||||
"/readable-stream",
|
||||
"/request",
|
||||
"/sha.js",
|
||||
"/string_decoder",
|
||||
"/tar",
|
||||
"/tunnel-agent",
|
||||
"/websocket-driver",
|
||||
"/ws"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||
"_shasum": "991ec69d296e0313747d59bdfd2b745c35f8828d",
|
||||
"_spec": "safe-buffer@5.1.2",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_spec": "safe-buffer@~5.1.1",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\readable-stream",
|
||||
"author": {
|
||||
"name": "Feross Aboukhadijeh",
|
||||
"email": "feross@feross.org",
|
||||
|
|
|
|||
17
node_modules/safer-buffer/package.json
generated
vendored
17
node_modules/safer-buffer/package.json
generated
vendored
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_from": "safer-buffer@>= 2.1.2 < 3",
|
||||
"_from": "safer-buffer@^2.0.2",
|
||||
"_id": "safer-buffer@2.1.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
|
||||
|
|
@ -8,20 +8,23 @@
|
|||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "safer-buffer@>= 2.1.2 < 3",
|
||||
"raw": "safer-buffer@^2.0.2",
|
||||
"name": "safer-buffer",
|
||||
"escapedName": "safer-buffer",
|
||||
"rawSpec": ">= 2.1.2 < 3",
|
||||
"rawSpec": "^2.0.2",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": ">= 2.1.2 < 3"
|
||||
"fetchSpec": "^2.0.2"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/iconv-lite"
|
||||
"/asn1",
|
||||
"/ecc-jsbn",
|
||||
"/iconv-lite",
|
||||
"/sshpk"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
||||
"_shasum": "44fa161b0187b9549dd84bb91802f9bd8385cd6a",
|
||||
"_spec": "safer-buffer@>= 2.1.2 < 3",
|
||||
"_where": "D:\\tftapp\\node_modules\\iconv-lite",
|
||||
"_spec": "safer-buffer@^2.0.2",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\sshpk",
|
||||
"author": {
|
||||
"name": "Nikita Skovoroda",
|
||||
"email": "chalkerx@gmail.com",
|
||||
|
|
|
|||
2
node_modules/send/node_modules/ms/package.json
generated
vendored
2
node_modules/send/node_modules/ms/package.json
generated
vendored
|
|
@ -21,7 +21,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
|
||||
"_shasum": "30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a",
|
||||
"_spec": "ms@2.1.1",
|
||||
"_where": "D:\\tftapp\\node_modules\\send",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\send",
|
||||
"bugs": {
|
||||
"url": "https://github.com/zeit/ms/issues"
|
||||
},
|
||||
|
|
|
|||
2
node_modules/send/package.json
generated
vendored
2
node_modules/send/package.json
generated
vendored
|
|
@ -22,7 +22,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
|
||||
"_shasum": "c1d8b059f7900f7466dd4938bdc44e11ddb376c8",
|
||||
"_spec": "send@0.17.1",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"author": {
|
||||
"name": "TJ Holowaychuk",
|
||||
"email": "tj@vision-media.ca"
|
||||
|
|
|
|||
2
node_modules/serve-static/package.json
generated
vendored
2
node_modules/serve-static/package.json
generated
vendored
|
|
@ -21,7 +21,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
|
||||
"_shasum": "666e636dc4f010f7ef29970a88a674320898b2f9",
|
||||
"_spec": "serve-static@1.14.1",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"author": {
|
||||
"name": "Douglas Christopher Wilson",
|
||||
"email": "doug@somethingdoug.com"
|
||||
|
|
|
|||
2
node_modules/setprototypeof/package.json
generated
vendored
2
node_modules/setprototypeof/package.json
generated
vendored
|
|
@ -22,7 +22,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
|
||||
"_shasum": "7e95acb24aa92f5885e0abef5ba131330d4ae683",
|
||||
"_spec": "setprototypeof@1.1.1",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"author": {
|
||||
"name": "Wes Todd"
|
||||
},
|
||||
|
|
|
|||
5
node_modules/statuses/package.json
generated
vendored
5
node_modules/statuses/package.json
generated
vendored
|
|
@ -19,12 +19,13 @@
|
|||
"/express",
|
||||
"/finalhandler",
|
||||
"/http-errors",
|
||||
"/send"
|
||||
"/send",
|
||||
"/serve-index/http-errors"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
|
||||
"_shasum": "161c7dac177659fd9811f43771fa99381478628c",
|
||||
"_spec": "statuses@~1.5.0",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"bugs": {
|
||||
"url": "https://github.com/jshttp/statuses/issues"
|
||||
},
|
||||
|
|
|
|||
2
node_modules/toidentifier/package.json
generated
vendored
2
node_modules/toidentifier/package.json
generated
vendored
|
|
@ -21,7 +21,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
|
||||
"_shasum": "7e1be3470f1e77948bc43d94a3c8f4d7752ba553",
|
||||
"_spec": "toidentifier@1.0.0",
|
||||
"_where": "D:\\tftapp\\node_modules\\http-errors",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\http-errors",
|
||||
"author": {
|
||||
"name": "Douglas Christopher Wilson",
|
||||
"email": "doug@somethingdoug.com"
|
||||
|
|
|
|||
2
node_modules/type-is/package.json
generated
vendored
2
node_modules/type-is/package.json
generated
vendored
|
|
@ -22,7 +22,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
|
||||
"_shasum": "4e552cd05df09467dcbc4ef739de89f2cf37c131",
|
||||
"_spec": "type-is@~1.6.18",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"bugs": {
|
||||
"url": "https://github.com/jshttp/type-is/issues"
|
||||
},
|
||||
|
|
|
|||
2
node_modules/unpipe/package.json
generated
vendored
2
node_modules/unpipe/package.json
generated
vendored
|
|
@ -22,7 +22,7 @@
|
|||
"_resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
|
||||
"_shasum": "b2bf4ee8514aae6165b4817829d21b2ef49904ec",
|
||||
"_spec": "unpipe@1.0.0",
|
||||
"_where": "D:\\tftapp\\node_modules\\raw-body",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\raw-body",
|
||||
"author": {
|
||||
"name": "Douglas Christopher Wilson",
|
||||
"email": "doug@somethingdoug.com"
|
||||
|
|
|
|||
3
node_modules/utils-merge/package.json
generated
vendored
3
node_modules/utils-merge/package.json
generated
vendored
|
|
@ -16,12 +16,13 @@
|
|||
"fetchSpec": "1.0.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/connect",
|
||||
"/express"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
|
||||
"_shasum": "9f95710f50a267947b2ccc124741c1028427e713",
|
||||
"_spec": "utils-merge@1.0.1",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\express",
|
||||
"author": {
|
||||
"name": "Jared Hanson",
|
||||
"email": "jaredhanson@gmail.com",
|
||||
|
|
|
|||
3
node_modules/vary/package.json
generated
vendored
3
node_modules/vary/package.json
generated
vendored
|
|
@ -16,12 +16,13 @@
|
|||
"fetchSpec": "~1.1.2"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/compression",
|
||||
"/express"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
|
||||
"_shasum": "2299f02c6ded30d4a5961b0b9f74524a18f634fc",
|
||||
"_spec": "vary@~1.1.2",
|
||||
"_where": "D:\\tftapp\\node_modules\\express",
|
||||
"_where": "D:\\TFTPaths\\node_modules\\compression",
|
||||
"author": {
|
||||
"name": "Douglas Christopher Wilson",
|
||||
"email": "doug@somethingdoug.com"
|
||||
|
|
|
|||
11695
package-lock.json
generated
11695
package-lock.json
generated
File diff suppressed because it is too large
Load diff
56
package.json
56
package.json
|
|
@ -1,20 +1,48 @@
|
|||
{
|
||||
"name": "TFTpaths",
|
||||
"version": "1.0.0",
|
||||
"description": "TFT Compositions Paths",
|
||||
"main": "index.js",
|
||||
"name": "tftpaths",
|
||||
"version": "0.0.0",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"start": "node index"
|
||||
"ng": "ng",
|
||||
"start": "ng serve",
|
||||
"build": "ng build",
|
||||
"test": "ng test",
|
||||
"lint": "ng lint",
|
||||
"e2e": "ng e2e"
|
||||
},
|
||||
"keywords": [
|
||||
"TFT",
|
||||
"TeamFight",
|
||||
"Tacticts"
|
||||
],
|
||||
"author": "Daniel Rodríguez Gómez",
|
||||
"license": "ISC",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"express": "^4.17.1"
|
||||
"@angular/animations": "~8.2.0",
|
||||
"@angular/common": "~8.2.0",
|
||||
"@angular/compiler": "~8.2.0",
|
||||
"@angular/core": "~8.2.0",
|
||||
"@angular/forms": "~8.2.0",
|
||||
"@angular/platform-browser": "~8.2.0",
|
||||
"@angular/platform-browser-dynamic": "~8.2.0",
|
||||
"@angular/router": "~8.2.0",
|
||||
"lodash": "^4.17.15",
|
||||
"rxjs": "~6.4.0",
|
||||
"tslib": "^1.10.0",
|
||||
"zone.js": "~0.9.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "~0.802.1",
|
||||
"@angular/cli": "~8.2.1",
|
||||
"@angular/compiler-cli": "~8.2.0",
|
||||
"@angular/language-service": "~8.2.0",
|
||||
"@types/node": "~8.9.4",
|
||||
"@types/jasmine": "~3.3.8",
|
||||
"@types/jasminewd2": "~2.0.3",
|
||||
"codelyzer": "^5.0.0",
|
||||
"jasmine-core": "~3.4.0",
|
||||
"jasmine-spec-reporter": "~4.2.1",
|
||||
"karma": "~4.1.0",
|
||||
"karma-chrome-launcher": "~2.2.0",
|
||||
"karma-coverage-istanbul-reporter": "~2.0.1",
|
||||
"karma-jasmine": "~2.0.1",
|
||||
"karma-jasmine-html-reporter": "^1.4.0",
|
||||
"protractor": "~5.4.0",
|
||||
"ts-node": "~7.0.0",
|
||||
"tslint": "~5.15.0",
|
||||
"typescript": "~3.5.3"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue