├── .DS_Store ├── .github └── workflows │ └── node.js.yml ├── LICENSE.md ├── README.md ├── app.js ├── demo.gif ├── index.html ├── main.css ├── node_modules ├── .bin │ ├── ejs │ ├── jake │ └── mime ├── accepts │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── ansi-styles │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── array-flatten │ ├── LICENSE │ ├── README.md │ ├── array-flatten.js │ └── package.json ├── async │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── bower.json │ ├── component.json │ ├── lib │ │ └── async.js │ ├── package.json │ └── support │ │ └── sync-package-managers.js ├── balanced-match │ ├── .npmignore │ ├── LICENSE.md │ ├── README.md │ ├── index.js │ └── package.json ├── body-parser │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── read.js │ │ └── types │ │ │ ├── json.js │ │ │ ├── raw.js │ │ │ ├── text.js │ │ │ └── urlencoded.js │ └── package.json ├── brace-expansion │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── bytes │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ └── package.json ├── chalk │ ├── index.js │ ├── index.js.flow │ ├── license │ ├── package.json │ ├── readme.md │ ├── templates.js │ └── types │ │ └── index.d.ts ├── color-convert │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── conversions.js │ ├── index.js │ ├── package.json │ └── route.js ├── color-name │ ├── .eslintrc.json │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── package.json │ └── test.js ├── concat-map │ ├── .travis.yml │ ├── LICENSE │ ├── README.markdown │ ├── example │ │ └── map.js │ ├── index.js │ ├── package.json │ └── test │ │ └── map.js ├── content-disposition │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── content-type │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── cookie-signature │ ├── .npmignore │ ├── History.md │ ├── Readme.md │ ├── index.js │ └── package.json ├── cookie │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── debug │ ├── .coveralls.yml │ ├── .eslintrc │ ├── .npmignore │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── component.json │ ├── karma.conf.js │ ├── node.js │ ├── package.json │ └── src │ │ ├── browser.js │ │ ├── debug.js │ │ ├── index.js │ │ ├── inspector-log.js │ │ └── node.js ├── depd │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ ├── lib │ │ ├── browser │ │ │ └── index.js │ │ └── compat │ │ │ ├── callsite-tostring.js │ │ │ ├── event-listener-count.js │ │ │ └── index.js │ └── package.json ├── destroy │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── ee-first │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── ejs │ ├── LICENSE │ ├── README.md │ ├── bin │ │ └── cli.js │ ├── ejs.js │ ├── ejs.min.js │ ├── jakefile.js │ ├── lib │ │ ├── ejs.js │ │ └── utils.js │ ├── package.json │ ├── postinstall.js │ └── usage.txt ├── encodeurl │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── escape-html │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ └── package.json ├── escape-string-regexp │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── etag │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── express │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ ├── lib │ │ ├── application.js │ │ ├── express.js │ │ ├── middleware │ │ │ ├── init.js │ │ │ └── query.js │ │ ├── request.js │ │ ├── response.js │ │ ├── router │ │ │ ├── index.js │ │ │ ├── layer.js │ │ │ └── route.js │ │ ├── utils.js │ │ └── view.js │ └── package.json ├── filelist │ ├── Jakefile │ ├── README.md │ ├── index.js │ └── package.json ├── finalhandler │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── forwarded │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── fresh │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── has-flag │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── http-errors │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── https │ └── package.json ├── iconv-lite │ ├── Changelog.md │ ├── LICENSE │ ├── README.md │ ├── encodings │ │ ├── dbcs-codec.js │ │ ├── dbcs-data.js │ │ ├── index.js │ │ ├── internal.js │ │ ├── sbcs-codec.js │ │ ├── sbcs-data-generated.js │ │ ├── sbcs-data.js │ │ ├── tables │ │ │ ├── big5-added.json │ │ │ ├── cp936.json │ │ │ ├── cp949.json │ │ │ ├── cp950.json │ │ │ ├── eucjp.json │ │ │ ├── gb18030-ranges.json │ │ │ ├── gbk-added.json │ │ │ └── shiftjis.json │ │ ├── utf16.js │ │ └── utf7.js │ ├── lib │ │ ├── bom-handling.js │ │ ├── extend-node.js │ │ ├── index.d.ts │ │ ├── index.js │ │ └── streams.js │ └── package.json ├── inherits │ ├── LICENSE │ ├── README.md │ ├── inherits.js │ ├── inherits_browser.js │ └── package.json ├── ipaddr.js │ ├── LICENSE │ ├── README.md │ ├── ipaddr.min.js │ ├── lib │ │ ├── ipaddr.js │ │ └── ipaddr.js.d.ts │ └── package.json ├── jake │ ├── Makefile │ ├── README.md │ ├── bin │ │ ├── bash_completion.sh │ │ └── cli.js │ ├── jakefile.js │ ├── lib │ │ ├── api.js │ │ ├── jake.js │ │ ├── loader.js │ │ ├── namespace.js │ │ ├── package_task.js │ │ ├── parseargs.js │ │ ├── program.js │ │ ├── publish_task.js │ │ ├── rule.js │ │ ├── task │ │ │ ├── directory_task.js │ │ │ ├── file_task.js │ │ │ ├── index.js │ │ │ └── task.js │ │ ├── test_task.js │ │ └── utils │ │ │ ├── file.js │ │ │ ├── index.js │ │ │ └── logger.js │ ├── package.json │ ├── test │ │ ├── integration │ │ │ ├── concurrent.js │ │ │ ├── file.js │ │ │ ├── file_task.js │ │ │ ├── helpers.js │ │ │ ├── jakefile.js │ │ │ ├── jakelib │ │ │ │ ├── concurrent.jake.js │ │ │ │ ├── publish.jake.js │ │ │ │ ├── required_module.jake.js │ │ │ │ └── rule.jake.js │ │ │ ├── publish_task.js │ │ │ ├── rule.js │ │ │ ├── selfdep.js │ │ │ └── task_base.js │ │ └── unit │ │ │ ├── jakefile.js │ │ │ ├── namespace.js │ │ │ └── parseargs.js │ └── usage.txt ├── media-typer │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── merge-descriptors │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── methods │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── mime-db │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── db.json │ ├── index.js │ └── package.json ├── mime-types │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── mime │ ├── .npmignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── cli.js │ ├── mime.js │ ├── package.json │ ├── src │ │ ├── build.js │ │ └── test.js │ └── types.json ├── minimatch │ ├── LICENSE │ ├── README.md │ ├── minimatch.js │ └── package.json ├── ms │ ├── index.js │ ├── license.md │ ├── package.json │ └── readme.md ├── negotiator │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── charset.js │ │ ├── encoding.js │ │ ├── language.js │ │ └── mediaType.js │ └── package.json ├── on-finished │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── parseurl │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── path-to-regexp │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ └── package.json ├── proxy-addr │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── qs │ ├── .editorconfig │ ├── .eslintignore │ ├── .eslintrc │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── dist │ │ └── qs.js │ ├── lib │ │ ├── formats.js │ │ ├── index.js │ │ ├── parse.js │ │ ├── stringify.js │ │ └── utils.js │ ├── package.json │ └── test │ │ ├── .eslintrc │ │ ├── index.js │ │ ├── parse.js │ │ ├── stringify.js │ │ └── utils.js ├── range-parser │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── raw-body │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.d.ts │ ├── index.js │ └── package.json ├── safe-buffer │ ├── LICENSE │ ├── README.md │ ├── index.d.ts │ ├── index.js │ └── package.json ├── safer-buffer │ ├── LICENSE │ ├── Porting-Buffer.md │ ├── Readme.md │ ├── dangerous.js │ ├── package.json │ ├── safer.js │ └── tests.js ├── send │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── node_modules │ │ └── ms │ │ │ ├── index.js │ │ │ ├── license.md │ │ │ ├── package.json │ │ │ └── readme.md │ └── package.json ├── serve-static │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── setprototypeof │ ├── LICENSE │ ├── README.md │ ├── index.d.ts │ ├── index.js │ ├── package.json │ └── test │ │ └── index.js ├── statuses │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── codes.json │ ├── index.js │ └── package.json ├── supports-color │ ├── browser.js │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── toidentifier │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── type-is │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── unpipe │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── utils-merge │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json └── vary │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── package-lock.json ├── package.json ├── public └── main.css └── views └── list.ejs /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhairyaostwal/Programmer-Jokes/0f5ea1220c18ec22931de562c18838e936c11120/.DS_Store -------------------------------------------------------------------------------- /.github/workflows/node.js.yml: -------------------------------------------------------------------------------- 1 | # This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node 2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions 3 | 4 | name: Node.js CI 5 | 6 | on: 7 | push: 8 | branches: [ master ] 9 | pull_request: 10 | branches: [ master ] 11 | 12 | jobs: 13 | build: 14 | 15 | runs-on: ubuntu-latest 16 | 17 | strategy: 18 | matrix: 19 | node-version: [10.x, 12.x, 14.x] 20 | 21 | steps: 22 | - uses: actions/checkout@v2 23 | - name: Use Node.js ${{ matrix.node-version }} 24 | uses: actions/setup-node@v1 25 | with: 26 | node-version: ${{ matrix.node-version }} 27 | - run: npm ci 28 | - run: npm run build --if-present 29 | - run: npm test 30 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Dhairya Ostwal 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

Programmer's Jokes

Jokes for Programmers 👨🏻‍💻 😂


2 |


3 |

4 | 5 | 6 | 7 | [![PRs Welcome](https://img.shields.io/badge/PRs-Welcome-brightyellow?&style=for-the-badge)](https://github.com/dhairyaostwal/Programmer-Jokes/pulls) 8 | [![Star Repo](https://img.shields.io/badge/Star--Repo-Thanks-ffc30b?&style=for-the-badge)](https://github.com/dhairyaostwal/Programmer-Jokes/stargazers) 9 | [![Built-with-love](https://img.shields.io/badge/built--with-♥-e11584?&style=for-the-badge)](#) 10 | 11 | 12 | ## Tech Stack Used 13 | 14 | ``` 15 | 16 | 1. Bootstrap 4 17 | 2. NodeJS(EJS, Express & related modules) 18 | 3. HTML 5 19 | 4. CSS 20 | 21 | ``` 22 | 23 | ## Run the app 24 | 25 | ``` 26 | 27 | 1. Install npm, express, body-parser, ejs & related packages 28 | 2. Open terminal ➡️ node app.js 29 | 3. Open localhost:3000 on your browser 30 | 4. Enjoy the app 🎉 31 | 5. Star the repo 😎 32 | 33 | ``` 34 | 35 | ## Support Me 36 | 37 | **Star the repo ⭐️ if you like 😄** 38 | 39 | ## Before you leave 🥺 40 | 41 | Let's connect on 42 | 43 | [![LinkedIn](https://img.shields.io/badge/-linkedin-blue?style=for-the-badge&logo=linkedin)](https://www.linkedin.com/in/dhairyaostwal/) [![Instagram](https://img.shields.io/badge/instagram-%23E4405F.svg?&style=for-the-badge&logo=instagram&logoColor=white)](https://www.instagram.com/dhairyaostwal/) [![Medium](https://img.shields.io/badge/-medium-black?style=for-the-badge&logo=medium)](https://medium.com/@dhairyaostwal) 44 | -------------------------------------------------------------------------------- /app.js: -------------------------------------------------------------------------------- 1 | 2 | const express = require('express'); 3 | const https = require('https'); 4 | const bodyParser = require('body-parser'); 5 | const { response } = require('express'); 6 | 7 | const app = express(); 8 | app.use(express.static(__dirname + '/public')); 9 | 10 | app.set('view engine', 'ejs'); 11 | 12 | app.get("/", function (req, res) { 13 | res.sendFile(__dirname + "/index.html"); 14 | }); 15 | 16 | app.use(bodyParser.urlencoded({ extended: true })); 17 | 18 | app.post("/", function (req, res) { 19 | console.log("Post Recieved."); 20 | 21 | // const url = "https://sv443.net/jokeapi/v2/joke/Programming?type=single"; 22 | // New url (down) 23 | const url = "https://official-joke-api.appspot.com/jokes/programming/random#"; 24 | https.get(url, function (response) { 25 | 26 | 27 | response.on("data", function (data) { 28 | const jokeData = JSON.parse(data); 29 | const progSetup = jokeData[0].setup; 30 | const progAns = jokeData[0].punchline; 31 | 32 | console.log(progSetup); 33 | 34 | // res.write("

"); 35 | // res.write(progJoke); 36 | // res.write("

"); 37 | // res.send(); 38 | res.render('list', {renderedJoke:progSetup, renderedAns:progAns}); 39 | 40 | }); 41 | }); 42 | }); 43 | 44 | app.listen(3000, function () { 45 | console.log("Server running on port 3000."); 46 | }); 47 | 48 | -------------------------------------------------------------------------------- /demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhairyaostwal/Programmer-Jokes/0f5ea1220c18ec22931de562c18838e936c11120/demo.gif -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | 11 | 12 | Programming Jokes 13 | 14 | 15 | 16 |
17 |
18 |

Programming Jokes

19 |

The world could fail without programmers and this is not a joke!

20 |
21 | 22 | 23 |
24 |
25 | 26 |
27 |
28 |
29 |
30 | 31 | 32 | -------------------------------------------------------------------------------- /main.css: -------------------------------------------------------------------------------- 1 | .btnalign{ 2 | text-align: center; 3 | } 4 | 5 | .h2edit{ 6 | text-transform: uppercase; 7 | font-size: 0.5rem; 8 | font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif; 9 | } -------------------------------------------------------------------------------- /node_modules/.bin/ejs: -------------------------------------------------------------------------------- 1 | ../ejs/bin/cli.js -------------------------------------------------------------------------------- /node_modules/.bin/jake: -------------------------------------------------------------------------------- 1 | ../jake/bin/cli.js -------------------------------------------------------------------------------- /node_modules/.bin/mime: -------------------------------------------------------------------------------- 1 | ../mime/cli.js -------------------------------------------------------------------------------- /node_modules/accepts/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Jonathan Ong 4 | Copyright (c) 2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/ansi-styles/license: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Sindre Sorhus (sindresorhus.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /node_modules/array-flatten/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/array-flatten/README.md: -------------------------------------------------------------------------------- 1 | # Array Flatten 2 | 3 | [![NPM version][npm-image]][npm-url] 4 | [![NPM downloads][downloads-image]][downloads-url] 5 | [![Build status][travis-image]][travis-url] 6 | [![Test coverage][coveralls-image]][coveralls-url] 7 | 8 | > Flatten an array of nested arrays into a single flat array. Accepts an optional depth. 9 | 10 | ## Installation 11 | 12 | ``` 13 | npm install array-flatten --save 14 | ``` 15 | 16 | ## Usage 17 | 18 | ```javascript 19 | var flatten = require('array-flatten') 20 | 21 | flatten([1, [2, [3, [4, [5], 6], 7], 8], 9]) 22 | //=> [1, 2, 3, 4, 5, 6, 7, 8, 9] 23 | 24 | flatten([1, [2, [3, [4, [5], 6], 7], 8], 9], 2) 25 | //=> [1, 2, 3, [4, [5], 6], 7, 8, 9] 26 | 27 | (function () { 28 | flatten(arguments) //=> [1, 2, 3] 29 | })(1, [2, 3]) 30 | ``` 31 | 32 | ## License 33 | 34 | MIT 35 | 36 | [npm-image]: https://img.shields.io/npm/v/array-flatten.svg?style=flat 37 | [npm-url]: https://npmjs.org/package/array-flatten 38 | [downloads-image]: https://img.shields.io/npm/dm/array-flatten.svg?style=flat 39 | [downloads-url]: https://npmjs.org/package/array-flatten 40 | [travis-image]: https://img.shields.io/travis/blakeembrey/array-flatten.svg?style=flat 41 | [travis-url]: https://travis-ci.org/blakeembrey/array-flatten 42 | [coveralls-image]: https://img.shields.io/coveralls/blakeembrey/array-flatten.svg?style=flat 43 | [coveralls-url]: https://coveralls.io/r/blakeembrey/array-flatten?branch=master 44 | -------------------------------------------------------------------------------- /node_modules/array-flatten/array-flatten.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | /** 4 | * Expose `arrayFlatten`. 5 | */ 6 | module.exports = arrayFlatten 7 | 8 | /** 9 | * Recursive flatten function with depth. 10 | * 11 | * @param {Array} array 12 | * @param {Array} result 13 | * @param {Number} depth 14 | * @return {Array} 15 | */ 16 | function flattenWithDepth (array, result, depth) { 17 | for (var i = 0; i < array.length; i++) { 18 | var value = array[i] 19 | 20 | if (depth > 0 && Array.isArray(value)) { 21 | flattenWithDepth(value, result, depth - 1) 22 | } else { 23 | result.push(value) 24 | } 25 | } 26 | 27 | return result 28 | } 29 | 30 | /** 31 | * Recursive flatten function. Omitting depth is slightly faster. 32 | * 33 | * @param {Array} array 34 | * @param {Array} result 35 | * @return {Array} 36 | */ 37 | function flattenForever (array, result) { 38 | for (var i = 0; i < array.length; i++) { 39 | var value = array[i] 40 | 41 | if (Array.isArray(value)) { 42 | flattenForever(value, result) 43 | } else { 44 | result.push(value) 45 | } 46 | } 47 | 48 | return result 49 | } 50 | 51 | /** 52 | * Flatten an array, with the ability to define a depth. 53 | * 54 | * @param {Array} array 55 | * @param {Number} depth 56 | * @return {Array} 57 | */ 58 | function arrayFlatten (array, depth) { 59 | if (depth == null) { 60 | return flattenForever(array, []) 61 | } 62 | 63 | return flattenWithDepth(array, [], depth) 64 | } 65 | -------------------------------------------------------------------------------- /node_modules/array-flatten/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "array-flatten@1.1.1", 3 | "_id": "array-flatten@1.1.1", 4 | "_inBundle": false, 5 | "_integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", 6 | "_location": "/array-flatten", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "array-flatten@1.1.1", 12 | "name": "array-flatten", 13 | "escapedName": "array-flatten", 14 | "rawSpec": "1.1.1", 15 | "saveSpec": null, 16 | "fetchSpec": "1.1.1" 17 | }, 18 | "_requiredBy": [ 19 | "/express" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 22 | "_shasum": "9a5f699051b1e7073328f2a008968b64ea2955d2", 23 | "_spec": "array-flatten@1.1.1", 24 | "_where": "/Users/dhairyaostwal/Desktop/jokesApp/node_modules/express", 25 | "author": { 26 | "name": "Blake Embrey", 27 | "email": "hello@blakeembrey.com", 28 | "url": "http://blakeembrey.me" 29 | }, 30 | "bugs": { 31 | "url": "https://github.com/blakeembrey/array-flatten/issues" 32 | }, 33 | "bundleDependencies": false, 34 | "deprecated": false, 35 | "description": "Flatten an array of nested arrays into a single flat array", 36 | "devDependencies": { 37 | "istanbul": "^0.3.13", 38 | "mocha": "^2.2.4", 39 | "pre-commit": "^1.0.7", 40 | "standard": "^3.7.3" 41 | }, 42 | "files": [ 43 | "array-flatten.js", 44 | "LICENSE" 45 | ], 46 | "homepage": "https://github.com/blakeembrey/array-flatten", 47 | "keywords": [ 48 | "array", 49 | "flatten", 50 | "arguments", 51 | "depth" 52 | ], 53 | "license": "MIT", 54 | "main": "array-flatten.js", 55 | "name": "array-flatten", 56 | "repository": { 57 | "type": "git", 58 | "url": "git://github.com/blakeembrey/array-flatten.git" 59 | }, 60 | "scripts": { 61 | "test": "istanbul cover _mocha -- -R spec" 62 | }, 63 | "version": "1.1.1" 64 | } 65 | -------------------------------------------------------------------------------- /node_modules/async/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | - "0.12" 5 | - "iojs" 6 | -------------------------------------------------------------------------------- /node_modules/async/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010-2014 Caolan McMahon 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /node_modules/async/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "async", 3 | "description": "Higher-order functions and common patterns for asynchronous code", 4 | "version": "0.9.2", 5 | "main": "lib/async.js", 6 | "keywords": [ 7 | "async", 8 | "callback", 9 | "utility", 10 | "module" 11 | ], 12 | "license": "MIT", 13 | "repository": { 14 | "type": "git", 15 | "url": "https://github.com/caolan/async.git" 16 | }, 17 | "devDependencies": { 18 | "nodeunit": ">0.0.0", 19 | "uglify-js": "1.2.x", 20 | "nodelint": ">0.0.0", 21 | "lodash": ">=2.4.1" 22 | }, 23 | "moduleType": [ 24 | "amd", 25 | "globals", 26 | "node" 27 | ], 28 | "ignore": [ 29 | "**/.*", 30 | "node_modules", 31 | "bower_components", 32 | "test", 33 | "tests" 34 | ], 35 | "authors": [ 36 | "Caolan McMahon" 37 | ] 38 | } -------------------------------------------------------------------------------- /node_modules/async/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "async", 3 | "description": "Higher-order functions and common patterns for asynchronous code", 4 | "version": "0.9.2", 5 | "keywords": [ 6 | "async", 7 | "callback", 8 | "utility", 9 | "module" 10 | ], 11 | "license": "MIT", 12 | "repository": "caolan/async", 13 | "scripts": [ 14 | "lib/async.js" 15 | ] 16 | } -------------------------------------------------------------------------------- /node_modules/async/support/sync-package-managers.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | // This should probably be its own module but complaints about bower/etc. 4 | // support keep coming up and I'd rather just enable the workflow here for now 5 | // and figure out where this should live later. -- @beaugunderson 6 | 7 | var fs = require('fs'); 8 | var _ = require('lodash'); 9 | 10 | var packageJson = require('../package.json'); 11 | 12 | var IGNORES = ['**/.*', 'node_modules', 'bower_components', 'test', 'tests']; 13 | var INCLUDES = ['lib/async.js', 'README.md', 'LICENSE']; 14 | var REPOSITORY_NAME = 'caolan/async'; 15 | 16 | packageJson.jam = { 17 | main: packageJson.main, 18 | include: INCLUDES, 19 | categories: ['Utilities'] 20 | }; 21 | 22 | packageJson.spm = { 23 | main: packageJson.main 24 | }; 25 | 26 | packageJson.volo = { 27 | main: packageJson.main, 28 | ignore: IGNORES 29 | }; 30 | 31 | var bowerSpecific = { 32 | moduleType: ['amd', 'globals', 'node'], 33 | ignore: IGNORES, 34 | authors: [packageJson.author] 35 | }; 36 | 37 | var bowerInclude = ['name', 'description', 'version', 'main', 'keywords', 38 | 'license', 'homepage', 'repository', 'devDependencies']; 39 | 40 | var componentSpecific = { 41 | repository: REPOSITORY_NAME, 42 | scripts: [packageJson.main] 43 | }; 44 | 45 | var componentInclude = ['name', 'description', 'version', 'keywords', 46 | 'license']; 47 | 48 | var bowerJson = _.merge({}, _.pick(packageJson, bowerInclude), bowerSpecific); 49 | var componentJson = _.merge({}, _.pick(packageJson, componentInclude), componentSpecific); 50 | 51 | fs.writeFileSync('./bower.json', JSON.stringify(bowerJson, null, 2)); 52 | fs.writeFileSync('./component.json', JSON.stringify(componentJson, null, 2)); 53 | fs.writeFileSync('./package.json', JSON.stringify(packageJson, null, 2)); 54 | -------------------------------------------------------------------------------- /node_modules/balanced-match/.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | .gitignore 3 | .travis.yml 4 | Makefile 5 | example.js 6 | -------------------------------------------------------------------------------- /node_modules/balanced-match/LICENSE.md: -------------------------------------------------------------------------------- 1 | (MIT) 2 | 3 | Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 9 | of the Software, and to permit persons to whom the Software is furnished to do 10 | so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/balanced-match/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = balanced; 3 | function balanced(a, b, str) { 4 | if (a instanceof RegExp) a = maybeMatch(a, str); 5 | if (b instanceof RegExp) b = maybeMatch(b, str); 6 | 7 | var r = range(a, b, str); 8 | 9 | return r && { 10 | start: r[0], 11 | end: r[1], 12 | pre: str.slice(0, r[0]), 13 | body: str.slice(r[0] + a.length, r[1]), 14 | post: str.slice(r[1] + b.length) 15 | }; 16 | } 17 | 18 | function maybeMatch(reg, str) { 19 | var m = str.match(reg); 20 | return m ? m[0] : null; 21 | } 22 | 23 | balanced.range = range; 24 | function range(a, b, str) { 25 | var begs, beg, left, right, result; 26 | var ai = str.indexOf(a); 27 | var bi = str.indexOf(b, ai + 1); 28 | var i = ai; 29 | 30 | if (ai >= 0 && bi > 0) { 31 | begs = []; 32 | left = str.length; 33 | 34 | while (i >= 0 && !result) { 35 | if (i == ai) { 36 | begs.push(i); 37 | ai = str.indexOf(a, i + 1); 38 | } else if (begs.length == 1) { 39 | result = [ begs.pop(), bi ]; 40 | } else { 41 | beg = begs.pop(); 42 | if (beg < left) { 43 | left = beg; 44 | right = bi; 45 | } 46 | 47 | bi = str.indexOf(b, i + 1); 48 | } 49 | 50 | i = ai < bi && ai >= 0 ? ai : bi; 51 | } 52 | 53 | if (begs.length) { 54 | result = [ left, right ]; 55 | } 56 | } 57 | 58 | return result; 59 | } 60 | -------------------------------------------------------------------------------- /node_modules/body-parser/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Jonathan Ong 4 | Copyright (c) 2014-2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/brace-expansion/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2013 Julian Gruber 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/bytes/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012-2014 TJ Holowaychuk 4 | Copyright (c) 2015 Jed Watson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/chalk/license: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Sindre Sorhus (sindresorhus.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /node_modules/color-convert/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # 1.0.0 - 2016-01-07 2 | 3 | - Removed: unused speed test 4 | - Added: Automatic routing between previously unsupported conversions 5 | ([#27](https://github.com/Qix-/color-convert/pull/27)) 6 | - Removed: `xxx2xxx()` and `xxx2xxxRaw()` functions 7 | ([#27](https://github.com/Qix-/color-convert/pull/27)) 8 | - Removed: `convert()` class 9 | ([#27](https://github.com/Qix-/color-convert/pull/27)) 10 | - Changed: all functions to lookup dictionary 11 | ([#27](https://github.com/Qix-/color-convert/pull/27)) 12 | - Changed: `ansi` to `ansi256` 13 | ([#27](https://github.com/Qix-/color-convert/pull/27)) 14 | - Fixed: argument grouping for functions requiring only one argument 15 | ([#27](https://github.com/Qix-/color-convert/pull/27)) 16 | 17 | # 0.6.0 - 2015-07-23 18 | 19 | - Added: methods to handle 20 | [ANSI](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors) 16/256 colors: 21 | - rgb2ansi16 22 | - rgb2ansi 23 | - hsl2ansi16 24 | - hsl2ansi 25 | - hsv2ansi16 26 | - hsv2ansi 27 | - hwb2ansi16 28 | - hwb2ansi 29 | - cmyk2ansi16 30 | - cmyk2ansi 31 | - keyword2ansi16 32 | - keyword2ansi 33 | - ansi162rgb 34 | - ansi162hsl 35 | - ansi162hsv 36 | - ansi162hwb 37 | - ansi162cmyk 38 | - ansi162keyword 39 | - ansi2rgb 40 | - ansi2hsl 41 | - ansi2hsv 42 | - ansi2hwb 43 | - ansi2cmyk 44 | - ansi2keyword 45 | ([#18](https://github.com/harthur/color-convert/pull/18)) 46 | 47 | # 0.5.3 - 2015-06-02 48 | 49 | - Fixed: hsl2hsv does not return `NaN` anymore when using `[0,0,0]` 50 | ([#15](https://github.com/harthur/color-convert/issues/15)) 51 | 52 | --- 53 | 54 | Check out commit logs for older releases 55 | -------------------------------------------------------------------------------- /node_modules/color-convert/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-2016 Heather Arthur 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | 22 | -------------------------------------------------------------------------------- /node_modules/color-name/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "node": true, 5 | "commonjs": true, 6 | "es6": true 7 | }, 8 | "extends": "eslint:recommended", 9 | "rules": { 10 | "strict": 2, 11 | "indent": 0, 12 | "linebreak-style": 0, 13 | "quotes": 0, 14 | "semi": 0, 15 | "no-cond-assign": 1, 16 | "no-constant-condition": 1, 17 | "no-duplicate-case": 1, 18 | "no-empty": 1, 19 | "no-ex-assign": 1, 20 | "no-extra-boolean-cast": 1, 21 | "no-extra-semi": 1, 22 | "no-fallthrough": 1, 23 | "no-func-assign": 1, 24 | "no-global-assign": 1, 25 | "no-implicit-globals": 2, 26 | "no-inner-declarations": ["error", "functions"], 27 | "no-irregular-whitespace": 2, 28 | "no-loop-func": 1, 29 | "no-multi-str": 1, 30 | "no-mixed-spaces-and-tabs": 1, 31 | "no-proto": 1, 32 | "no-sequences": 1, 33 | "no-throw-literal": 1, 34 | "no-unmodified-loop-condition": 1, 35 | "no-useless-call": 1, 36 | "no-void": 1, 37 | "no-with": 2, 38 | "wrap-iife": 1, 39 | "no-redeclare": 1, 40 | "no-unused-vars": ["error", { "vars": "all", "args": "none" }], 41 | "no-sparse-arrays": 1 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /node_modules/color-name/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | Copyright (c) 2015 Dmitry Ivanov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 5 | 6 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 7 | 8 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /node_modules/color-name/README.md: -------------------------------------------------------------------------------- 1 | A JSON with color names and its values. Based on http://dev.w3.org/csswg/css-color/#named-colors. 2 | 3 | [![NPM](https://nodei.co/npm/color-name.png?mini=true)](https://nodei.co/npm/color-name/) 4 | 5 | 6 | ```js 7 | var colors = require('color-name'); 8 | colors.red //[255,0,0] 9 | ``` 10 | 11 | 12 | -------------------------------------------------------------------------------- /node_modules/color-name/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "color-name@1.1.3", 3 | "_id": "color-name@1.1.3", 4 | "_inBundle": false, 5 | "_integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 6 | "_location": "/color-name", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "color-name@1.1.3", 12 | "name": "color-name", 13 | "escapedName": "color-name", 14 | "rawSpec": "1.1.3", 15 | "saveSpec": null, 16 | "fetchSpec": "1.1.3" 17 | }, 18 | "_requiredBy": [ 19 | "/color-convert" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 22 | "_shasum": "a7d0558bd89c42f795dd42328f740831ca53bc25", 23 | "_spec": "color-name@1.1.3", 24 | "_where": "/Users/dhairyaostwal/Desktop/NodeJS-Projects/jokesApp/node_modules/color-convert", 25 | "author": { 26 | "name": "DY", 27 | "email": "dfcreative@gmail.com" 28 | }, 29 | "bugs": { 30 | "url": "https://github.com/dfcreative/color-name/issues" 31 | }, 32 | "bundleDependencies": false, 33 | "deprecated": false, 34 | "description": "A list of color names and its values", 35 | "homepage": "https://github.com/dfcreative/color-name", 36 | "keywords": [ 37 | "color-name", 38 | "color", 39 | "color-keyword", 40 | "keyword" 41 | ], 42 | "license": "MIT", 43 | "main": "index.js", 44 | "name": "color-name", 45 | "repository": { 46 | "type": "git", 47 | "url": "git+ssh://git@github.com/dfcreative/color-name.git" 48 | }, 49 | "scripts": { 50 | "test": "node test.js" 51 | }, 52 | "version": "1.1.3" 53 | } 54 | -------------------------------------------------------------------------------- /node_modules/color-name/test.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | var names = require('./'); 4 | var assert = require('assert'); 5 | 6 | assert.deepEqual(names.red, [255,0,0]); 7 | assert.deepEqual(names.aliceblue, [240,248,255]); 8 | -------------------------------------------------------------------------------- /node_modules/concat-map/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.4 4 | - 0.6 5 | -------------------------------------------------------------------------------- /node_modules/concat-map/LICENSE: -------------------------------------------------------------------------------- 1 | This software is released under the MIT license: 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of 4 | this software and associated documentation files (the "Software"), to deal in 5 | the Software without restriction, including without limitation the rights to 6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 7 | the Software, and to permit persons to whom the Software is furnished to do so, 8 | subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 15 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 16 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 17 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 18 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 | -------------------------------------------------------------------------------- /node_modules/concat-map/README.markdown: -------------------------------------------------------------------------------- 1 | concat-map 2 | ========== 3 | 4 | Concatenative mapdashery. 5 | 6 | [![browser support](http://ci.testling.com/substack/node-concat-map.png)](http://ci.testling.com/substack/node-concat-map) 7 | 8 | [![build status](https://secure.travis-ci.org/substack/node-concat-map.png)](http://travis-ci.org/substack/node-concat-map) 9 | 10 | example 11 | ======= 12 | 13 | ``` js 14 | var concatMap = require('concat-map'); 15 | var xs = [ 1, 2, 3, 4, 5, 6 ]; 16 | var ys = concatMap(xs, function (x) { 17 | return x % 2 ? [ x - 0.1, x, x + 0.1 ] : []; 18 | }); 19 | console.dir(ys); 20 | ``` 21 | 22 | *** 23 | 24 | ``` 25 | [ 0.9, 1, 1.1, 2.9, 3, 3.1, 4.9, 5, 5.1 ] 26 | ``` 27 | 28 | methods 29 | ======= 30 | 31 | ``` js 32 | var concatMap = require('concat-map') 33 | ``` 34 | 35 | concatMap(xs, fn) 36 | ----------------- 37 | 38 | Return an array of concatenated elements by calling `fn(x, i)` for each element 39 | `x` and each index `i` in the array `xs`. 40 | 41 | When `fn(x, i)` returns an array, its result will be concatenated with the 42 | result array. If `fn(x, i)` returns anything else, that value will be pushed 43 | onto the end of the result array. 44 | 45 | install 46 | ======= 47 | 48 | With [npm](http://npmjs.org) do: 49 | 50 | ``` 51 | npm install concat-map 52 | ``` 53 | 54 | license 55 | ======= 56 | 57 | MIT 58 | 59 | notes 60 | ===== 61 | 62 | This module was written while sitting high above the ground in a tree. 63 | -------------------------------------------------------------------------------- /node_modules/concat-map/example/map.js: -------------------------------------------------------------------------------- 1 | var concatMap = require('../'); 2 | var xs = [ 1, 2, 3, 4, 5, 6 ]; 3 | var ys = concatMap(xs, function (x) { 4 | return x % 2 ? [ x - 0.1, x, x + 0.1 ] : []; 5 | }); 6 | console.dir(ys); 7 | -------------------------------------------------------------------------------- /node_modules/concat-map/index.js: -------------------------------------------------------------------------------- 1 | module.exports = function (xs, fn) { 2 | var res = []; 3 | for (var i = 0; i < xs.length; i++) { 4 | var x = fn(xs[i], i); 5 | if (isArray(x)) res.push.apply(res, x); 6 | else res.push(x); 7 | } 8 | return res; 9 | }; 10 | 11 | var isArray = Array.isArray || function (xs) { 12 | return Object.prototype.toString.call(xs) === '[object Array]'; 13 | }; 14 | -------------------------------------------------------------------------------- /node_modules/concat-map/test/map.js: -------------------------------------------------------------------------------- 1 | var concatMap = require('../'); 2 | var test = require('tape'); 3 | 4 | test('empty or not', function (t) { 5 | var xs = [ 1, 2, 3, 4, 5, 6 ]; 6 | var ixes = []; 7 | var ys = concatMap(xs, function (x, ix) { 8 | ixes.push(ix); 9 | return x % 2 ? [ x - 0.1, x, x + 0.1 ] : []; 10 | }); 11 | t.same(ys, [ 0.9, 1, 1.1, 2.9, 3, 3.1, 4.9, 5, 5.1 ]); 12 | t.same(ixes, [ 0, 1, 2, 3, 4, 5 ]); 13 | t.end(); 14 | }); 15 | 16 | test('always something', function (t) { 17 | var xs = [ 'a', 'b', 'c', 'd' ]; 18 | var ys = concatMap(xs, function (x) { 19 | return x === 'b' ? [ 'B', 'B', 'B' ] : [ x ]; 20 | }); 21 | t.same(ys, [ 'a', 'B', 'B', 'B', 'c', 'd' ]); 22 | t.end(); 23 | }); 24 | 25 | test('scalars', function (t) { 26 | var xs = [ 'a', 'b', 'c', 'd' ]; 27 | var ys = concatMap(xs, function (x) { 28 | return x === 'b' ? [ 'B', 'B', 'B' ] : x; 29 | }); 30 | t.same(ys, [ 'a', 'B', 'B', 'B', 'c', 'd' ]); 31 | t.end(); 32 | }); 33 | 34 | test('undefs', function (t) { 35 | var xs = [ 'a', 'b', 'c', 'd' ]; 36 | var ys = concatMap(xs, function () {}); 37 | t.same(ys, [ undefined, undefined, undefined, undefined ]); 38 | t.end(); 39 | }); 40 | -------------------------------------------------------------------------------- /node_modules/content-disposition/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.5.3 / 2018-12-17 2 | ================== 3 | 4 | * Use `safe-buffer` for improved Buffer API 5 | 6 | 0.5.2 / 2016-12-08 7 | ================== 8 | 9 | * Fix `parse` to accept any linear whitespace character 10 | 11 | 0.5.1 / 2016-01-17 12 | ================== 13 | 14 | * perf: enable strict mode 15 | 16 | 0.5.0 / 2014-10-11 17 | ================== 18 | 19 | * Add `parse` function 20 | 21 | 0.4.0 / 2014-09-21 22 | ================== 23 | 24 | * Expand non-Unicode `filename` to the full ISO-8859-1 charset 25 | 26 | 0.3.0 / 2014-09-20 27 | ================== 28 | 29 | * Add `fallback` option 30 | * Add `type` option 31 | 32 | 0.2.0 / 2014-09-19 33 | ================== 34 | 35 | * Reduce ambiguity of file names with hex escape in buggy browsers 36 | 37 | 0.1.2 / 2014-09-19 38 | ================== 39 | 40 | * Fix periodic invalid Unicode filename header 41 | 42 | 0.1.1 / 2014-09-19 43 | ================== 44 | 45 | * Fix invalid characters appearing in `filename*` parameter 46 | 47 | 0.1.0 / 2014-09-18 48 | ================== 49 | 50 | * Make the `filename` argument optional 51 | 52 | 0.0.0 / 2014-09-18 53 | ================== 54 | 55 | * Initial release 56 | -------------------------------------------------------------------------------- /node_modules/content-disposition/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2017 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/content-type/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.4 / 2017-09-11 2 | ================== 3 | 4 | * perf: skip parameter parsing when no parameters 5 | 6 | 1.0.3 / 2017-09-10 7 | ================== 8 | 9 | * perf: remove argument reassignment 10 | 11 | 1.0.2 / 2016-05-09 12 | ================== 13 | 14 | * perf: enable strict mode 15 | 16 | 1.0.1 / 2015-02-13 17 | ================== 18 | 19 | * Improve missing `Content-Type` header error message 20 | 21 | 1.0.0 / 2015-02-01 22 | ================== 23 | 24 | * Initial implementation, derived from `media-typer@0.3.0` 25 | -------------------------------------------------------------------------------- /node_modules/content-type/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2015 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/cookie-signature/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /node_modules/cookie-signature/History.md: -------------------------------------------------------------------------------- 1 | 1.0.6 / 2015-02-03 2 | ================== 3 | 4 | * use `npm test` instead of `make test` to run tests 5 | * clearer assertion messages when checking input 6 | 7 | 8 | 1.0.5 / 2014-09-05 9 | ================== 10 | 11 | * add license to package.json 12 | 13 | 1.0.4 / 2014-06-25 14 | ================== 15 | 16 | * corrected avoidance of timing attacks (thanks @tenbits!) 17 | 18 | 1.0.3 / 2014-01-28 19 | ================== 20 | 21 | * [incorrect] fix for timing attacks 22 | 23 | 1.0.2 / 2014-01-28 24 | ================== 25 | 26 | * fix missing repository warning 27 | * fix typo in test 28 | 29 | 1.0.1 / 2013-04-15 30 | ================== 31 | 32 | * Revert "Changed underlying HMAC algo. to sha512." 33 | * Revert "Fix for timing attacks on MAC verification." 34 | 35 | 0.0.1 / 2010-01-03 36 | ================== 37 | 38 | * Initial release 39 | -------------------------------------------------------------------------------- /node_modules/cookie-signature/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # cookie-signature 3 | 4 | Sign and unsign cookies. 5 | 6 | ## Example 7 | 8 | ```js 9 | var cookie = require('cookie-signature'); 10 | 11 | var val = cookie.sign('hello', 'tobiiscool'); 12 | val.should.equal('hello.DGDUkGlIkCzPz+C0B064FNgHdEjox7ch8tOBGslZ5QI'); 13 | 14 | var val = cookie.sign('hello', 'tobiiscool'); 15 | cookie.unsign(val, 'tobiiscool').should.equal('hello'); 16 | cookie.unsign(val, 'luna').should.be.false; 17 | ``` 18 | 19 | ## License 20 | 21 | (The MIT License) 22 | 23 | Copyright (c) 2012 LearnBoost <tj@learnboost.com> 24 | 25 | Permission is hereby granted, free of charge, to any person obtaining 26 | a copy of this software and associated documentation files (the 27 | 'Software'), to deal in the Software without restriction, including 28 | without limitation the rights to use, copy, modify, merge, publish, 29 | distribute, sublicense, and/or sell copies of the Software, and to 30 | permit persons to whom the Software is furnished to do so, subject to 31 | the following conditions: 32 | 33 | The above copyright notice and this permission notice shall be 34 | included in all copies or substantial portions of the Software. 35 | 36 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 37 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 38 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 39 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 40 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 41 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 42 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /node_modules/cookie-signature/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Module dependencies. 3 | */ 4 | 5 | var crypto = require('crypto'); 6 | 7 | /** 8 | * Sign the given `val` with `secret`. 9 | * 10 | * @param {String} val 11 | * @param {String} secret 12 | * @return {String} 13 | * @api private 14 | */ 15 | 16 | exports.sign = function(val, secret){ 17 | if ('string' != typeof val) throw new TypeError("Cookie value must be provided as a string."); 18 | if ('string' != typeof secret) throw new TypeError("Secret string must be provided."); 19 | return val + '.' + crypto 20 | .createHmac('sha256', secret) 21 | .update(val) 22 | .digest('base64') 23 | .replace(/\=+$/, ''); 24 | }; 25 | 26 | /** 27 | * Unsign and decode the given `val` with `secret`, 28 | * returning `false` if the signature is invalid. 29 | * 30 | * @param {String} val 31 | * @param {String} secret 32 | * @return {String|Boolean} 33 | * @api private 34 | */ 35 | 36 | exports.unsign = function(val, secret){ 37 | if ('string' != typeof val) throw new TypeError("Signed cookie string must be provided."); 38 | if ('string' != typeof secret) throw new TypeError("Secret string must be provided."); 39 | var str = val.slice(0, val.lastIndexOf('.')) 40 | , mac = exports.sign(str, secret); 41 | 42 | return sha1(mac) == sha1(val) ? str : false; 43 | }; 44 | 45 | /** 46 | * Private 47 | */ 48 | 49 | function sha1(str){ 50 | return crypto.createHash('sha1').update(str).digest('hex'); 51 | } 52 | -------------------------------------------------------------------------------- /node_modules/cookie-signature/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "cookie-signature@1.0.6", 3 | "_id": "cookie-signature@1.0.6", 4 | "_inBundle": false, 5 | "_integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", 6 | "_location": "/cookie-signature", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "cookie-signature@1.0.6", 12 | "name": "cookie-signature", 13 | "escapedName": "cookie-signature", 14 | "rawSpec": "1.0.6", 15 | "saveSpec": null, 16 | "fetchSpec": "1.0.6" 17 | }, 18 | "_requiredBy": [ 19 | "/express" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 22 | "_shasum": "e303a882b342cc3ee8ca513a79999734dab3ae2c", 23 | "_spec": "cookie-signature@1.0.6", 24 | "_where": "/Users/dhairyaostwal/Desktop/jokesApp/node_modules/express", 25 | "author": { 26 | "name": "TJ Holowaychuk", 27 | "email": "tj@learnboost.com" 28 | }, 29 | "bugs": { 30 | "url": "https://github.com/visionmedia/node-cookie-signature/issues" 31 | }, 32 | "bundleDependencies": false, 33 | "dependencies": {}, 34 | "deprecated": false, 35 | "description": "Sign and unsign cookies", 36 | "devDependencies": { 37 | "mocha": "*", 38 | "should": "*" 39 | }, 40 | "homepage": "https://github.com/visionmedia/node-cookie-signature#readme", 41 | "keywords": [ 42 | "cookie", 43 | "sign", 44 | "unsign" 45 | ], 46 | "license": "MIT", 47 | "main": "index", 48 | "name": "cookie-signature", 49 | "repository": { 50 | "type": "git", 51 | "url": "git+https://github.com/visionmedia/node-cookie-signature.git" 52 | }, 53 | "scripts": { 54 | "test": "mocha --require should --reporter spec" 55 | }, 56 | "version": "1.0.6" 57 | } 58 | -------------------------------------------------------------------------------- /node_modules/cookie/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012-2014 Roman Shtylman 4 | Copyright (c) 2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | 25 | -------------------------------------------------------------------------------- /node_modules/debug/.coveralls.yml: -------------------------------------------------------------------------------- 1 | repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve 2 | -------------------------------------------------------------------------------- /node_modules/debug/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "node": true 5 | }, 6 | "rules": { 7 | "no-console": 0, 8 | "no-empty": [1, { "allowEmptyCatch": true }] 9 | }, 10 | "extends": "eslint:recommended" 11 | } 12 | -------------------------------------------------------------------------------- /node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | yarn.lock 8 | coverage 9 | bower.json 10 | -------------------------------------------------------------------------------- /node_modules/debug/.travis.yml: -------------------------------------------------------------------------------- 1 | 2 | language: node_js 3 | node_js: 4 | - "6" 5 | - "5" 6 | - "4" 7 | 8 | install: 9 | - make node_modules 10 | 11 | script: 12 | - make lint 13 | - make test 14 | - make coveralls 15 | -------------------------------------------------------------------------------- /node_modules/debug/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 TJ Holowaychuk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software 6 | and associated documentation files (the 'Software'), to deal in the Software without restriction, 7 | including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 | and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, 9 | subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all copies or substantial 12 | portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT 15 | LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 16 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 17 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 18 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 | 20 | -------------------------------------------------------------------------------- /node_modules/debug/Makefile: -------------------------------------------------------------------------------- 1 | # get Makefile directory name: http://stackoverflow.com/a/5982798/376773 2 | THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) 3 | THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) 4 | 5 | # BIN directory 6 | BIN := $(THIS_DIR)/node_modules/.bin 7 | 8 | # Path 9 | PATH := node_modules/.bin:$(PATH) 10 | SHELL := /bin/bash 11 | 12 | # applications 13 | NODE ?= $(shell which node) 14 | YARN ?= $(shell which yarn) 15 | PKG ?= $(if $(YARN),$(YARN),$(NODE) $(shell which npm)) 16 | BROWSERIFY ?= $(NODE) $(BIN)/browserify 17 | 18 | .FORCE: 19 | 20 | install: node_modules 21 | 22 | node_modules: package.json 23 | @NODE_ENV= $(PKG) install 24 | @touch node_modules 25 | 26 | lint: .FORCE 27 | eslint browser.js debug.js index.js node.js 28 | 29 | test-node: .FORCE 30 | istanbul cover node_modules/mocha/bin/_mocha -- test/**.js 31 | 32 | test-browser: .FORCE 33 | mkdir -p dist 34 | 35 | @$(BROWSERIFY) \ 36 | --standalone debug \ 37 | . > dist/debug.js 38 | 39 | karma start --single-run 40 | rimraf dist 41 | 42 | test: .FORCE 43 | concurrently \ 44 | "make test-node" \ 45 | "make test-browser" 46 | 47 | coveralls: 48 | cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js 49 | 50 | .PHONY: all install clean distclean 51 | -------------------------------------------------------------------------------- /node_modules/debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "2.6.9", 6 | "keywords": [ 7 | "debug", 8 | "log", 9 | "debugger" 10 | ], 11 | "main": "src/browser.js", 12 | "scripts": [ 13 | "src/browser.js", 14 | "src/debug.js" 15 | ], 16 | "dependencies": { 17 | "rauchg/ms.js": "0.7.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/debug/node.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./src/node'); 2 | -------------------------------------------------------------------------------- /node_modules/debug/src/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Detect Electron renderer process, which is node, but we should 3 | * treat as a browser. 4 | */ 5 | 6 | if (typeof process !== 'undefined' && process.type === 'renderer') { 7 | module.exports = require('./browser.js'); 8 | } else { 9 | module.exports = require('./node.js'); 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/debug/src/inspector-log.js: -------------------------------------------------------------------------------- 1 | module.exports = inspectorLog; 2 | 3 | // black hole 4 | const nullStream = new (require('stream').Writable)(); 5 | nullStream._write = () => {}; 6 | 7 | /** 8 | * Outputs a `console.log()` to the Node.js Inspector console *only*. 9 | */ 10 | function inspectorLog() { 11 | const stdout = console._stdout; 12 | console._stdout = nullStream; 13 | console.log.apply(console, arguments); 14 | console._stdout = stdout; 15 | } 16 | -------------------------------------------------------------------------------- /node_modules/depd/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2017 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/depd/lib/browser/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * depd 3 | * Copyright(c) 2015 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = depd 15 | 16 | /** 17 | * Create deprecate for namespace in caller. 18 | */ 19 | 20 | function depd (namespace) { 21 | if (!namespace) { 22 | throw new TypeError('argument namespace is required') 23 | } 24 | 25 | function deprecate (message) { 26 | // no-op in browser 27 | } 28 | 29 | deprecate._file = undefined 30 | deprecate._ignored = true 31 | deprecate._namespace = namespace 32 | deprecate._traced = false 33 | deprecate._warned = Object.create(null) 34 | 35 | deprecate.function = wrapfunction 36 | deprecate.property = wrapproperty 37 | 38 | return deprecate 39 | } 40 | 41 | /** 42 | * Return a wrapped function in a deprecation message. 43 | * 44 | * This is a no-op version of the wrapper, which does nothing but call 45 | * validation. 46 | */ 47 | 48 | function wrapfunction (fn, message) { 49 | if (typeof fn !== 'function') { 50 | throw new TypeError('argument fn must be a function') 51 | } 52 | 53 | return fn 54 | } 55 | 56 | /** 57 | * Wrap property in a deprecation message. 58 | * 59 | * This is a no-op version of the wrapper, which does nothing but call 60 | * validation. 61 | */ 62 | 63 | function wrapproperty (obj, prop, message) { 64 | if (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) { 65 | throw new TypeError('argument obj must be object') 66 | } 67 | 68 | var descriptor = Object.getOwnPropertyDescriptor(obj, prop) 69 | 70 | if (!descriptor) { 71 | throw new TypeError('must call property on owner object') 72 | } 73 | 74 | if (!descriptor.configurable) { 75 | throw new TypeError('property must be configurable') 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /node_modules/depd/lib/compat/event-listener-count.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * depd 3 | * Copyright(c) 2015 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = eventListenerCount 15 | 16 | /** 17 | * Get the count of listeners on an event emitter of a specific type. 18 | */ 19 | 20 | function eventListenerCount (emitter, type) { 21 | return emitter.listeners(type).length 22 | } 23 | -------------------------------------------------------------------------------- /node_modules/depd/lib/compat/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * depd 3 | * Copyright(c) 2014-2015 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module dependencies. 11 | * @private 12 | */ 13 | 14 | var EventEmitter = require('events').EventEmitter 15 | 16 | /** 17 | * Module exports. 18 | * @public 19 | */ 20 | 21 | lazyProperty(module.exports, 'callSiteToString', function callSiteToString () { 22 | var limit = Error.stackTraceLimit 23 | var obj = {} 24 | var prep = Error.prepareStackTrace 25 | 26 | function prepareObjectStackTrace (obj, stack) { 27 | return stack 28 | } 29 | 30 | Error.prepareStackTrace = prepareObjectStackTrace 31 | Error.stackTraceLimit = 2 32 | 33 | // capture the stack 34 | Error.captureStackTrace(obj) 35 | 36 | // slice the stack 37 | var stack = obj.stack.slice() 38 | 39 | Error.prepareStackTrace = prep 40 | Error.stackTraceLimit = limit 41 | 42 | return stack[0].toString ? toString : require('./callsite-tostring') 43 | }) 44 | 45 | lazyProperty(module.exports, 'eventListenerCount', function eventListenerCount () { 46 | return EventEmitter.listenerCount || require('./event-listener-count') 47 | }) 48 | 49 | /** 50 | * Define a lazy property. 51 | */ 52 | 53 | function lazyProperty (obj, prop, getter) { 54 | function get () { 55 | var val = getter() 56 | 57 | Object.defineProperty(obj, prop, { 58 | configurable: true, 59 | enumerable: true, 60 | value: val 61 | }) 62 | 63 | return val 64 | } 65 | 66 | Object.defineProperty(obj, prop, { 67 | configurable: true, 68 | enumerable: true, 69 | get: get 70 | }) 71 | } 72 | 73 | /** 74 | * Call toString() on the obj 75 | */ 76 | 77 | function toString (obj) { 78 | return obj.toString() 79 | } 80 | -------------------------------------------------------------------------------- /node_modules/destroy/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/destroy/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * destroy 3 | * Copyright(c) 2014 Jonathan Ong 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module dependencies. 11 | * @private 12 | */ 13 | 14 | var ReadStream = require('fs').ReadStream 15 | var Stream = require('stream') 16 | 17 | /** 18 | * Module exports. 19 | * @public 20 | */ 21 | 22 | module.exports = destroy 23 | 24 | /** 25 | * Destroy a stream. 26 | * 27 | * @param {object} stream 28 | * @public 29 | */ 30 | 31 | function destroy(stream) { 32 | if (stream instanceof ReadStream) { 33 | return destroyReadStream(stream) 34 | } 35 | 36 | if (!(stream instanceof Stream)) { 37 | return stream 38 | } 39 | 40 | if (typeof stream.destroy === 'function') { 41 | stream.destroy() 42 | } 43 | 44 | return stream 45 | } 46 | 47 | /** 48 | * Destroy a ReadStream. 49 | * 50 | * @param {object} stream 51 | * @private 52 | */ 53 | 54 | function destroyReadStream(stream) { 55 | stream.destroy() 56 | 57 | if (typeof stream.close === 'function') { 58 | // node.js core bug work-around 59 | stream.on('open', onOpenClose) 60 | } 61 | 62 | return stream 63 | } 64 | 65 | /** 66 | * On open handler to close stream. 67 | * @private 68 | */ 69 | 70 | function onOpenClose() { 71 | if (typeof this.fd === 'number') { 72 | // actually close down the fd 73 | this.close() 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /node_modules/ee-first/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/ejs/postinstall.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | 'use strict'; 4 | 5 | function isTrue(value) { 6 | return !!value && value !== '0' && value !== 'false'; 7 | } 8 | 9 | let envDisable = isTrue(process.env.DISABLE_OPENCOLLECTIVE) || isTrue(process.env.CI); 10 | let logLevel = process.env.npm_config_loglevel; 11 | let logLevelDisplay = ['silent', 'error', 'warn'].indexOf(logLevel) > -1; 12 | 13 | if (!(envDisable || logLevelDisplay)) { 14 | console.log('Thank you for installing \u001b[35mEJS\u001b[0m: built with the \u001b[32mJake\u001b[0m JavaScript build tool (\u001b[32mhttps://jakejs.com/\u001b[0m\)\n'); 15 | } 16 | 17 | 18 | -------------------------------------------------------------------------------- /node_modules/ejs/usage.txt: -------------------------------------------------------------------------------- 1 | EJS Embedded JavaScript templates 2 | {Usage}: ejs [options ...] template-file [data variables ...] 3 | 4 | {Options}: 5 | -o, --output-file FILE Write the rendered output to FILE rather than stdout. 6 | -f, --data-file FILE Must be JSON-formatted. Use parsed input from FILE as data for rendering. 7 | -i, --data-input STRING Must be JSON-formatted and URI-encoded. Use parsed input from STRING as data for rendering. 8 | -m, --delimiter CHARACTER Use CHARACTER with angle brackets for open/close (defaults to %). 9 | -p, --open-delimiter CHARACTER Use CHARACTER instead of left angle bracket to open. 10 | -c, --close-delimiter CHARACTER Use CHARACTER instead of right angle bracket to close. 11 | -s, --strict When set to `true`, generated function is in strict mode 12 | -n --no-with Use 'locals' object for vars rather than using `with` (implies --strict). 13 | -l --locals-name Name to use for the object storing local variables when not using `with`. 14 | -w --rm-whitespace Remove all safe-to-remove whitespace, including leading and trailing whitespace. 15 | -d --debug Outputs generated function body 16 | -h, --help Display this help message. 17 | -V/v, --version Display the EJS version. 18 | 19 | {Examples}: 20 | ejs -m $ ./test/fixtures/user.ejs -f ./user_data.json 21 | ejs -m $ ./test/fixtures/user.ejs name=Lerxst 22 | ejs -p [ -c ] ./template_file.ejs -o ./output.html 23 | ejs -n -l _ ./some_template.ejs -f ./data_file.json 24 | ejs -w ./template_with_whitspace.ejs -o ./output_file.html 25 | -------------------------------------------------------------------------------- /node_modules/encodeurl/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.2 / 2018-01-21 2 | ================== 3 | 4 | * Fix encoding `%` as last character 5 | 6 | 1.0.1 / 2016-06-09 7 | ================== 8 | 9 | * Fix encoding unpaired surrogates at start/end of string 10 | 11 | 1.0.0 / 2016-06-08 12 | ================== 13 | 14 | * Initial release 15 | -------------------------------------------------------------------------------- /node_modules/encodeurl/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2016 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/encodeurl/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * encodeurl 3 | * Copyright(c) 2016 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = encodeUrl 15 | 16 | /** 17 | * RegExp to match non-URL code points, *after* encoding (i.e. not including "%") 18 | * and including invalid escape sequences. 19 | * @private 20 | */ 21 | 22 | var ENCODE_CHARS_REGEXP = /(?:[^\x21\x25\x26-\x3B\x3D\x3F-\x5B\x5D\x5F\x61-\x7A\x7E]|%(?:[^0-9A-Fa-f]|[0-9A-Fa-f][^0-9A-Fa-f]|$))+/g 23 | 24 | /** 25 | * RegExp to match unmatched surrogate pair. 26 | * @private 27 | */ 28 | 29 | var UNMATCHED_SURROGATE_PAIR_REGEXP = /(^|[^\uD800-\uDBFF])[\uDC00-\uDFFF]|[\uD800-\uDBFF]([^\uDC00-\uDFFF]|$)/g 30 | 31 | /** 32 | * String to replace unmatched surrogate pair with. 33 | * @private 34 | */ 35 | 36 | var UNMATCHED_SURROGATE_PAIR_REPLACE = '$1\uFFFD$2' 37 | 38 | /** 39 | * Encode a URL to a percent-encoded form, excluding already-encoded sequences. 40 | * 41 | * This function will take an already-encoded URL and encode all the non-URL 42 | * code points. This function will not encode the "%" character unless it is 43 | * not part of a valid sequence (`%20` will be left as-is, but `%foo` will 44 | * be encoded as `%25foo`). 45 | * 46 | * This encode is meant to be "safe" and does not throw errors. It will try as 47 | * hard as it can to properly encode the given URL, including replacing any raw, 48 | * unpaired surrogate pairs with the Unicode replacement character prior to 49 | * encoding. 50 | * 51 | * @param {string} url 52 | * @return {string} 53 | * @public 54 | */ 55 | 56 | function encodeUrl (url) { 57 | return String(url) 58 | .replace(UNMATCHED_SURROGATE_PAIR_REGEXP, UNMATCHED_SURROGATE_PAIR_REPLACE) 59 | .replace(ENCODE_CHARS_REGEXP, encodeURI) 60 | } 61 | -------------------------------------------------------------------------------- /node_modules/escape-html/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012-2013 TJ Holowaychuk 4 | Copyright (c) 2015 Andreas Lubbe 5 | Copyright (c) 2015 Tiancheng "Timothy" Gu 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining 8 | a copy of this software and associated documentation files (the 9 | 'Software'), to deal in the Software without restriction, including 10 | without limitation the rights to use, copy, modify, merge, publish, 11 | distribute, sublicense, and/or sell copies of the Software, and to 12 | permit persons to whom the Software is furnished to do so, subject to 13 | the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be 16 | included in all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /node_modules/escape-html/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # escape-html 3 | 4 | Escape string for use in HTML 5 | 6 | ## Example 7 | 8 | ```js 9 | var escape = require('escape-html'); 10 | var html = escape('foo & bar'); 11 | // -> foo & bar 12 | ``` 13 | 14 | ## Benchmark 15 | 16 | ``` 17 | $ npm run-script bench 18 | 19 | > escape-html@1.0.3 bench nodejs-escape-html 20 | > node benchmark/index.js 21 | 22 | 23 | http_parser@1.0 24 | node@0.10.33 25 | v8@3.14.5.9 26 | ares@1.9.0-DEV 27 | uv@0.10.29 28 | zlib@1.2.3 29 | modules@11 30 | openssl@1.0.1j 31 | 32 | 1 test completed. 33 | 2 tests completed. 34 | 3 tests completed. 35 | 36 | no special characters x 19,435,271 ops/sec ±0.85% (187 runs sampled) 37 | single special character x 6,132,421 ops/sec ±0.67% (194 runs sampled) 38 | many special characters x 3,175,826 ops/sec ±0.65% (193 runs sampled) 39 | ``` 40 | 41 | ## License 42 | 43 | MIT -------------------------------------------------------------------------------- /node_modules/escape-html/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * escape-html 3 | * Copyright(c) 2012-2013 TJ Holowaychuk 4 | * Copyright(c) 2015 Andreas Lubbe 5 | * Copyright(c) 2015 Tiancheng "Timothy" Gu 6 | * MIT Licensed 7 | */ 8 | 9 | 'use strict'; 10 | 11 | /** 12 | * Module variables. 13 | * @private 14 | */ 15 | 16 | var matchHtmlRegExp = /["'&<>]/; 17 | 18 | /** 19 | * Module exports. 20 | * @public 21 | */ 22 | 23 | module.exports = escapeHtml; 24 | 25 | /** 26 | * Escape special characters in the given string of html. 27 | * 28 | * @param {string} string The string to escape for inserting into HTML 29 | * @return {string} 30 | * @public 31 | */ 32 | 33 | function escapeHtml(string) { 34 | var str = '' + string; 35 | var match = matchHtmlRegExp.exec(str); 36 | 37 | if (!match) { 38 | return str; 39 | } 40 | 41 | var escape; 42 | var html = ''; 43 | var index = 0; 44 | var lastIndex = 0; 45 | 46 | for (index = match.index; index < str.length; index++) { 47 | switch (str.charCodeAt(index)) { 48 | case 34: // " 49 | escape = '"'; 50 | break; 51 | case 38: // & 52 | escape = '&'; 53 | break; 54 | case 39: // ' 55 | escape = '''; 56 | break; 57 | case 60: // < 58 | escape = '<'; 59 | break; 60 | case 62: // > 61 | escape = '>'; 62 | break; 63 | default: 64 | continue; 65 | } 66 | 67 | if (lastIndex !== index) { 68 | html += str.substring(lastIndex, index); 69 | } 70 | 71 | lastIndex = index + 1; 72 | html += escape; 73 | } 74 | 75 | return lastIndex !== index 76 | ? html + str.substring(lastIndex, index) 77 | : html; 78 | } 79 | -------------------------------------------------------------------------------- /node_modules/escape-html/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "escape-html@~1.0.3", 3 | "_id": "escape-html@1.0.3", 4 | "_inBundle": false, 5 | "_integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", 6 | "_location": "/escape-html", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "range", 10 | "registry": true, 11 | "raw": "escape-html@~1.0.3", 12 | "name": "escape-html", 13 | "escapedName": "escape-html", 14 | "rawSpec": "~1.0.3", 15 | "saveSpec": null, 16 | "fetchSpec": "~1.0.3" 17 | }, 18 | "_requiredBy": [ 19 | "/express", 20 | "/finalhandler", 21 | "/send", 22 | "/serve-static" 23 | ], 24 | "_resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 25 | "_shasum": "0258eae4d3d0c0974de1c169188ef0051d1d1988", 26 | "_spec": "escape-html@~1.0.3", 27 | "_where": "/Users/dhairyaostwal/Desktop/jokesApp/node_modules/express", 28 | "bugs": { 29 | "url": "https://github.com/component/escape-html/issues" 30 | }, 31 | "bundleDependencies": false, 32 | "deprecated": false, 33 | "description": "Escape string for use in HTML", 34 | "devDependencies": { 35 | "beautify-benchmark": "0.2.4", 36 | "benchmark": "1.0.0" 37 | }, 38 | "files": [ 39 | "LICENSE", 40 | "Readme.md", 41 | "index.js" 42 | ], 43 | "homepage": "https://github.com/component/escape-html#readme", 44 | "keywords": [ 45 | "escape", 46 | "html", 47 | "utility" 48 | ], 49 | "license": "MIT", 50 | "name": "escape-html", 51 | "repository": { 52 | "type": "git", 53 | "url": "git+https://github.com/component/escape-html.git" 54 | }, 55 | "scripts": { 56 | "bench": "node benchmark/index.js" 57 | }, 58 | "version": "1.0.3" 59 | } 60 | -------------------------------------------------------------------------------- /node_modules/escape-string-regexp/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; 4 | 5 | module.exports = function (str) { 6 | if (typeof str !== 'string') { 7 | throw new TypeError('Expected a string'); 8 | } 9 | 10 | return str.replace(matchOperatorsRe, '\\$&'); 11 | }; 12 | -------------------------------------------------------------------------------- /node_modules/escape-string-regexp/license: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) Sindre Sorhus (sindresorhus.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/escape-string-regexp/readme.md: -------------------------------------------------------------------------------- 1 | # escape-string-regexp [![Build Status](https://travis-ci.org/sindresorhus/escape-string-regexp.svg?branch=master)](https://travis-ci.org/sindresorhus/escape-string-regexp) 2 | 3 | > Escape RegExp special characters 4 | 5 | 6 | ## Install 7 | 8 | ``` 9 | $ npm install --save escape-string-regexp 10 | ``` 11 | 12 | 13 | ## Usage 14 | 15 | ```js 16 | const escapeStringRegexp = require('escape-string-regexp'); 17 | 18 | const escapedString = escapeStringRegexp('how much $ for a unicorn?'); 19 | //=> 'how much \$ for a unicorn\?' 20 | 21 | new RegExp(escapedString); 22 | ``` 23 | 24 | 25 | ## License 26 | 27 | MIT © [Sindre Sorhus](http://sindresorhus.com) 28 | -------------------------------------------------------------------------------- /node_modules/etag/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2016 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/express/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2009-2014 TJ Holowaychuk 4 | Copyright (c) 2013-2014 Roman Shtylman 5 | Copyright (c) 2014-2015 Douglas Christopher Wilson 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining 8 | a copy of this software and associated documentation files (the 9 | 'Software'), to deal in the Software without restriction, including 10 | without limitation the rights to use, copy, modify, merge, publish, 11 | distribute, sublicense, and/or sell copies of the Software, and to 12 | permit persons to whom the Software is furnished to do so, subject to 13 | the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be 16 | included in all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /node_modules/express/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * express 3 | * Copyright(c) 2009-2013 TJ Holowaychuk 4 | * Copyright(c) 2013 Roman Shtylman 5 | * Copyright(c) 2014-2015 Douglas Christopher Wilson 6 | * MIT Licensed 7 | */ 8 | 9 | 'use strict'; 10 | 11 | module.exports = require('./lib/express'); 12 | -------------------------------------------------------------------------------- /node_modules/express/lib/middleware/init.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * express 3 | * Copyright(c) 2009-2013 TJ Holowaychuk 4 | * Copyright(c) 2013 Roman Shtylman 5 | * Copyright(c) 2014-2015 Douglas Christopher Wilson 6 | * MIT Licensed 7 | */ 8 | 9 | 'use strict'; 10 | 11 | /** 12 | * Module dependencies. 13 | * @private 14 | */ 15 | 16 | var setPrototypeOf = require('setprototypeof') 17 | 18 | /** 19 | * Initialization middleware, exposing the 20 | * request and response to each other, as well 21 | * as defaulting the X-Powered-By header field. 22 | * 23 | * @param {Function} app 24 | * @return {Function} 25 | * @api private 26 | */ 27 | 28 | exports.init = function(app){ 29 | return function expressInit(req, res, next){ 30 | if (app.enabled('x-powered-by')) res.setHeader('X-Powered-By', 'Express'); 31 | req.res = res; 32 | res.req = req; 33 | req.next = next; 34 | 35 | setPrototypeOf(req, app.request) 36 | setPrototypeOf(res, app.response) 37 | 38 | res.locals = res.locals || Object.create(null); 39 | 40 | next(); 41 | }; 42 | }; 43 | 44 | -------------------------------------------------------------------------------- /node_modules/express/lib/middleware/query.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * express 3 | * Copyright(c) 2009-2013 TJ Holowaychuk 4 | * Copyright(c) 2013 Roman Shtylman 5 | * Copyright(c) 2014-2015 Douglas Christopher Wilson 6 | * MIT Licensed 7 | */ 8 | 9 | 'use strict'; 10 | 11 | /** 12 | * Module dependencies. 13 | */ 14 | 15 | var merge = require('utils-merge') 16 | var parseUrl = require('parseurl'); 17 | var qs = require('qs'); 18 | 19 | /** 20 | * @param {Object} options 21 | * @return {Function} 22 | * @api public 23 | */ 24 | 25 | module.exports = function query(options) { 26 | var opts = merge({}, options) 27 | var queryparse = qs.parse; 28 | 29 | if (typeof options === 'function') { 30 | queryparse = options; 31 | opts = undefined; 32 | } 33 | 34 | if (opts !== undefined && opts.allowPrototypes === undefined) { 35 | // back-compat for qs module 36 | opts.allowPrototypes = true; 37 | } 38 | 39 | return function query(req, res, next){ 40 | if (!req.query) { 41 | var val = parseUrl(req).query; 42 | req.query = queryparse(val, opts); 43 | } 44 | 45 | next(); 46 | }; 47 | }; 48 | -------------------------------------------------------------------------------- /node_modules/filelist/Jakefile: -------------------------------------------------------------------------------- 1 | testTask('FileList', function () { 2 | this.testFiles.include('test/*.js'); 3 | }); 4 | 5 | publishTask('FileList', function () { 6 | this.packageFiles.include([ 7 | 'Jakefile' 8 | , 'README.md' 9 | , 'package.json' 10 | , 'index.js' 11 | ]); 12 | }); 13 | 14 | 15 | -------------------------------------------------------------------------------- /node_modules/filelist/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "filelist@^1.0.1", 3 | "_id": "filelist@1.0.1", 4 | "_inBundle": false, 5 | "_integrity": "sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ==", 6 | "_location": "/filelist", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "range", 10 | "registry": true, 11 | "raw": "filelist@^1.0.1", 12 | "name": "filelist", 13 | "escapedName": "filelist", 14 | "rawSpec": "^1.0.1", 15 | "saveSpec": null, 16 | "fetchSpec": "^1.0.1" 17 | }, 18 | "_requiredBy": [ 19 | "/jake" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.1.tgz", 22 | "_shasum": "f10d1a3ae86c1694808e8f20906f43d4c9132dbb", 23 | "_spec": "filelist@^1.0.1", 24 | "_where": "/Users/dhairyaostwal/Desktop/NodeJS-Projects/jokesApp/node_modules/jake", 25 | "author": { 26 | "name": "Matthew Eernisse", 27 | "email": "mde@fleegix.org", 28 | "url": "http://fleegix.org" 29 | }, 30 | "bugs": { 31 | "url": "https://github.com/mde/filelist/issues" 32 | }, 33 | "bundleDependencies": false, 34 | "dependencies": { 35 | "minimatch": "^3.0.4" 36 | }, 37 | "deprecated": false, 38 | "description": "Lazy-evaluating list of files, based on globs or regex patterns", 39 | "homepage": "https://github.com/mde/filelist", 40 | "keywords": [ 41 | "file", 42 | "utility", 43 | "glob" 44 | ], 45 | "license": "Apache-2.0", 46 | "main": "index.js", 47 | "name": "filelist", 48 | "repository": { 49 | "type": "git", 50 | "url": "git://github.com/mde/filelist.git" 51 | }, 52 | "scripts": { 53 | "test": "jake test" 54 | }, 55 | "version": "1.0.1" 56 | } 57 | -------------------------------------------------------------------------------- /node_modules/finalhandler/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2017 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/forwarded/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.1.2 / 2017-09-14 2 | ================== 3 | 4 | * perf: improve header parsing 5 | * perf: reduce overhead when no `X-Forwarded-For` header 6 | 7 | 0.1.1 / 2017-09-10 8 | ================== 9 | 10 | * Fix trimming leading / trailing OWS 11 | * perf: hoist regular expression 12 | 13 | 0.1.0 / 2014-09-21 14 | ================== 15 | 16 | * Initial release 17 | -------------------------------------------------------------------------------- /node_modules/forwarded/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2017 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/forwarded/README.md: -------------------------------------------------------------------------------- 1 | # forwarded 2 | 3 | [![NPM Version][npm-image]][npm-url] 4 | [![NPM Downloads][downloads-image]][downloads-url] 5 | [![Node.js Version][node-version-image]][node-version-url] 6 | [![Build Status][travis-image]][travis-url] 7 | [![Test Coverage][coveralls-image]][coveralls-url] 8 | 9 | Parse HTTP X-Forwarded-For header 10 | 11 | ## Installation 12 | 13 | This is a [Node.js](https://nodejs.org/en/) module available through the 14 | [npm registry](https://www.npmjs.com/). Installation is done using the 15 | [`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): 16 | 17 | ```sh 18 | $ npm install forwarded 19 | ``` 20 | 21 | ## API 22 | 23 | ```js 24 | var forwarded = require('forwarded') 25 | ``` 26 | 27 | ### forwarded(req) 28 | 29 | ```js 30 | var addresses = forwarded(req) 31 | ``` 32 | 33 | Parse the `X-Forwarded-For` header from the request. Returns an array 34 | of the addresses, including the socket address for the `req`, in reverse 35 | order (i.e. index `0` is the socket address and the last index is the 36 | furthest address, typically the end-user). 37 | 38 | ## Testing 39 | 40 | ```sh 41 | $ npm test 42 | ``` 43 | 44 | ## License 45 | 46 | [MIT](LICENSE) 47 | 48 | [npm-image]: https://img.shields.io/npm/v/forwarded.svg 49 | [npm-url]: https://npmjs.org/package/forwarded 50 | [node-version-image]: https://img.shields.io/node/v/forwarded.svg 51 | [node-version-url]: https://nodejs.org/en/download/ 52 | [travis-image]: https://img.shields.io/travis/jshttp/forwarded/master.svg 53 | [travis-url]: https://travis-ci.org/jshttp/forwarded 54 | [coveralls-image]: https://img.shields.io/coveralls/jshttp/forwarded/master.svg 55 | [coveralls-url]: https://coveralls.io/r/jshttp/forwarded?branch=master 56 | [downloads-image]: https://img.shields.io/npm/dm/forwarded.svg 57 | [downloads-url]: https://npmjs.org/package/forwarded 58 | -------------------------------------------------------------------------------- /node_modules/forwarded/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * forwarded 3 | * Copyright(c) 2014-2017 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = forwarded 15 | 16 | /** 17 | * Get all addresses in the request, using the `X-Forwarded-For` header. 18 | * 19 | * @param {object} req 20 | * @return {array} 21 | * @public 22 | */ 23 | 24 | function forwarded (req) { 25 | if (!req) { 26 | throw new TypeError('argument req is required') 27 | } 28 | 29 | // simple header parsing 30 | var proxyAddrs = parse(req.headers['x-forwarded-for'] || '') 31 | var socketAddr = req.connection.remoteAddress 32 | var addrs = [socketAddr].concat(proxyAddrs) 33 | 34 | // return all addresses 35 | return addrs 36 | } 37 | 38 | /** 39 | * Parse the X-Forwarded-For header. 40 | * 41 | * @param {string} header 42 | * @private 43 | */ 44 | 45 | function parse (header) { 46 | var end = header.length 47 | var list = [] 48 | var start = header.length 49 | 50 | // gather addresses, backwards 51 | for (var i = header.length - 1; i >= 0; i--) { 52 | switch (header.charCodeAt(i)) { 53 | case 0x20: /* */ 54 | if (start === end) { 55 | start = end = i 56 | } 57 | break 58 | case 0x2c: /* , */ 59 | if (start !== end) { 60 | list.push(header.substring(start, end)) 61 | } 62 | start = end = i 63 | break 64 | default: 65 | start = i 66 | break 67 | } 68 | } 69 | 70 | // final address 71 | if (start !== end) { 72 | list.push(header.substring(start, end)) 73 | } 74 | 75 | return list 76 | } 77 | -------------------------------------------------------------------------------- /node_modules/fresh/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.5.2 / 2017-09-13 2 | ================== 3 | 4 | * Fix regression matching multiple ETags in `If-None-Match` 5 | * perf: improve `If-None-Match` token parsing 6 | 7 | 0.5.1 / 2017-09-11 8 | ================== 9 | 10 | * Fix handling of modified headers with invalid dates 11 | * perf: improve ETag match loop 12 | 13 | 0.5.0 / 2017-02-21 14 | ================== 15 | 16 | * Fix incorrect result when `If-None-Match` has both `*` and ETags 17 | * Fix weak `ETag` matching to match spec 18 | * perf: delay reading header values until needed 19 | * perf: skip checking modified time if ETag check failed 20 | * perf: skip parsing `If-None-Match` when no `ETag` header 21 | * perf: use `Date.parse` instead of `new Date` 22 | 23 | 0.4.0 / 2017-02-05 24 | ================== 25 | 26 | * Fix false detection of `no-cache` request directive 27 | * perf: enable strict mode 28 | * perf: hoist regular expressions 29 | * perf: remove duplicate conditional 30 | * perf: remove unnecessary boolean coercions 31 | 32 | 0.3.0 / 2015-05-12 33 | ================== 34 | 35 | * Add weak `ETag` matching support 36 | 37 | 0.2.4 / 2014-09-07 38 | ================== 39 | 40 | * Support Node.js 0.6 41 | 42 | 0.2.3 / 2014-09-07 43 | ================== 44 | 45 | * Move repository to jshttp 46 | 47 | 0.2.2 / 2014-02-19 48 | ================== 49 | 50 | * Revert "Fix for blank page on Safari reload" 51 | 52 | 0.2.1 / 2014-01-29 53 | ================== 54 | 55 | * Fix for blank page on Safari reload 56 | 57 | 0.2.0 / 2013-08-11 58 | ================== 59 | 60 | * Return stale for `Cache-Control: no-cache` 61 | 62 | 0.1.0 / 2012-06-15 63 | ================== 64 | 65 | * Add `If-None-Match: *` support 66 | 67 | 0.0.1 / 2012-06-10 68 | ================== 69 | 70 | * Initial release 71 | -------------------------------------------------------------------------------- /node_modules/fresh/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012 TJ Holowaychuk 4 | Copyright (c) 2016-2017 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/has-flag/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = (flag, argv) => { 3 | argv = argv || process.argv; 4 | const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--'); 5 | const pos = argv.indexOf(prefix + flag); 6 | const terminatorPos = argv.indexOf('--'); 7 | return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos); 8 | }; 9 | -------------------------------------------------------------------------------- /node_modules/has-flag/license: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Sindre Sorhus (sindresorhus.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /node_modules/has-flag/readme.md: -------------------------------------------------------------------------------- 1 | # has-flag [![Build Status](https://travis-ci.org/sindresorhus/has-flag.svg?branch=master)](https://travis-ci.org/sindresorhus/has-flag) 2 | 3 | > Check if [`argv`](https://nodejs.org/docs/latest/api/process.html#process_process_argv) has a specific flag 4 | 5 | Correctly stops looking after an `--` argument terminator. 6 | 7 | 8 | ## Install 9 | 10 | ``` 11 | $ npm install has-flag 12 | ``` 13 | 14 | 15 | ## Usage 16 | 17 | ```js 18 | // foo.js 19 | const hasFlag = require('has-flag'); 20 | 21 | hasFlag('unicorn'); 22 | //=> true 23 | 24 | hasFlag('--unicorn'); 25 | //=> true 26 | 27 | hasFlag('f'); 28 | //=> true 29 | 30 | hasFlag('-f'); 31 | //=> true 32 | 33 | hasFlag('foo=bar'); 34 | //=> true 35 | 36 | hasFlag('foo'); 37 | //=> false 38 | 39 | hasFlag('rainbow'); 40 | //=> false 41 | ``` 42 | 43 | ``` 44 | $ node foo.js -f --unicorn --foo=bar -- --rainbow 45 | ``` 46 | 47 | 48 | ## API 49 | 50 | ### hasFlag(flag, [argv]) 51 | 52 | Returns a boolean for whether the flag exists. 53 | 54 | #### flag 55 | 56 | Type: `string` 57 | 58 | CLI flag to look for. The `--` prefix is optional. 59 | 60 | #### argv 61 | 62 | Type: `string[]`
63 | Default: `process.argv` 64 | 65 | CLI arguments. 66 | 67 | 68 | ## License 69 | 70 | MIT © [Sindre Sorhus](https://sindresorhus.com) 71 | -------------------------------------------------------------------------------- /node_modules/http-errors/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | Copyright (c) 2016 Douglas Christopher Wilson doug@somethingdoug.com 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in 15 | all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/https/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "https", 3 | "_id": "https@1.0.0", 4 | "_inBundle": false, 5 | "_integrity": "sha1-PDfHrhqO65ZpBKKtHpdaGUt+06Q=", 6 | "_location": "/https", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "tag", 10 | "registry": true, 11 | "raw": "https", 12 | "name": "https", 13 | "escapedName": "https", 14 | "rawSpec": "", 15 | "saveSpec": null, 16 | "fetchSpec": "latest" 17 | }, 18 | "_requiredBy": [ 19 | "#USER", 20 | "/" 21 | ], 22 | "_resolved": "https://registry.npmjs.org/https/-/https-1.0.0.tgz", 23 | "_shasum": "3c37c7ae1a8eeb966904a2ad1e975a194b7ed3a4", 24 | "_spec": "https", 25 | "_where": "/Users/dhairyaostwal/Desktop/jokesApp", 26 | "author": { 27 | "name": "hardus van der berg", 28 | "email": "hardus@sunfork.com", 29 | "url": "http://www.sunfork.com" 30 | }, 31 | "bundleDependencies": false, 32 | "deprecated": false, 33 | "description": "https mediation", 34 | "keywords": [ 35 | "https", 36 | "mediation" 37 | ], 38 | "license": "ISC", 39 | "main": "index.js", 40 | "name": "https", 41 | "scripts": { 42 | "test": "echo \"Error: no test specified\" && exit 1" 43 | }, 44 | "version": "1.0.0" 45 | } 46 | -------------------------------------------------------------------------------- /node_modules/iconv-lite/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011 Alexander Shtuchkin 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | 22 | -------------------------------------------------------------------------------- /node_modules/iconv-lite/encodings/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | // Update this array if you add/rename/remove files in this directory. 4 | // We support Browserify by skipping automatic module discovery and requiring modules directly. 5 | var modules = [ 6 | require("./internal"), 7 | require("./utf16"), 8 | require("./utf7"), 9 | require("./sbcs-codec"), 10 | require("./sbcs-data"), 11 | require("./sbcs-data-generated"), 12 | require("./dbcs-codec"), 13 | require("./dbcs-data"), 14 | ]; 15 | 16 | // Put all encoding/alias/codec definitions to single object and export it. 17 | for (var i = 0; i < modules.length; i++) { 18 | var module = modules[i]; 19 | for (var enc in module) 20 | if (Object.prototype.hasOwnProperty.call(module, enc)) 21 | exports[enc] = module[enc]; 22 | } 23 | -------------------------------------------------------------------------------- /node_modules/iconv-lite/encodings/tables/gbk-added.json: -------------------------------------------------------------------------------- 1 | [ 2 | ["a140","",62], 3 | ["a180","",32], 4 | ["a240","",62], 5 | ["a280","",32], 6 | ["a2ab","",5], 7 | ["a2e3","€"], 8 | ["a2ef",""], 9 | ["a2fd",""], 10 | ["a340","",62], 11 | ["a380","",31," "], 12 | ["a440","",62], 13 | ["a480","",32], 14 | ["a4f4","",10], 15 | ["a540","",62], 16 | ["a580","",32], 17 | ["a5f7","",7], 18 | ["a640","",62], 19 | ["a680","",32], 20 | ["a6b9","",7], 21 | ["a6d9","",6], 22 | ["a6ec",""], 23 | ["a6f3",""], 24 | ["a6f6","",8], 25 | ["a740","",62], 26 | ["a780","",32], 27 | ["a7c2","",14], 28 | ["a7f2","",12], 29 | ["a896","",10], 30 | ["a8bc",""], 31 | ["a8bf","ǹ"], 32 | ["a8c1",""], 33 | ["a8ea","",20], 34 | ["a958",""], 35 | ["a95b",""], 36 | ["a95d",""], 37 | ["a989","〾⿰",11], 38 | ["a997","",12], 39 | ["a9f0","",14], 40 | ["aaa1","",93], 41 | ["aba1","",93], 42 | ["aca1","",93], 43 | ["ada1","",93], 44 | ["aea1","",93], 45 | ["afa1","",93], 46 | ["d7fa","",4], 47 | ["f8a1","",93], 48 | ["f9a1","",93], 49 | ["faa1","",93], 50 | ["fba1","",93], 51 | ["fca1","",93], 52 | ["fda1","",93], 53 | ["fe50","⺁⺄㑳㑇⺈⺋㖞㘚㘎⺌⺗㥮㤘㧏㧟㩳㧐㭎㱮㳠⺧⺪䁖䅟⺮䌷⺳⺶⺷䎱䎬⺻䏝䓖䙡䙌"], 54 | ["fe80","䜣䜩䝼䞍⻊䥇䥺䥽䦂䦃䦅䦆䦟䦛䦷䦶䲣䲟䲠䲡䱷䲢䴓",6,"䶮",93] 55 | ] 56 | -------------------------------------------------------------------------------- /node_modules/iconv-lite/lib/bom-handling.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var BOMChar = '\uFEFF'; 4 | 5 | exports.PrependBOM = PrependBOMWrapper 6 | function PrependBOMWrapper(encoder, options) { 7 | this.encoder = encoder; 8 | this.addBOM = true; 9 | } 10 | 11 | PrependBOMWrapper.prototype.write = function(str) { 12 | if (this.addBOM) { 13 | str = BOMChar + str; 14 | this.addBOM = false; 15 | } 16 | 17 | return this.encoder.write(str); 18 | } 19 | 20 | PrependBOMWrapper.prototype.end = function() { 21 | return this.encoder.end(); 22 | } 23 | 24 | 25 | //------------------------------------------------------------------------------ 26 | 27 | exports.StripBOM = StripBOMWrapper; 28 | function StripBOMWrapper(decoder, options) { 29 | this.decoder = decoder; 30 | this.pass = false; 31 | this.options = options || {}; 32 | } 33 | 34 | StripBOMWrapper.prototype.write = function(buf) { 35 | var res = this.decoder.write(buf); 36 | if (this.pass || !res) 37 | return res; 38 | 39 | if (res[0] === BOMChar) { 40 | res = res.slice(1); 41 | if (typeof this.options.stripBOM === 'function') 42 | this.options.stripBOM(); 43 | } 44 | 45 | this.pass = true; 46 | return res; 47 | } 48 | 49 | StripBOMWrapper.prototype.end = function() { 50 | return this.decoder.end(); 51 | } 52 | 53 | -------------------------------------------------------------------------------- /node_modules/iconv-lite/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | /*--------------------------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * Licensed under the MIT License. 4 | * REQUIREMENT: This definition is dependent on the @types/node definition. 5 | * Install with `npm install @types/node --save-dev` 6 | *--------------------------------------------------------------------------------------------*/ 7 | 8 | declare module 'iconv-lite' { 9 | export function decode(buffer: Buffer, encoding: string, options?: Options): string; 10 | 11 | export function encode(content: string, encoding: string, options?: Options): Buffer; 12 | 13 | export function encodingExists(encoding: string): boolean; 14 | 15 | export function decodeStream(encoding: string, options?: Options): NodeJS.ReadWriteStream; 16 | 17 | export function encodeStream(encoding: string, options?: Options): NodeJS.ReadWriteStream; 18 | } 19 | 20 | export interface Options { 21 | stripBOM?: boolean; 22 | addBOM?: boolean; 23 | defaultEncoding?: string; 24 | } 25 | -------------------------------------------------------------------------------- /node_modules/inherits/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 10 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 11 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 12 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 14 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15 | PERFORMANCE OF THIS SOFTWARE. 16 | 17 | -------------------------------------------------------------------------------- /node_modules/inherits/README.md: -------------------------------------------------------------------------------- 1 | Browser-friendly inheritance fully compatible with standard node.js 2 | [inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor). 3 | 4 | This package exports standard `inherits` from node.js `util` module in 5 | node environment, but also provides alternative browser-friendly 6 | implementation through [browser 7 | field](https://gist.github.com/shtylman/4339901). Alternative 8 | implementation is a literal copy of standard one located in standalone 9 | module to avoid requiring of `util`. It also has a shim for old 10 | browsers with no `Object.create` support. 11 | 12 | While keeping you sure you are using standard `inherits` 13 | implementation in node.js environment, it allows bundlers such as 14 | [browserify](https://github.com/substack/node-browserify) to not 15 | include full `util` package to your client code if all you need is 16 | just `inherits` function. It worth, because browser shim for `util` 17 | package is large and `inherits` is often the single function you need 18 | from it. 19 | 20 | It's recommended to use this package instead of 21 | `require('util').inherits` for any code that has chances to be used 22 | not only in node.js but in browser too. 23 | 24 | ## usage 25 | 26 | ```js 27 | var inherits = require('inherits'); 28 | // then use exactly as the standard one 29 | ``` 30 | 31 | ## note on version ~1.0 32 | 33 | Version ~1.0 had completely different motivation and is not compatible 34 | neither with 2.0 nor with standard node.js `inherits`. 35 | 36 | If you are using version ~1.0 and planning to switch to ~2.0, be 37 | careful: 38 | 39 | * new version uses `super_` instead of `super` for referencing 40 | superclass 41 | * new version overwrites current prototype while old one preserves any 42 | existing fields on it 43 | -------------------------------------------------------------------------------- /node_modules/inherits/inherits.js: -------------------------------------------------------------------------------- 1 | try { 2 | var util = require('util'); 3 | if (typeof util.inherits !== 'function') throw ''; 4 | module.exports = util.inherits; 5 | } catch (e) { 6 | module.exports = require('./inherits_browser.js'); 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/inherits/inherits_browser.js: -------------------------------------------------------------------------------- 1 | if (typeof Object.create === 'function') { 2 | // implementation from standard node.js 'util' module 3 | module.exports = function inherits(ctor, superCtor) { 4 | ctor.super_ = superCtor 5 | ctor.prototype = Object.create(superCtor.prototype, { 6 | constructor: { 7 | value: ctor, 8 | enumerable: false, 9 | writable: true, 10 | configurable: true 11 | } 12 | }); 13 | }; 14 | } else { 15 | // old school shim for old browsers 16 | module.exports = function inherits(ctor, superCtor) { 17 | ctor.super_ = superCtor 18 | var TempCtor = function () {} 19 | TempCtor.prototype = superCtor.prototype 20 | ctor.prototype = new TempCtor() 21 | ctor.prototype.constructor = ctor 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /node_modules/inherits/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "inherits@2.0.3", 3 | "_id": "inherits@2.0.3", 4 | "_inBundle": false, 5 | "_integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 6 | "_location": "/inherits", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "inherits@2.0.3", 12 | "name": "inherits", 13 | "escapedName": "inherits", 14 | "rawSpec": "2.0.3", 15 | "saveSpec": null, 16 | "fetchSpec": "2.0.3" 17 | }, 18 | "_requiredBy": [ 19 | "/http-errors" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 22 | "_shasum": "633c2c83e3da42a502f52466022480f4208261de", 23 | "_spec": "inherits@2.0.3", 24 | "_where": "/Users/dhairyaostwal/Desktop/jokesApp/node_modules/http-errors", 25 | "browser": "./inherits_browser.js", 26 | "bugs": { 27 | "url": "https://github.com/isaacs/inherits/issues" 28 | }, 29 | "bundleDependencies": false, 30 | "deprecated": false, 31 | "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()", 32 | "devDependencies": { 33 | "tap": "^7.1.0" 34 | }, 35 | "files": [ 36 | "inherits.js", 37 | "inherits_browser.js" 38 | ], 39 | "homepage": "https://github.com/isaacs/inherits#readme", 40 | "keywords": [ 41 | "inheritance", 42 | "class", 43 | "klass", 44 | "oop", 45 | "object-oriented", 46 | "inherits", 47 | "browser", 48 | "browserify" 49 | ], 50 | "license": "ISC", 51 | "main": "./inherits.js", 52 | "name": "inherits", 53 | "repository": { 54 | "type": "git", 55 | "url": "git://github.com/isaacs/inherits.git" 56 | }, 57 | "scripts": { 58 | "test": "node test" 59 | }, 60 | "version": "2.0.3" 61 | } 62 | -------------------------------------------------------------------------------- /node_modules/ipaddr.js/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2011-2017 whitequark 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /node_modules/jake/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Jake JavaScript build tool 3 | # Copyright 2112 Matthew Eernisse (mde@fleegix.org) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | .PHONY: all build install clean uninstall 19 | 20 | PREFIX=/usr/local 21 | DESTDIR= 22 | 23 | all: build 24 | 25 | build: 26 | @echo 'Jake built.' 27 | 28 | install: 29 | @mkdir -p $(DESTDIR)$(PREFIX)/bin && \ 30 | mkdir -p $(DESTDIR)$(PREFIX)/lib/node_modules/jake && \ 31 | mkdir -p ./node_modules && \ 32 | npm install utilities minimatch && \ 33 | cp -R ./* $(DESTDIR)$(PREFIX)/lib/node_modules/jake/ && \ 34 | ln -snf ../lib/node_modules/jake/bin/cli.js $(DESTDIR)$(PREFIX)/bin/jake && \ 35 | chmod 755 $(DESTDIR)$(PREFIX)/lib/node_modules/jake/bin/cli.js && \ 36 | echo 'Jake installed.' 37 | 38 | clean: 39 | @true 40 | 41 | uninstall: 42 | @rm -f $(DESTDIR)$(PREFIX)/bin/jake && \ 43 | rm -fr $(DESTDIR)$(PREFIX)/lib/node_modules/jake/ && \ 44 | echo 'Jake uninstalled.' 45 | -------------------------------------------------------------------------------- /node_modules/jake/README.md: -------------------------------------------------------------------------------- 1 | ### Jake -- the JavaScript build tool for Node.js 2 | 3 | [![Build Status](https://travis-ci.org/jakejs/jake.svg?branch=master)](https://travis-ci.org/jakejs/jake) 4 | 5 | Documentation site at [http://jakejs.com](http://jakejs.com/) 6 | 7 | ### Contributing 8 | 1. [Install node](http://nodejs.org/#download). 9 | 2. Clone this repository `$ git clone git@github.com:jakejs/jake.git`. 10 | 3. Install dependencies `$ npm install`. 11 | 4. Run tests with `$ npm test`. 12 | 5. Start Hacking! 13 | 14 | ### License 15 | 16 | Licensed under the Apache License, Version 2.0 17 | () 18 | -------------------------------------------------------------------------------- /node_modules/jake/bin/bash_completion.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # http://stackoverflow.com/a/246128 4 | SOURCE="${BASH_SOURCE[0]}" 5 | while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink 6 | DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" 7 | SOURCE="$(readlink "$SOURCE")" 8 | [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located 9 | done 10 | JAKE_BIN_DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" 11 | 12 | # http://stackoverflow.com/a/12495480 13 | # http://stackoverflow.com/a/28647824 14 | _auto_jake() 15 | { 16 | local cur 17 | local -a COMPGEN=() 18 | _get_comp_words_by_ref -n : -c cur 19 | 20 | # run auto-completions in jake via our auto_complete.js wrapper 21 | local -a auto_complete_info=( $(export COMP_LINE="${COMP_LINE}" && ${JAKE_BIN_DIR}/auto_complete.js "$cur" "${3}") ) 22 | # check reply flag 23 | local reply_flag="${auto_complete_info[0]}" 24 | if [[ "${reply_flag}" == "no-complete" ]]; then 25 | return 1 26 | fi 27 | local auto_completions=("${auto_complete_info[@]:1}") 28 | COMPGEN=( $(compgen -W "${auto_completions[*]}" -- "$cur") ) 29 | COMPREPLY=( "${COMPGEN[@]}" ) 30 | 31 | __ltrim_colon_completions "$cur" 32 | 33 | # do we need another space?? 34 | if [[ "${reply_flag}" == "yes-space" ]]; then 35 | COMPREPLY=( "${COMPGEN[@]}" " " ) 36 | fi 37 | 38 | return 0 39 | } 40 | 41 | complete -o default -F _auto_jake jake 42 | -------------------------------------------------------------------------------- /node_modules/jake/bin/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | /* 3 | * Jake JavaScript build tool 4 | * Copyright 2112 Matthew Eernisse (mde@fleegix.org) 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * 18 | */ 19 | 20 | // Try to load a local jake 21 | try { 22 | require(`${ process.cwd() }/node_modules/jake`); 23 | } 24 | // If that fails, likely running globally 25 | catch(e) { 26 | require('../lib/jake'); 27 | } 28 | 29 | var args = process.argv.slice(2); 30 | 31 | jake.run.apply(jake, args); 32 | -------------------------------------------------------------------------------- /node_modules/jake/lib/task/directory_task.js: -------------------------------------------------------------------------------- 1 | let fs = require('fs'); 2 | let FileTask = require('./file_task').FileTask; 3 | 4 | /** 5 | @name jake 6 | @namespace jake 7 | */ 8 | /** 9 | @name jake.DirectoryTask 10 | @constructor 11 | @augments EventEmitter 12 | @augments jake.Task 13 | @augments jake.FileTask 14 | @description A Jake DirectoryTask 15 | 16 | @param {String} name The name of the directory to create. 17 | */ 18 | class DirectoryTask extends FileTask { 19 | constructor(...args) { 20 | super(...args); 21 | if (fs.existsSync(this.name)) { 22 | this.updateModTime(); 23 | } 24 | else { 25 | this.modTime = null; 26 | } 27 | } 28 | } 29 | 30 | exports.DirectoryTask = DirectoryTask; 31 | -------------------------------------------------------------------------------- /node_modules/jake/lib/task/index.js: -------------------------------------------------------------------------------- 1 | 2 | let Task = require('./task').Task; 3 | let FileTask = require('./file_task').FileTask; 4 | let DirectoryTask = require('./directory_task').DirectoryTask; 5 | 6 | exports.Task = Task; 7 | exports.FileTask = FileTask; 8 | exports.DirectoryTask = DirectoryTask; 9 | 10 | -------------------------------------------------------------------------------- /node_modules/jake/lib/utils/logger.js: -------------------------------------------------------------------------------- 1 | let util = require('util'); 2 | 3 | let logger = new (function () { 4 | let _output = function (type, out) { 5 | let quiet = typeof jake != 'undefined' && jake.program && 6 | jake.program.opts && jake.program.opts.quiet; 7 | let msg; 8 | if (!quiet) { 9 | msg = typeof out == 'string' ? out : util.inspect(out); 10 | console[type](msg); 11 | } 12 | }; 13 | 14 | this.log = function (out) { 15 | _output('log', out); 16 | }; 17 | 18 | this.error = function (out) { 19 | _output('error', out); 20 | }; 21 | 22 | })(); 23 | 24 | module.exports = logger; 25 | -------------------------------------------------------------------------------- /node_modules/jake/test/integration/concurrent.js: -------------------------------------------------------------------------------- 1 | let assert = require('assert'); 2 | let exec = require('child_process').execSync; 3 | 4 | suite('concurrent', function () { 5 | 6 | this.timeout(7000); 7 | 8 | test(' simple concurrent prerequisites 1', function () { 9 | let out = exec('./node_modules/.bin/jake -q concurrent:simple1').toString().trim() 10 | assert.equal('Started A\nStarted B\nFinished B\nFinished A', out); 11 | }); 12 | 13 | test(' simple concurrent prerequisites 2', function () { 14 | let out = exec('./node_modules/.bin/jake -q concurrent:simple2').toString().trim() 15 | assert.equal('Started C\nStarted D\nFinished C\nFinished D', out); 16 | }); 17 | 18 | test(' sequential concurrent prerequisites', function () { 19 | let out = exec('./node_modules/.bin/jake -q concurrent:seqconcurrent').toString().trim() 20 | assert.equal('Started A\nStarted B\nFinished B\nFinished A\nStarted C\nStarted D\nFinished C\nFinished D', out); 21 | }); 22 | 23 | test(' concurrent concurrent prerequisites', function () { 24 | let out = exec('./node_modules/.bin/jake -q concurrent:concurrentconcurrent').toString().trim() 25 | assert.equal('Started A\nStarted B\nStarted C\nStarted D\nFinished B\nFinished C\nFinished A\nFinished D', out); 26 | }); 27 | 28 | test(' concurrent prerequisites with subdependency', function () { 29 | let out = exec('./node_modules/.bin/jake -q concurrent:subdep').toString().trim() 30 | assert.equal('Started A\nFinished A\nStarted Ba\nFinished Ba', out); 31 | }); 32 | 33 | test(' failing in concurrent prerequisites', function () { 34 | try { 35 | exec('./node_modules/.bin/jake -q concurrent:Cfail'); 36 | } 37 | catch(err) { 38 | assert(err.message.indexOf('Command failed') > -1); 39 | } 40 | }); 41 | 42 | }); 43 | -------------------------------------------------------------------------------- /node_modules/jake/test/integration/helpers.js: -------------------------------------------------------------------------------- 1 | var exec = require('child_process').exec; 2 | 3 | var helpers = new (function () { 4 | var _tests; 5 | var _names = []; 6 | var _name; 7 | var _callback; 8 | var _runner = function () { 9 | if ((_name = _names.shift())) { 10 | console.log('Running ' + _name); 11 | _tests[_name](); 12 | } 13 | else { 14 | _callback(); 15 | } 16 | }; 17 | 18 | this.exec = function () { 19 | var args = Array.prototype.slice.call(arguments); 20 | var arg; 21 | var cmd = args.shift(); 22 | var opts = {}; 23 | var callback; 24 | // Optional opts/callback or callback/opts 25 | while ((arg = args.shift())) { 26 | if (typeof arg == 'function') { 27 | callback = arg; 28 | } 29 | else { 30 | opts = arg; 31 | } 32 | } 33 | 34 | cmd += ' --trace'; 35 | var execOpts = opts.execOpts ? opts.execOpts : {}; 36 | exec(cmd, execOpts, function (err, stdout, stderr) { 37 | var out = helpers.trim(stdout); 38 | if (err) { 39 | if (opts.breakOnError === false) { 40 | return callback(err); 41 | } 42 | else { 43 | throw err; 44 | } 45 | } 46 | if (stderr) { 47 | callback(stderr); 48 | } 49 | else { 50 | callback(out); 51 | } 52 | }); 53 | }; 54 | 55 | this.trim = function (s) { 56 | var str = s || ''; 57 | return str.replace(/^\s*|\s*$/g, ''); 58 | }; 59 | 60 | this.parse = function (s) { 61 | var str = s || ''; 62 | str = helpers.trim(str); 63 | str = str.replace(/'/g, '"'); 64 | return JSON.parse(str); 65 | }; 66 | 67 | this.run = function (tests, callback) { 68 | _tests = tests; 69 | _names = Object.keys(tests); 70 | _callback = callback; 71 | _runner(); 72 | }; 73 | 74 | this.next = function () { 75 | _runner(); 76 | }; 77 | 78 | })(); 79 | 80 | module.exports = helpers; 81 | -------------------------------------------------------------------------------- /node_modules/jake/test/integration/jakelib/publish.jake.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Jake JavaScript build tool 3 | * Copyright 2112 Matthew Eernisse (mde@fleegix.org) 4 | * 5 | * Licensed under the Apache License, Version 2.0 (the "License"); 6 | * you may not use this file except in compliance with the License. 7 | * You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | * 17 | */ 18 | 19 | const PROJECT_DIR = process.env.PROJECT_DIR; 20 | 21 | let fs = require('fs'); 22 | let { publishTask, rmRf, mkdirP } = require(`${PROJECT_DIR}/lib/jake`); 23 | 24 | fs.writeFileSync('package.json', '{"version": "0.0.1"}'); 25 | mkdirP('tmp_publish'); 26 | fs.writeFileSync('tmp_publish/foo.txt', 'FOO'); 27 | 28 | publishTask('zerb', function () { 29 | this.packageFiles.include([ 30 | 'package.json' 31 | , 'tmp_publish/**' 32 | ]); 33 | this.publishCmd = 'node -p -e "\'%filename\'"'; 34 | this.gitCmd = 'echo' 35 | this.scheduleDelay = 0; 36 | 37 | this._ensureRepoClean = function () {}; 38 | this._getCurrentBranch = function () { 39 | return 'v0.0' 40 | }; 41 | }); 42 | 43 | jake.setTaskTimeout(5000); 44 | 45 | jake.Task['publish'].on('complete', function () { 46 | rmRf('tmp_publish', {silent: true}); 47 | rmRf('package.json', {silent: true}); 48 | }); 49 | 50 | -------------------------------------------------------------------------------- /node_modules/jake/test/integration/jakelib/required_module.jake.js: -------------------------------------------------------------------------------- 1 | let { task, namespace } = require("jake"); 2 | 3 | namespace('usingRequire', function () { 4 | task('test', () => { 5 | console.log('howdy test'); 6 | }); 7 | }); 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /node_modules/jake/test/integration/publish_task.js: -------------------------------------------------------------------------------- 1 | let assert = require('assert'); 2 | let exec = require('child_process').execSync; 3 | 4 | suite('publishTask', function () { 5 | 6 | this.timeout(7000); 7 | 8 | test('default task', function () { 9 | let out = exec('./node_modules/.bin/jake -q publish').toString().trim(); 10 | let expected = [ 11 | 'Fetched remote tags.' 12 | , 'On branch v0.0' 13 | , 'Bumped version number to v0.0.2.' 14 | , 'Created package for zerb v0.0.2' 15 | , 'Publishing zerb v0.0.2' 16 | , './pkg/zerb-v0.0.2.tar.gz' 17 | , 'BOOM! Published.' 18 | , 'Cleaned up package' 19 | ].join('\n'); 20 | assert.equal(expected, out); 21 | }); 22 | 23 | }); 24 | 25 | -------------------------------------------------------------------------------- /node_modules/jake/test/integration/selfdep.js: -------------------------------------------------------------------------------- 1 | let assert = require('assert'); 2 | let exec = require('child_process').execSync; 3 | 4 | suite('selfDep', function () { 5 | 6 | this.timeout(7000); 7 | 8 | let origStderrWrite; 9 | 10 | setup(function () { 11 | origStderrWrite = process.stderr.write; 12 | process.stderr.write = function () {}; 13 | }); 14 | 15 | teardown(function () { 16 | process.stderr.write = origStderrWrite; 17 | }); 18 | 19 | test('self dep const', function () { 20 | try { 21 | exec('./node_modules/.bin/jake selfdepconst'); 22 | } 23 | catch(e) { 24 | assert(e.message.indexOf('dependency of itself') > -1) 25 | } 26 | }); 27 | 28 | test('self dep dyn', function () { 29 | try { 30 | exec('./node_modules/.bin/jake selfdepdyn'); 31 | } 32 | catch(e) { 33 | assert(e.message.indexOf('dependency of itself') > -1) 34 | } 35 | }); 36 | 37 | }); 38 | 39 | 40 | -------------------------------------------------------------------------------- /node_modules/jake/test/unit/jakefile.js: -------------------------------------------------------------------------------- 1 | 2 | task('foo', function () { 3 | console.log('ran top-level foo'); 4 | }); 5 | 6 | task('bar', function () { 7 | console.log('ran top-level bar'); 8 | }); 9 | 10 | task('zerb', function () { 11 | console.log('ran zerb'); 12 | }); 13 | 14 | namespace('zooby', function () { 15 | task('zerp', function () {}); 16 | 17 | task('derp', ['zerp'], function () {}); 18 | 19 | namespace('frang', function () { 20 | 21 | namespace('w00t', function () { 22 | task('bar', function () { 23 | console.log('ran zooby:frang:w00t:bar'); 24 | }); 25 | }); 26 | 27 | task('asdf', function () {}); 28 | }); 29 | 30 | }); 31 | 32 | namespace('hurr', function () { 33 | namespace('durr'); 34 | }); 35 | 36 | 37 | -------------------------------------------------------------------------------- /node_modules/jake/usage.txt: -------------------------------------------------------------------------------- 1 | Jake JavaScript build tool 2 | ******************************************************************************** 3 | If no flags are given, Jake looks for a Jakefile or Jakefile.js in the current directory. 4 | ******************************************************************************** 5 | {Usage}: jake [options ...] [env variables ...] target 6 | 7 | {Options}: 8 | -f, --jakefile FILE Use FILE as the Jakefile. 9 | -C, --directory DIRECTORY Change to DIRECTORY before running tasks. 10 | -B, --always-make Unconditionally make all targets. 11 | -T/ls, --tasks Display the tasks (matching optional PATTERN) with descriptions, then exit. 12 | -J, --jakelibdir JAKELIBDIR Auto-import any .jake files in JAKELIBDIR. (default is \'jakelib\') 13 | -h, --help Display this help message. 14 | -V/v, --version Display the Jake version. 15 | -ar, --allow-rejection Keep running even after unhandled promise rejection 16 | 17 | -------------------------------------------------------------------------------- /node_modules/media-typer/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.3.0 / 2014-09-07 2 | ================== 3 | 4 | * Support Node.js 0.6 5 | * Throw error when parameter format invalid on parse 6 | 7 | 0.2.0 / 2014-06-18 8 | ================== 9 | 10 | * Add `typer.format()` to format media types 11 | 12 | 0.1.0 / 2014-06-17 13 | ================== 14 | 15 | * Accept `req` as argument to `parse` 16 | * Accept `res` as argument to `parse` 17 | * Parse media type with extra LWS between type and first parameter 18 | 19 | 0.0.0 / 2014-06-13 20 | ================== 21 | 22 | * Initial implementation 23 | -------------------------------------------------------------------------------- /node_modules/media-typer/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/merge-descriptors/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.1 / 2016-01-17 2 | ================== 3 | 4 | * perf: enable strict mode 5 | 6 | 1.0.0 / 2015-03-01 7 | ================== 8 | 9 | * Add option to only add new descriptors 10 | * Add simple argument validation 11 | * Add jsdoc to source file 12 | 13 | 0.0.2 / 2013-12-14 14 | ================== 15 | 16 | * Move repository to `component` organization 17 | 18 | 0.0.1 / 2013-10-29 19 | ================== 20 | 21 | * Initial release 22 | -------------------------------------------------------------------------------- /node_modules/merge-descriptors/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2013 Jonathan Ong 4 | Copyright (c) 2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/merge-descriptors/README.md: -------------------------------------------------------------------------------- 1 | # Merge Descriptors 2 | 3 | [![NPM Version][npm-image]][npm-url] 4 | [![NPM Downloads][downloads-image]][downloads-url] 5 | [![Build Status][travis-image]][travis-url] 6 | [![Test Coverage][coveralls-image]][coveralls-url] 7 | 8 | Merge objects using descriptors. 9 | 10 | ```js 11 | var thing = { 12 | get name() { 13 | return 'jon' 14 | } 15 | } 16 | 17 | var animal = { 18 | 19 | } 20 | 21 | merge(animal, thing) 22 | 23 | animal.name === 'jon' 24 | ``` 25 | 26 | ## API 27 | 28 | ### merge(destination, source) 29 | 30 | Redefines `destination`'s descriptors with `source`'s. 31 | 32 | ### merge(destination, source, false) 33 | 34 | Defines `source`'s descriptors on `destination` if `destination` does not have 35 | a descriptor by the same name. 36 | 37 | ## License 38 | 39 | [MIT](LICENSE) 40 | 41 | [npm-image]: https://img.shields.io/npm/v/merge-descriptors.svg 42 | [npm-url]: https://npmjs.org/package/merge-descriptors 43 | [travis-image]: https://img.shields.io/travis/component/merge-descriptors/master.svg 44 | [travis-url]: https://travis-ci.org/component/merge-descriptors 45 | [coveralls-image]: https://img.shields.io/coveralls/component/merge-descriptors/master.svg 46 | [coveralls-url]: https://coveralls.io/r/component/merge-descriptors?branch=master 47 | [downloads-image]: https://img.shields.io/npm/dm/merge-descriptors.svg 48 | [downloads-url]: https://npmjs.org/package/merge-descriptors 49 | -------------------------------------------------------------------------------- /node_modules/merge-descriptors/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * merge-descriptors 3 | * Copyright(c) 2014 Jonathan Ong 4 | * Copyright(c) 2015 Douglas Christopher Wilson 5 | * MIT Licensed 6 | */ 7 | 8 | 'use strict' 9 | 10 | /** 11 | * Module exports. 12 | * @public 13 | */ 14 | 15 | module.exports = merge 16 | 17 | /** 18 | * Module variables. 19 | * @private 20 | */ 21 | 22 | var hasOwnProperty = Object.prototype.hasOwnProperty 23 | 24 | /** 25 | * Merge the property descriptors of `src` into `dest` 26 | * 27 | * @param {object} dest Object to add descriptors to 28 | * @param {object} src Object to clone descriptors from 29 | * @param {boolean} [redefine=true] Redefine `dest` properties with `src` properties 30 | * @returns {object} Reference to dest 31 | * @public 32 | */ 33 | 34 | function merge(dest, src, redefine) { 35 | if (!dest) { 36 | throw new TypeError('argument dest is required') 37 | } 38 | 39 | if (!src) { 40 | throw new TypeError('argument src is required') 41 | } 42 | 43 | if (redefine === undefined) { 44 | // Default to true 45 | redefine = true 46 | } 47 | 48 | Object.getOwnPropertyNames(src).forEach(function forEachOwnPropertyName(name) { 49 | if (!redefine && hasOwnProperty.call(dest, name)) { 50 | // Skip desriptor 51 | return 52 | } 53 | 54 | // Copy descriptor 55 | var descriptor = Object.getOwnPropertyDescriptor(src, name) 56 | Object.defineProperty(dest, name, descriptor) 57 | }) 58 | 59 | return dest 60 | } 61 | -------------------------------------------------------------------------------- /node_modules/methods/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.1.2 / 2016-01-17 2 | ================== 3 | 4 | * perf: enable strict mode 5 | 6 | 1.1.1 / 2014-12-30 7 | ================== 8 | 9 | * Improve `browserify` support 10 | 11 | 1.1.0 / 2014-07-05 12 | ================== 13 | 14 | * Add `CONNECT` method 15 | 16 | 1.0.1 / 2014-06-02 17 | ================== 18 | 19 | * Fix module to work with harmony transform 20 | 21 | 1.0.0 / 2014-05-08 22 | ================== 23 | 24 | * Add `PURGE` method 25 | 26 | 0.1.0 / 2013-10-28 27 | ================== 28 | 29 | * Add `http.METHODS` support 30 | -------------------------------------------------------------------------------- /node_modules/methods/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2013-2014 TJ Holowaychuk 4 | Copyright (c) 2015-2016 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | 25 | -------------------------------------------------------------------------------- /node_modules/methods/README.md: -------------------------------------------------------------------------------- 1 | # Methods 2 | 3 | [![NPM Version][npm-image]][npm-url] 4 | [![NPM Downloads][downloads-image]][downloads-url] 5 | [![Node.js Version][node-version-image]][node-version-url] 6 | [![Build Status][travis-image]][travis-url] 7 | [![Test Coverage][coveralls-image]][coveralls-url] 8 | 9 | HTTP verbs that Node.js core's HTTP parser supports. 10 | 11 | This module provides an export that is just like `http.METHODS` from Node.js core, 12 | with the following differences: 13 | 14 | * All method names are lower-cased. 15 | * Contains a fallback list of methods for Node.js versions that do not have a 16 | `http.METHODS` export (0.10 and lower). 17 | * Provides the fallback list when using tools like `browserify` without pulling 18 | in the `http` shim module. 19 | 20 | ## Install 21 | 22 | ```bash 23 | $ npm install methods 24 | ``` 25 | 26 | ## API 27 | 28 | ```js 29 | var methods = require('methods') 30 | ``` 31 | 32 | ### methods 33 | 34 | This is an array of lower-cased method names that Node.js supports. If Node.js 35 | provides the `http.METHODS` export, then this is the same array lower-cased, 36 | otherwise it is a snapshot of the verbs from Node.js 0.10. 37 | 38 | ## License 39 | 40 | [MIT](LICENSE) 41 | 42 | [npm-image]: https://img.shields.io/npm/v/methods.svg?style=flat 43 | [npm-url]: https://npmjs.org/package/methods 44 | [node-version-image]: https://img.shields.io/node/v/methods.svg?style=flat 45 | [node-version-url]: https://nodejs.org/en/download/ 46 | [travis-image]: https://img.shields.io/travis/jshttp/methods.svg?style=flat 47 | [travis-url]: https://travis-ci.org/jshttp/methods 48 | [coveralls-image]: https://img.shields.io/coveralls/jshttp/methods.svg?style=flat 49 | [coveralls-url]: https://coveralls.io/r/jshttp/methods?branch=master 50 | [downloads-image]: https://img.shields.io/npm/dm/methods.svg?style=flat 51 | [downloads-url]: https://npmjs.org/package/methods 52 | -------------------------------------------------------------------------------- /node_modules/methods/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * methods 3 | * Copyright(c) 2013-2014 TJ Holowaychuk 4 | * Copyright(c) 2015-2016 Douglas Christopher Wilson 5 | * MIT Licensed 6 | */ 7 | 8 | 'use strict'; 9 | 10 | /** 11 | * Module dependencies. 12 | * @private 13 | */ 14 | 15 | var http = require('http'); 16 | 17 | /** 18 | * Module exports. 19 | * @public 20 | */ 21 | 22 | module.exports = getCurrentNodeMethods() || getBasicNodeMethods(); 23 | 24 | /** 25 | * Get the current Node.js methods. 26 | * @private 27 | */ 28 | 29 | function getCurrentNodeMethods() { 30 | return http.METHODS && http.METHODS.map(function lowerCaseMethod(method) { 31 | return method.toLowerCase(); 32 | }); 33 | } 34 | 35 | /** 36 | * Get the "basic" Node.js methods, a snapshot from Node.js 0.10. 37 | * @private 38 | */ 39 | 40 | function getBasicNodeMethods() { 41 | return [ 42 | 'get', 43 | 'post', 44 | 'put', 45 | 'head', 46 | 'delete', 47 | 'options', 48 | 'trace', 49 | 'copy', 50 | 'lock', 51 | 'mkcol', 52 | 'move', 53 | 'purge', 54 | 'propfind', 55 | 'proppatch', 56 | 'unlock', 57 | 'report', 58 | 'mkactivity', 59 | 'checkout', 60 | 'merge', 61 | 'm-search', 62 | 'notify', 63 | 'subscribe', 64 | 'unsubscribe', 65 | 'patch', 66 | 'search', 67 | 'connect' 68 | ]; 69 | } 70 | -------------------------------------------------------------------------------- /node_modules/mime-db/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/mime-db/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * mime-db 3 | * Copyright(c) 2014 Jonathan Ong 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Module exports. 9 | */ 10 | 11 | module.exports = require('./db.json') 12 | -------------------------------------------------------------------------------- /node_modules/mime-types/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Jonathan Ong 4 | Copyright (c) 2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/mime/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dhairyaostwal/Programmer-Jokes/0f5ea1220c18ec22931de562c18838e936c11120/node_modules/mime/.npmignore -------------------------------------------------------------------------------- /node_modules/mime/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2010 Benjamin Thomas, Robert Kieffer 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/mime/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var mime = require('./mime.js'); 4 | var file = process.argv[2]; 5 | var type = mime.lookup(file); 6 | 7 | process.stdout.write(type + '\n'); 8 | 9 | -------------------------------------------------------------------------------- /node_modules/mime/src/build.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | 'use strict'; 4 | 5 | const fs = require('fs'); 6 | const path = require('path'); 7 | const mimeScore = require('mime-score'); 8 | 9 | let db = require('mime-db'); 10 | let chalk = require('chalk'); 11 | 12 | const STANDARD_FACET_SCORE = 900; 13 | 14 | const byExtension = {}; 15 | 16 | // Clear out any conflict extensions in mime-db 17 | for (let type in db) { 18 | let entry = db[type]; 19 | entry.type = type; 20 | 21 | if (!entry.extensions) continue; 22 | 23 | entry.extensions.forEach(ext => { 24 | if (ext in byExtension) { 25 | const e0 = entry; 26 | const e1 = byExtension[ext]; 27 | e0.pri = mimeScore(e0.type, e0.source); 28 | e1.pri = mimeScore(e1.type, e1.source); 29 | 30 | let drop = e0.pri < e1.pri ? e0 : e1; 31 | let keep = e0.pri >= e1.pri ? e0 : e1; 32 | drop.extensions = drop.extensions.filter(e => e !== ext); 33 | 34 | console.log(`${ext}: Keeping ${chalk.green(keep.type)} (${keep.pri}), dropping ${chalk.red(drop.type)} (${drop.pri})`); 35 | } 36 | byExtension[ext] = entry; 37 | }); 38 | } 39 | 40 | function writeTypesFile(types, path) { 41 | fs.writeFileSync(path, JSON.stringify(types)); 42 | } 43 | 44 | // Segregate into standard and non-standard types based on facet per 45 | // https://tools.ietf.org/html/rfc6838#section-3.1 46 | const types = {}; 47 | 48 | Object.keys(db).sort().forEach(k => { 49 | const entry = db[k]; 50 | types[entry.type] = entry.extensions; 51 | }); 52 | 53 | writeTypesFile(types, path.join(__dirname, '..', 'types.json')); 54 | -------------------------------------------------------------------------------- /node_modules/minimatch/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /node_modules/ms/license.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Zeit, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/ms/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "ms@2.0.0", 3 | "_id": "ms@2.0.0", 4 | "_inBundle": false, 5 | "_integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 6 | "_location": "/ms", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "ms@2.0.0", 12 | "name": "ms", 13 | "escapedName": "ms", 14 | "rawSpec": "2.0.0", 15 | "saveSpec": null, 16 | "fetchSpec": "2.0.0" 17 | }, 18 | "_requiredBy": [ 19 | "/debug" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 22 | "_shasum": "5608aeadfc00be6c2901df5f9861788de0d597c8", 23 | "_spec": "ms@2.0.0", 24 | "_where": "/Users/dhairyaostwal/Desktop/jokesApp/node_modules/debug", 25 | "bugs": { 26 | "url": "https://github.com/zeit/ms/issues" 27 | }, 28 | "bundleDependencies": false, 29 | "deprecated": false, 30 | "description": "Tiny milisecond conversion utility", 31 | "devDependencies": { 32 | "eslint": "3.19.0", 33 | "expect.js": "0.3.1", 34 | "husky": "0.13.3", 35 | "lint-staged": "3.4.1", 36 | "mocha": "3.4.1" 37 | }, 38 | "eslintConfig": { 39 | "extends": "eslint:recommended", 40 | "env": { 41 | "node": true, 42 | "es6": true 43 | } 44 | }, 45 | "files": [ 46 | "index.js" 47 | ], 48 | "homepage": "https://github.com/zeit/ms#readme", 49 | "license": "MIT", 50 | "lint-staged": { 51 | "*.js": [ 52 | "npm run lint", 53 | "prettier --single-quote --write", 54 | "git add" 55 | ] 56 | }, 57 | "main": "./index", 58 | "name": "ms", 59 | "repository": { 60 | "type": "git", 61 | "url": "git+https://github.com/zeit/ms.git" 62 | }, 63 | "scripts": { 64 | "lint": "eslint lib/* bin/*", 65 | "precommit": "lint-staged", 66 | "test": "mocha tests.js" 67 | }, 68 | "version": "2.0.0" 69 | } 70 | -------------------------------------------------------------------------------- /node_modules/ms/readme.md: -------------------------------------------------------------------------------- 1 | # ms 2 | 3 | [![Build Status](https://travis-ci.org/zeit/ms.svg?branch=master)](https://travis-ci.org/zeit/ms) 4 | [![Slack Channel](http://zeit-slackin.now.sh/badge.svg)](https://zeit.chat/) 5 | 6 | Use this package to easily convert various time formats to milliseconds. 7 | 8 | ## Examples 9 | 10 | ```js 11 | ms('2 days') // 172800000 12 | ms('1d') // 86400000 13 | ms('10h') // 36000000 14 | ms('2.5 hrs') // 9000000 15 | ms('2h') // 7200000 16 | ms('1m') // 60000 17 | ms('5s') // 5000 18 | ms('1y') // 31557600000 19 | ms('100') // 100 20 | ``` 21 | 22 | ### Convert from milliseconds 23 | 24 | ```js 25 | ms(60000) // "1m" 26 | ms(2 * 60000) // "2m" 27 | ms(ms('10 hours')) // "10h" 28 | ``` 29 | 30 | ### Time format written-out 31 | 32 | ```js 33 | ms(60000, { long: true }) // "1 minute" 34 | ms(2 * 60000, { long: true }) // "2 minutes" 35 | ms(ms('10 hours'), { long: true }) // "10 hours" 36 | ``` 37 | 38 | ## Features 39 | 40 | - Works both in [node](https://nodejs.org) and in the browser. 41 | - If a number is supplied to `ms`, a string with a unit is returned. 42 | - If a string that contains the number is supplied, it returns it as a number (e.g.: it returns `100` for `'100'`). 43 | - If you pass a string with a number and a valid unit, the number of equivalent ms is returned. 44 | 45 | ## Caught a bug? 46 | 47 | 1. [Fork](https://help.github.com/articles/fork-a-repo/) this repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device 48 | 2. Link the package to the global module directory: `npm link` 49 | 3. Within the module you want to test your local development instance of ms, just link it to the dependencies: `npm link ms`. Instead of the default one from npm, node will now use your clone of ms! 50 | 51 | As always, you can run the tests using: `npm test` 52 | -------------------------------------------------------------------------------- /node_modules/negotiator/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012-2014 Federico Romero 4 | Copyright (c) 2012-2014 Isaac Z. Schlueter 5 | Copyright (c) 2014-2015 Douglas Christopher Wilson 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining 8 | a copy of this software and associated documentation files (the 9 | 'Software'), to deal in the Software without restriction, including 10 | without limitation the rights to use, copy, modify, merge, publish, 11 | distribute, sublicense, and/or sell copies of the Software, and to 12 | permit persons to whom the Software is furnished to do so, subject to 13 | the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be 16 | included in all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /node_modules/on-finished/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2013 Jonathan Ong 4 | Copyright (c) 2014 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/parseurl/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.3.3 / 2019-04-15 2 | ================== 3 | 4 | * Fix Node.js 0.8 return value inconsistencies 5 | 6 | 1.3.2 / 2017-09-09 7 | ================== 8 | 9 | * perf: reduce overhead for full URLs 10 | * perf: unroll the "fast-path" `RegExp` 11 | 12 | 1.3.1 / 2016-01-17 13 | ================== 14 | 15 | * perf: enable strict mode 16 | 17 | 1.3.0 / 2014-08-09 18 | ================== 19 | 20 | * Add `parseurl.original` for parsing `req.originalUrl` with fallback 21 | * Return `undefined` if `req.url` is `undefined` 22 | 23 | 1.2.0 / 2014-07-21 24 | ================== 25 | 26 | * Cache URLs based on original value 27 | * Remove no-longer-needed URL mis-parse work-around 28 | * Simplify the "fast-path" `RegExp` 29 | 30 | 1.1.3 / 2014-07-08 31 | ================== 32 | 33 | * Fix typo 34 | 35 | 1.1.2 / 2014-07-08 36 | ================== 37 | 38 | * Seriously fix Node.js 0.8 compatibility 39 | 40 | 1.1.1 / 2014-07-08 41 | ================== 42 | 43 | * Fix Node.js 0.8 compatibility 44 | 45 | 1.1.0 / 2014-07-08 46 | ================== 47 | 48 | * Incorporate URL href-only parse fast-path 49 | 50 | 1.0.1 / 2014-03-08 51 | ================== 52 | 53 | * Add missing `require` 54 | 55 | 1.0.0 / 2014-03-08 56 | ================== 57 | 58 | * Genesis from `connect` 59 | -------------------------------------------------------------------------------- /node_modules/parseurl/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | (The MIT License) 3 | 4 | Copyright (c) 2014 Jonathan Ong 5 | Copyright (c) 2014-2017 Douglas Christopher Wilson 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining 8 | a copy of this software and associated documentation files (the 9 | 'Software'), to deal in the Software without restriction, including 10 | without limitation the rights to use, copy, modify, merge, publish, 11 | distribute, sublicense, and/or sell copies of the Software, and to 12 | permit persons to whom the Software is furnished to do so, subject to 13 | the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be 16 | included in all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /node_modules/path-to-regexp/History.md: -------------------------------------------------------------------------------- 1 | 0.1.7 / 2015-07-28 2 | ================== 3 | 4 | * Fixed regression with escaped round brackets and matching groups. 5 | 6 | 0.1.6 / 2015-06-19 7 | ================== 8 | 9 | * Replace `index` feature by outputting all parameters, unnamed and named. 10 | 11 | 0.1.5 / 2015-05-08 12 | ================== 13 | 14 | * Add an index property for position in match result. 15 | 16 | 0.1.4 / 2015-03-05 17 | ================== 18 | 19 | * Add license information 20 | 21 | 0.1.3 / 2014-07-06 22 | ================== 23 | 24 | * Better array support 25 | * Improved support for trailing slash in non-ending mode 26 | 27 | 0.1.0 / 2014-03-06 28 | ================== 29 | 30 | * add options.end 31 | 32 | 0.0.2 / 2013-02-10 33 | ================== 34 | 35 | * Update to match current express 36 | * add .license property to component.json 37 | -------------------------------------------------------------------------------- /node_modules/path-to-regexp/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/path-to-regexp/Readme.md: -------------------------------------------------------------------------------- 1 | # Path-to-RegExp 2 | 3 | Turn an Express-style path string such as `/user/:name` into a regular expression. 4 | 5 | **Note:** This is a legacy branch. You should upgrade to `1.x`. 6 | 7 | ## Usage 8 | 9 | ```javascript 10 | var pathToRegexp = require('path-to-regexp'); 11 | ``` 12 | 13 | ### pathToRegexp(path, keys, options) 14 | 15 | - **path** A string in the express format, an array of such strings, or a regular expression 16 | - **keys** An array to be populated with the keys present in the url. Once the function completes, this will be an array of strings. 17 | - **options** 18 | - **options.sensitive** Defaults to false, set this to true to make routes case sensitive 19 | - **options.strict** Defaults to false, set this to true to make the trailing slash matter. 20 | - **options.end** Defaults to true, set this to false to only match the prefix of the URL. 21 | 22 | ```javascript 23 | var keys = []; 24 | var exp = pathToRegexp('/foo/:bar', keys); 25 | //keys = ['bar'] 26 | //exp = /^\/foo\/(?:([^\/]+?))\/?$/i 27 | ``` 28 | 29 | ## Live Demo 30 | 31 | You can see a live demo of this library in use at [express-route-tester](http://forbeslindesay.github.com/express-route-tester/). 32 | 33 | ## License 34 | 35 | MIT 36 | -------------------------------------------------------------------------------- /node_modules/path-to-regexp/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "path-to-regexp@0.1.7", 3 | "_id": "path-to-regexp@0.1.7", 4 | "_inBundle": false, 5 | "_integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", 6 | "_location": "/path-to-regexp", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "path-to-regexp@0.1.7", 12 | "name": "path-to-regexp", 13 | "escapedName": "path-to-regexp", 14 | "rawSpec": "0.1.7", 15 | "saveSpec": null, 16 | "fetchSpec": "0.1.7" 17 | }, 18 | "_requiredBy": [ 19 | "/express" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", 22 | "_shasum": "df604178005f522f15eb4490e7247a1bfaa67f8c", 23 | "_spec": "path-to-regexp@0.1.7", 24 | "_where": "/Users/dhairyaostwal/Desktop/jokesApp/node_modules/express", 25 | "bugs": { 26 | "url": "https://github.com/component/path-to-regexp/issues" 27 | }, 28 | "bundleDependencies": false, 29 | "component": { 30 | "scripts": { 31 | "path-to-regexp": "index.js" 32 | } 33 | }, 34 | "deprecated": false, 35 | "description": "Express style path to RegExp utility", 36 | "devDependencies": { 37 | "istanbul": "^0.2.6", 38 | "mocha": "^1.17.1" 39 | }, 40 | "files": [ 41 | "index.js", 42 | "LICENSE" 43 | ], 44 | "homepage": "https://github.com/component/path-to-regexp#readme", 45 | "keywords": [ 46 | "express", 47 | "regexp" 48 | ], 49 | "license": "MIT", 50 | "name": "path-to-regexp", 51 | "repository": { 52 | "type": "git", 53 | "url": "git+https://github.com/component/path-to-regexp.git" 54 | }, 55 | "scripts": { 56 | "test": "istanbul cover _mocha -- -R spec" 57 | }, 58 | "version": "0.1.7" 59 | } 60 | -------------------------------------------------------------------------------- /node_modules/proxy-addr/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2016 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/qs/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 4 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | max_line_length = 160 11 | 12 | [test/*] 13 | max_line_length = off 14 | 15 | [*.md] 16 | max_line_length = off 17 | 18 | [*.json] 19 | max_line_length = off 20 | 21 | [Makefile] 22 | max_line_length = off 23 | 24 | [CHANGELOG.md] 25 | indent_style = space 26 | indent_size = 2 27 | 28 | [LICENSE] 29 | indent_size = 2 30 | max_line_length = off 31 | -------------------------------------------------------------------------------- /node_modules/qs/.eslintignore: -------------------------------------------------------------------------------- 1 | dist 2 | -------------------------------------------------------------------------------- /node_modules/qs/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "rules": { 7 | "complexity": 0, 8 | "consistent-return": 1, 9 | "func-name-matching": 0, 10 | "id-length": [2, { "min": 1, "max": 25, "properties": "never" }], 11 | "indent": [2, 4], 12 | "max-lines-per-function": [2, { "max": 150 }], 13 | "max-params": [2, 14], 14 | "max-statements": [2, 52], 15 | "multiline-comment-style": 0, 16 | "no-continue": 1, 17 | "no-magic-numbers": 0, 18 | "no-restricted-syntax": [2, "BreakStatement", "DebuggerStatement", "ForInStatement", "LabeledStatement", "WithStatement"], 19 | "operator-linebreak": [2, "before"], 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /node_modules/qs/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 Nathan LaFreniere and other contributors. 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | * Redistributions of source code must retain the above copyright 7 | notice, this list of conditions and the following disclaimer. 8 | * Redistributions in binary form must reproduce the above copyright 9 | notice, this list of conditions and the following disclaimer in the 10 | documentation and/or other materials provided with the distribution. 11 | * The names of any contributors may not be used to endorse or promote 12 | products derived from this software without specific prior written 13 | permission. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 16 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY 19 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | 26 | * * * 27 | 28 | The complete list of contributors can be found at: https://github.com/hapijs/qs/graphs/contributors 29 | -------------------------------------------------------------------------------- /node_modules/qs/lib/formats.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var replace = String.prototype.replace; 4 | var percentTwenties = /%20/g; 5 | 6 | module.exports = { 7 | 'default': 'RFC3986', 8 | formatters: { 9 | RFC1738: function (value) { 10 | return replace.call(value, percentTwenties, '+'); 11 | }, 12 | RFC3986: function (value) { 13 | return value; 14 | } 15 | }, 16 | RFC1738: 'RFC1738', 17 | RFC3986: 'RFC3986' 18 | }; 19 | -------------------------------------------------------------------------------- /node_modules/qs/lib/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var stringify = require('./stringify'); 4 | var parse = require('./parse'); 5 | var formats = require('./formats'); 6 | 7 | module.exports = { 8 | formats: formats, 9 | parse: parse, 10 | stringify: stringify 11 | }; 12 | -------------------------------------------------------------------------------- /node_modules/qs/test/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "array-bracket-newline": 0, 4 | "array-element-newline": 0, 5 | "consistent-return": 2, 6 | "function-paren-newline": 0, 7 | "max-lines": 0, 8 | "max-lines-per-function": 0, 9 | "max-nested-callbacks": [2, 3], 10 | "max-statements": 0, 11 | "no-buffer-constructor": 0, 12 | "no-extend-native": 0, 13 | "no-magic-numbers": 0, 14 | "object-curly-newline": 0, 15 | "sort-keys": 0 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /node_modules/qs/test/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | require('./parse'); 4 | 5 | require('./stringify'); 6 | 7 | require('./utils'); 8 | -------------------------------------------------------------------------------- /node_modules/range-parser/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.2.1 / 2019-05-10 2 | ================== 3 | 4 | * Improve error when `str` is not a string 5 | 6 | 1.2.0 / 2016-06-01 7 | ================== 8 | 9 | * Add `combine` option to combine overlapping ranges 10 | 11 | 1.1.0 / 2016-05-13 12 | ================== 13 | 14 | * Fix incorrectly returning -1 when there is at least one valid range 15 | * perf: remove internal function 16 | 17 | 1.0.3 / 2015-10-29 18 | ================== 19 | 20 | * perf: enable strict mode 21 | 22 | 1.0.2 / 2014-09-08 23 | ================== 24 | 25 | * Support Node.js 0.6 26 | 27 | 1.0.1 / 2014-09-07 28 | ================== 29 | 30 | * Move repository to jshttp 31 | 32 | 1.0.0 / 2013-12-11 33 | ================== 34 | 35 | * Add repository to package.json 36 | * Add MIT license 37 | 38 | 0.0.4 / 2012-06-17 39 | ================== 40 | 41 | * Change ret -1 for unsatisfiable and -2 when invalid 42 | 43 | 0.0.3 / 2012-06-17 44 | ================== 45 | 46 | * Fix last-byte-pos default to len - 1 47 | 48 | 0.0.2 / 2012-06-14 49 | ================== 50 | 51 | * Add `.type` 52 | 53 | 0.0.1 / 2012-06-11 54 | ================== 55 | 56 | * Initial release 57 | -------------------------------------------------------------------------------- /node_modules/range-parser/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012-2014 TJ Holowaychuk 4 | Copyright (c) 2015-2016 Douglas Christopher Wilson 4 | Copyright (c) 2014-2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/safe-buffer/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) Feross Aboukhadijeh 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/safe-buffer/index.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable node/no-deprecated-api */ 2 | var buffer = require('buffer') 3 | var Buffer = buffer.Buffer 4 | 5 | // alternative to using Object.keys for old browsers 6 | function copyProps (src, dst) { 7 | for (var key in src) { 8 | dst[key] = src[key] 9 | } 10 | } 11 | if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) { 12 | module.exports = buffer 13 | } else { 14 | // Copy properties from require('buffer') 15 | copyProps(buffer, exports) 16 | exports.Buffer = SafeBuffer 17 | } 18 | 19 | function SafeBuffer (arg, encodingOrOffset, length) { 20 | return Buffer(arg, encodingOrOffset, length) 21 | } 22 | 23 | // Copy static methods from Buffer 24 | copyProps(Buffer, SafeBuffer) 25 | 26 | SafeBuffer.from = function (arg, encodingOrOffset, length) { 27 | if (typeof arg === 'number') { 28 | throw new TypeError('Argument must not be a number') 29 | } 30 | return Buffer(arg, encodingOrOffset, length) 31 | } 32 | 33 | SafeBuffer.alloc = function (size, fill, encoding) { 34 | if (typeof size !== 'number') { 35 | throw new TypeError('Argument must be a number') 36 | } 37 | var buf = Buffer(size) 38 | if (fill !== undefined) { 39 | if (typeof encoding === 'string') { 40 | buf.fill(fill, encoding) 41 | } else { 42 | buf.fill(fill) 43 | } 44 | } else { 45 | buf.fill(0) 46 | } 47 | return buf 48 | } 49 | 50 | SafeBuffer.allocUnsafe = function (size) { 51 | if (typeof size !== 'number') { 52 | throw new TypeError('Argument must be a number') 53 | } 54 | return Buffer(size) 55 | } 56 | 57 | SafeBuffer.allocUnsafeSlow = function (size) { 58 | if (typeof size !== 'number') { 59 | throw new TypeError('Argument must be a number') 60 | } 61 | return buffer.SlowBuffer(size) 62 | } 63 | -------------------------------------------------------------------------------- /node_modules/safe-buffer/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "safe-buffer@5.1.2", 3 | "_id": "safe-buffer@5.1.2", 4 | "_inBundle": false, 5 | "_integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 6 | "_location": "/safe-buffer", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "safe-buffer@5.1.2", 12 | "name": "safe-buffer", 13 | "escapedName": "safe-buffer", 14 | "rawSpec": "5.1.2", 15 | "saveSpec": null, 16 | "fetchSpec": "5.1.2" 17 | }, 18 | "_requiredBy": [ 19 | "/content-disposition", 20 | "/express" 21 | ], 22 | "_resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 23 | "_shasum": "991ec69d296e0313747d59bdfd2b745c35f8828d", 24 | "_spec": "safe-buffer@5.1.2", 25 | "_where": "/Users/dhairyaostwal/Desktop/jokesApp/node_modules/express", 26 | "author": { 27 | "name": "Feross Aboukhadijeh", 28 | "email": "feross@feross.org", 29 | "url": "http://feross.org" 30 | }, 31 | "bugs": { 32 | "url": "https://github.com/feross/safe-buffer/issues" 33 | }, 34 | "bundleDependencies": false, 35 | "deprecated": false, 36 | "description": "Safer Node.js Buffer API", 37 | "devDependencies": { 38 | "standard": "*", 39 | "tape": "^4.0.0" 40 | }, 41 | "homepage": "https://github.com/feross/safe-buffer", 42 | "keywords": [ 43 | "buffer", 44 | "buffer allocate", 45 | "node security", 46 | "safe", 47 | "safe-buffer", 48 | "security", 49 | "uninitialized" 50 | ], 51 | "license": "MIT", 52 | "main": "index.js", 53 | "name": "safe-buffer", 54 | "repository": { 55 | "type": "git", 56 | "url": "git://github.com/feross/safe-buffer.git" 57 | }, 58 | "scripts": { 59 | "test": "standard && tape test/*.js" 60 | }, 61 | "types": "index.d.ts", 62 | "version": "5.1.2" 63 | } 64 | -------------------------------------------------------------------------------- /node_modules/safer-buffer/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Nikita Skovoroda 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/safer-buffer/dangerous.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable node/no-deprecated-api */ 2 | 3 | 'use strict' 4 | 5 | var buffer = require('buffer') 6 | var Buffer = buffer.Buffer 7 | var safer = require('./safer.js') 8 | var Safer = safer.Buffer 9 | 10 | var dangerous = {} 11 | 12 | var key 13 | 14 | for (key in safer) { 15 | if (!safer.hasOwnProperty(key)) continue 16 | dangerous[key] = safer[key] 17 | } 18 | 19 | var Dangereous = dangerous.Buffer = {} 20 | 21 | // Copy Safer API 22 | for (key in Safer) { 23 | if (!Safer.hasOwnProperty(key)) continue 24 | Dangereous[key] = Safer[key] 25 | } 26 | 27 | // Copy those missing unsafe methods, if they are present 28 | for (key in Buffer) { 29 | if (!Buffer.hasOwnProperty(key)) continue 30 | if (Dangereous.hasOwnProperty(key)) continue 31 | Dangereous[key] = Buffer[key] 32 | } 33 | 34 | if (!Dangereous.allocUnsafe) { 35 | Dangereous.allocUnsafe = function (size) { 36 | if (typeof size !== 'number') { 37 | throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size) 38 | } 39 | if (size < 0 || size >= 2 * (1 << 30)) { 40 | throw new RangeError('The value "' + size + '" is invalid for option "size"') 41 | } 42 | return Buffer(size) 43 | } 44 | } 45 | 46 | if (!Dangereous.allocUnsafeSlow) { 47 | Dangereous.allocUnsafeSlow = function (size) { 48 | if (typeof size !== 'number') { 49 | throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size) 50 | } 51 | if (size < 0 || size >= 2 * (1 << 30)) { 52 | throw new RangeError('The value "' + size + '" is invalid for option "size"') 53 | } 54 | return buffer.SlowBuffer(size) 55 | } 56 | } 57 | 58 | module.exports = dangerous 59 | -------------------------------------------------------------------------------- /node_modules/send/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012 TJ Holowaychuk 4 | Copyright (c) 2014-2016 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/send/node_modules/ms/license.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Zeit, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/send/node_modules/ms/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "ms@2.1.1", 3 | "_id": "ms@2.1.1", 4 | "_inBundle": false, 5 | "_integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", 6 | "_location": "/send/ms", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "ms@2.1.1", 12 | "name": "ms", 13 | "escapedName": "ms", 14 | "rawSpec": "2.1.1", 15 | "saveSpec": null, 16 | "fetchSpec": "2.1.1" 17 | }, 18 | "_requiredBy": [ 19 | "/send" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", 22 | "_shasum": "30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a", 23 | "_spec": "ms@2.1.1", 24 | "_where": "/Users/dhairyaostwal/Desktop/jokesApp/node_modules/send", 25 | "bugs": { 26 | "url": "https://github.com/zeit/ms/issues" 27 | }, 28 | "bundleDependencies": false, 29 | "deprecated": false, 30 | "description": "Tiny millisecond conversion utility", 31 | "devDependencies": { 32 | "eslint": "4.12.1", 33 | "expect.js": "0.3.1", 34 | "husky": "0.14.3", 35 | "lint-staged": "5.0.0", 36 | "mocha": "4.0.1" 37 | }, 38 | "eslintConfig": { 39 | "extends": "eslint:recommended", 40 | "env": { 41 | "node": true, 42 | "es6": true 43 | } 44 | }, 45 | "files": [ 46 | "index.js" 47 | ], 48 | "homepage": "https://github.com/zeit/ms#readme", 49 | "license": "MIT", 50 | "lint-staged": { 51 | "*.js": [ 52 | "npm run lint", 53 | "prettier --single-quote --write", 54 | "git add" 55 | ] 56 | }, 57 | "main": "./index", 58 | "name": "ms", 59 | "repository": { 60 | "type": "git", 61 | "url": "git+https://github.com/zeit/ms.git" 62 | }, 63 | "scripts": { 64 | "lint": "eslint lib/* bin/*", 65 | "precommit": "lint-staged", 66 | "test": "mocha tests.js" 67 | }, 68 | "version": "2.1.1" 69 | } 70 | -------------------------------------------------------------------------------- /node_modules/serve-static/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2010 Sencha Inc. 4 | Copyright (c) 2011 LearnBoost 5 | Copyright (c) 2011 TJ Holowaychuk 6 | Copyright (c) 2014-2016 Douglas Christopher Wilson 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining 9 | a copy of this software and associated documentation files (the 10 | 'Software'), to deal in the Software without restriction, including 11 | without limitation the rights to use, copy, modify, merge, publish, 12 | distribute, sublicense, and/or sell copies of the Software, and to 13 | permit persons to whom the Software is furnished to do so, subject to 14 | the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be 17 | included in all copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 20 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 21 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 22 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 23 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 24 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | -------------------------------------------------------------------------------- /node_modules/setprototypeof/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015, Wes Todd 2 | 3 | Permission to use, copy, modify, and/or distribute this software for any 4 | purpose with or without fee is hereby granted, provided that the above 5 | copyright notice and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 10 | SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 12 | OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 13 | CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 | -------------------------------------------------------------------------------- /node_modules/setprototypeof/README.md: -------------------------------------------------------------------------------- 1 | # Polyfill for `Object.setPrototypeOf` 2 | 3 | [![NPM Version](https://img.shields.io/npm/v/setprototypeof.svg)](https://npmjs.org/package/setprototypeof) 4 | [![NPM Downloads](https://img.shields.io/npm/dm/setprototypeof.svg)](https://npmjs.org/package/setprototypeof) 5 | [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](https://github.com/standard/standard) 6 | 7 | A simple cross platform implementation to set the prototype of an instianted object. Supports all modern browsers and at least back to IE8. 8 | 9 | ## Usage: 10 | 11 | ``` 12 | $ npm install --save setprototypeof 13 | ``` 14 | 15 | ```javascript 16 | var setPrototypeOf = require('setprototypeof') 17 | 18 | var obj = {} 19 | setPrototypeOf(obj, { 20 | foo: function () { 21 | return 'bar' 22 | } 23 | }) 24 | obj.foo() // bar 25 | ``` 26 | 27 | TypeScript is also supported: 28 | 29 | ```typescript 30 | import setPrototypeOf = require('setprototypeof') 31 | ``` 32 | -------------------------------------------------------------------------------- /node_modules/setprototypeof/index.d.ts: -------------------------------------------------------------------------------- 1 | declare function setPrototypeOf(o: any, proto: object | null): any; 2 | export = setPrototypeOf; 3 | -------------------------------------------------------------------------------- /node_modules/setprototypeof/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | /* eslint no-proto: 0 */ 3 | module.exports = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties) 4 | 5 | function setProtoOf (obj, proto) { 6 | obj.__proto__ = proto 7 | return obj 8 | } 9 | 10 | function mixinProperties (obj, proto) { 11 | for (var prop in proto) { 12 | if (!obj.hasOwnProperty(prop)) { 13 | obj[prop] = proto[prop] 14 | } 15 | } 16 | return obj 17 | } 18 | -------------------------------------------------------------------------------- /node_modules/setprototypeof/test/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | /* eslint-env mocha */ 3 | /* eslint no-proto: 0 */ 4 | var assert = require('assert') 5 | var setPrototypeOf = require('..') 6 | 7 | describe('setProtoOf(obj, proto)', function () { 8 | it('should merge objects', function () { 9 | var obj = { a: 1, b: 2 } 10 | var proto = { b: 3, c: 4 } 11 | var mergeObj = setPrototypeOf(obj, proto) 12 | 13 | if (Object.getPrototypeOf) { 14 | assert.strictEqual(Object.getPrototypeOf(obj), proto) 15 | } else if ({ __proto__: [] } instanceof Array) { 16 | assert.strictEqual(obj.__proto__, proto) 17 | } else { 18 | assert.strictEqual(obj.a, 1) 19 | assert.strictEqual(obj.b, 2) 20 | assert.strictEqual(obj.c, 4) 21 | } 22 | assert.strictEqual(mergeObj, obj) 23 | }) 24 | }) 25 | -------------------------------------------------------------------------------- /node_modules/statuses/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.5.0 / 2018-03-27 2 | ================== 3 | 4 | * Add `103 Early Hints` 5 | 6 | 1.4.0 / 2017-10-20 7 | ================== 8 | 9 | * Add `STATUS_CODES` export 10 | 11 | 1.3.1 / 2016-11-11 12 | ================== 13 | 14 | * Fix return type in JSDoc 15 | 16 | 1.3.0 / 2016-05-17 17 | ================== 18 | 19 | * Add `421 Misdirected Request` 20 | * perf: enable strict mode 21 | 22 | 1.2.1 / 2015-02-01 23 | ================== 24 | 25 | * Fix message for status 451 26 | - `451 Unavailable For Legal Reasons` 27 | 28 | 1.2.0 / 2014-09-28 29 | ================== 30 | 31 | * Add `208 Already Repored` 32 | * Add `226 IM Used` 33 | * Add `306 (Unused)` 34 | * Add `415 Unable For Legal Reasons` 35 | * Add `508 Loop Detected` 36 | 37 | 1.1.1 / 2014-09-24 38 | ================== 39 | 40 | * Add missing 308 to `codes.json` 41 | 42 | 1.1.0 / 2014-09-21 43 | ================== 44 | 45 | * Add `codes.json` for universal support 46 | 47 | 1.0.4 / 2014-08-20 48 | ================== 49 | 50 | * Package cleanup 51 | 52 | 1.0.3 / 2014-06-08 53 | ================== 54 | 55 | * Add 308 to `.redirect` category 56 | 57 | 1.0.2 / 2014-03-13 58 | ================== 59 | 60 | * Add `.retry` category 61 | 62 | 1.0.1 / 2014-03-12 63 | ================== 64 | 65 | * Initial release 66 | -------------------------------------------------------------------------------- /node_modules/statuses/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong 5 | Copyright (c) 2016 Douglas Christopher Wilson 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in 15 | all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/supports-color/browser.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | stdout: false, 4 | stderr: false 5 | }; 6 | -------------------------------------------------------------------------------- /node_modules/supports-color/license: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Sindre Sorhus (sindresorhus.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /node_modules/toidentifier/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/toidentifier/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * toidentifier 3 | * Copyright(c) 2016 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Module exports. 9 | * @public 10 | */ 11 | 12 | module.exports = toIdentifier 13 | 14 | /** 15 | * Trasform the given string into a JavaScript identifier 16 | * 17 | * @param {string} str 18 | * @returns {string} 19 | * @public 20 | */ 21 | 22 | function toIdentifier (str) { 23 | return str 24 | .split(' ') 25 | .map(function (token) { 26 | return token.slice(0, 1).toUpperCase() + token.slice(1) 27 | }) 28 | .join('') 29 | .replace(/[^ _0-9a-z]/gi, '') 30 | } 31 | -------------------------------------------------------------------------------- /node_modules/type-is/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Jonathan Ong 4 | Copyright (c) 2014-2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/unpipe/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.0 / 2015-06-14 2 | ================== 3 | 4 | * Initial release 5 | -------------------------------------------------------------------------------- /node_modules/unpipe/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2015 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/unpipe/README.md: -------------------------------------------------------------------------------- 1 | # unpipe 2 | 3 | [![NPM Version][npm-image]][npm-url] 4 | [![NPM Downloads][downloads-image]][downloads-url] 5 | [![Node.js Version][node-image]][node-url] 6 | [![Build Status][travis-image]][travis-url] 7 | [![Test Coverage][coveralls-image]][coveralls-url] 8 | 9 | Unpipe a stream from all destinations. 10 | 11 | ## Installation 12 | 13 | ```sh 14 | $ npm install unpipe 15 | ``` 16 | 17 | ## API 18 | 19 | ```js 20 | var unpipe = require('unpipe') 21 | ``` 22 | 23 | ### unpipe(stream) 24 | 25 | Unpipes all destinations from a given stream. With stream 2+, this is 26 | equivalent to `stream.unpipe()`. When used with streams 1 style streams 27 | (typically Node.js 0.8 and below), this module attempts to undo the 28 | actions done in `stream.pipe(dest)`. 29 | 30 | ## License 31 | 32 | [MIT](LICENSE) 33 | 34 | [npm-image]: https://img.shields.io/npm/v/unpipe.svg 35 | [npm-url]: https://npmjs.org/package/unpipe 36 | [node-image]: https://img.shields.io/node/v/unpipe.svg 37 | [node-url]: http://nodejs.org/download/ 38 | [travis-image]: https://img.shields.io/travis/stream-utils/unpipe.svg 39 | [travis-url]: https://travis-ci.org/stream-utils/unpipe 40 | [coveralls-image]: https://img.shields.io/coveralls/stream-utils/unpipe.svg 41 | [coveralls-url]: https://coveralls.io/r/stream-utils/unpipe?branch=master 42 | [downloads-image]: https://img.shields.io/npm/dm/unpipe.svg 43 | [downloads-url]: https://npmjs.org/package/unpipe 44 | -------------------------------------------------------------------------------- /node_modules/unpipe/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * unpipe 3 | * Copyright(c) 2015 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = unpipe 15 | 16 | /** 17 | * Determine if there are Node.js pipe-like data listeners. 18 | * @private 19 | */ 20 | 21 | function hasPipeDataListeners(stream) { 22 | var listeners = stream.listeners('data') 23 | 24 | for (var i = 0; i < listeners.length; i++) { 25 | if (listeners[i].name === 'ondata') { 26 | return true 27 | } 28 | } 29 | 30 | return false 31 | } 32 | 33 | /** 34 | * Unpipe a stream from all destinations. 35 | * 36 | * @param {object} stream 37 | * @public 38 | */ 39 | 40 | function unpipe(stream) { 41 | if (!stream) { 42 | throw new TypeError('argument stream is required') 43 | } 44 | 45 | if (typeof stream.unpipe === 'function') { 46 | // new-style 47 | stream.unpipe() 48 | return 49 | } 50 | 51 | // Node.js 0.8 hack 52 | if (!hasPipeDataListeners(stream)) { 53 | return 54 | } 55 | 56 | var listener 57 | var listeners = stream.listeners('close') 58 | 59 | for (var i = 0; i < listeners.length; i++) { 60 | listener = listeners[i] 61 | 62 | if (listener.name !== 'cleanup' && listener.name !== 'onclose') { 63 | continue 64 | } 65 | 66 | // invoke the listener 67 | listener.call(stream) 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /node_modules/utils-merge/.npmignore: -------------------------------------------------------------------------------- 1 | CONTRIBUTING.md 2 | Makefile 3 | docs/ 4 | examples/ 5 | reports/ 6 | test/ 7 | 8 | .jshintrc 9 | .travis.yml 10 | -------------------------------------------------------------------------------- /node_modules/utils-merge/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013-2017 Jared Hanson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /node_modules/utils-merge/README.md: -------------------------------------------------------------------------------- 1 | # utils-merge 2 | 3 | [![Version](https://img.shields.io/npm/v/utils-merge.svg?label=version)](https://www.npmjs.com/package/utils-merge) 4 | [![Build](https://img.shields.io/travis/jaredhanson/utils-merge.svg)](https://travis-ci.org/jaredhanson/utils-merge) 5 | [![Quality](https://img.shields.io/codeclimate/github/jaredhanson/utils-merge.svg?label=quality)](https://codeclimate.com/github/jaredhanson/utils-merge) 6 | [![Coverage](https://img.shields.io/coveralls/jaredhanson/utils-merge.svg)](https://coveralls.io/r/jaredhanson/utils-merge) 7 | [![Dependencies](https://img.shields.io/david/jaredhanson/utils-merge.svg)](https://david-dm.org/jaredhanson/utils-merge) 8 | 9 | 10 | Merges the properties from a source object into a destination object. 11 | 12 | ## Install 13 | 14 | ```bash 15 | $ npm install utils-merge 16 | ``` 17 | 18 | ## Usage 19 | 20 | ```javascript 21 | var a = { foo: 'bar' } 22 | , b = { bar: 'baz' }; 23 | 24 | merge(a, b); 25 | // => { foo: 'bar', bar: 'baz' } 26 | ``` 27 | 28 | ## License 29 | 30 | [The MIT License](http://opensource.org/licenses/MIT) 31 | 32 | Copyright (c) 2013-2017 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)> 33 | 34 | Sponsor 35 | -------------------------------------------------------------------------------- /node_modules/utils-merge/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Merge object b with object a. 3 | * 4 | * var a = { foo: 'bar' } 5 | * , b = { bar: 'baz' }; 6 | * 7 | * merge(a, b); 8 | * // => { foo: 'bar', bar: 'baz' } 9 | * 10 | * @param {Object} a 11 | * @param {Object} b 12 | * @return {Object} 13 | * @api public 14 | */ 15 | 16 | exports = module.exports = function(a, b){ 17 | if (a && b) { 18 | for (var key in b) { 19 | a[key] = b[key]; 20 | } 21 | } 22 | return a; 23 | }; 24 | -------------------------------------------------------------------------------- /node_modules/vary/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.1.2 / 2017-09-23 2 | ================== 3 | 4 | * perf: improve header token parsing speed 5 | 6 | 1.1.1 / 2017-03-20 7 | ================== 8 | 9 | * perf: hoist regular expression 10 | 11 | 1.1.0 / 2015-09-29 12 | ================== 13 | 14 | * Only accept valid field names in the `field` argument 15 | - Ensures the resulting string is a valid HTTP header value 16 | 17 | 1.0.1 / 2015-07-08 18 | ================== 19 | 20 | * Fix setting empty header from empty `field` 21 | * perf: enable strict mode 22 | * perf: remove argument reassignments 23 | 24 | 1.0.0 / 2014-08-10 25 | ================== 26 | 27 | * Accept valid `Vary` header string as `field` 28 | * Add `vary.append` for low-level string manipulation 29 | * Move to `jshttp` orgainzation 30 | 31 | 0.1.0 / 2014-06-05 32 | ================== 33 | 34 | * Support array of fields to set 35 | 36 | 0.0.0 / 2014-06-04 37 | ================== 38 | 39 | * Initial release 40 | -------------------------------------------------------------------------------- /node_modules/vary/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2017 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jokesapp", 3 | "version": "1.0.0", 4 | "description": "Jokes API", 5 | "main": "app.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "Dhairya Ostwal", 10 | "license": "ISC", 11 | "dependencies": { 12 | "body-parser": "^1.19.0", 13 | "ejs": "^3.1.3", 14 | "express": "^4.17.1", 15 | "https": "^1.0.0" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /public/main.css: -------------------------------------------------------------------------------- 1 | .btnalign{ 2 | text-align: center; 3 | } 4 | 5 | .h2edit{ 6 | text-transform: uppercase; 7 | font-size: 0.5rem; 8 | font-family: cursive; 9 | } 10 | 11 | .display-do{ 12 | font-family: 'Nanum Pen Script', cursive; 13 | padding-top: 1rem; 14 | font-size: 3rem; 15 | margin-left: 3rem; 16 | margin-right: 3rem; 17 | } -------------------------------------------------------------------------------- /views/list.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | 11 | 12 | Programming Jokes 13 | 14 | 15 | 16 |
17 |
18 |
Joke of the moment 😂
19 |

20 | <%= renderedJoke %>
21 | 22 | <%= renderedAns %> 23 |

24 |
25 | 26 | 27 |
28 |
29 |

30 |

github.com/dhairyaostwal

31 | 32 | 33 | 34 |
35 | 36 | 37 |
38 |
39 | 40 | 41 | 42 | --------------------------------------------------------------------------------