├── .env ├── .gitignore ├── app.js ├── controllers └── sendMail.js ├── node_modules ├── .bin │ ├── mime │ ├── mime.cmd │ └── mime.ps1 ├── .package-lock.json ├── @sendgrid │ ├── client │ │ ├── LICENSE │ │ ├── README.md │ │ ├── USAGE.md │ │ ├── USE_CASES.md │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── package.json │ │ └── src │ │ │ ├── classes │ │ │ └── client.js │ │ │ ├── client.d.ts │ │ │ ├── client.js │ │ │ ├── client.spec.js │ │ │ ├── request.d.ts │ │ │ └── response.d.ts │ ├── helpers │ │ ├── LICENSE │ │ ├── README.md │ │ ├── attachment.txt │ │ ├── classes │ │ │ ├── attachment.d.ts │ │ │ ├── attachment.js │ │ │ ├── attachment.spec.js │ │ │ ├── email-address.d.ts │ │ │ ├── email-address.js │ │ │ ├── email-address.spec.js │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── mail.d.ts │ │ │ ├── mail.js │ │ │ ├── mail.spec.js │ │ │ ├── personalization.d.ts │ │ │ ├── personalization.js │ │ │ ├── personalization_specs │ │ │ │ ├── 527-camel-case-headers.spec.js │ │ │ │ ├── PERSONALIZATION-SPECS-README.md │ │ │ │ ├── add-bcc.spec.js │ │ │ │ ├── add-cc.spec.js │ │ │ │ ├── add-custom-args.spec.js │ │ │ │ ├── add-headers.spec.js │ │ │ │ ├── add-substitutions.spec.js │ │ │ │ ├── from-data.spec.js │ │ │ │ ├── reverse-merge-dynamic_teplate_data.spec.js │ │ │ │ ├── reverse-merge-substitutions.spec.js │ │ │ │ ├── set-add-to.spec.js │ │ │ │ ├── set-bcc.spec.js │ │ │ │ ├── set-cc.spec.js │ │ │ │ ├── set-custom-args.spec.js │ │ │ │ ├── set-from.spec.js │ │ │ │ ├── set-headers.spec.js │ │ │ │ ├── set-send-at.spec.js │ │ │ │ ├── set-subject.spec.js │ │ │ │ ├── set-substitutions.spec.js │ │ │ │ ├── set-to.spec.js │ │ │ │ ├── set_dynamic_template_data.spec.js │ │ │ │ ├── substitutions-wrappers.spec.js │ │ │ │ └── to-json.spec.js │ │ │ ├── request.d.ts │ │ │ ├── response-error.d.ts │ │ │ ├── response-error.js │ │ │ ├── response.d.ts │ │ │ ├── response.js │ │ │ ├── statistics.d.ts │ │ │ ├── statistics.js │ │ │ └── statistics.spec.js │ │ ├── constants │ │ │ └── index.js │ │ ├── helpers │ │ │ ├── array-to-json.d.ts │ │ │ ├── array-to-json.js │ │ │ ├── array-to-json.spec.js │ │ │ ├── convert-keys.d.ts │ │ │ ├── convert-keys.js │ │ │ ├── convert-keys.spec.js │ │ │ ├── deep-clone.d.ts │ │ │ ├── deep-clone.js │ │ │ ├── deep-clone.spec.js │ │ │ ├── html-to-plain-text.js │ │ │ ├── html-to-plain-text.spec.js │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── merge-data-deep.d.ts │ │ │ ├── merge-data-deep.js │ │ │ ├── merge-data-deep.spec.js │ │ │ ├── merge-data.d.ts │ │ │ ├── merge-data.js │ │ │ ├── merge-data.spec.js │ │ │ ├── split-name-email.d.ts │ │ │ ├── split-name-email.js │ │ │ ├── split-name-email.spec.js │ │ │ ├── str-to-camel-case.js │ │ │ ├── str-to-camel-case.spec.js │ │ │ ├── str-to-snake-case.js │ │ │ ├── str-to-snake-case.spec.js │ │ │ ├── to-camel-case.d.ts │ │ │ ├── to-camel-case.js │ │ │ ├── to-snake-case.d.ts │ │ │ ├── to-snake-case.js │ │ │ ├── validate-settings.js │ │ │ ├── wrap-substitutions.d.ts │ │ │ ├── wrap-substitutions.js │ │ │ └── wrap-substitutions.spec.js │ │ ├── index.d.ts │ │ ├── index.js │ │ └── package.json │ └── mail │ │ ├── LICENSE │ │ ├── README.md │ │ ├── USE_CASES.md │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── package.json │ │ └── src │ │ ├── classes │ │ └── mail-service.js │ │ ├── mail.d.ts │ │ ├── mail.js │ │ └── mail.spec.js ├── accepts │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── array-flatten │ ├── LICENSE │ ├── README.md │ ├── array-flatten.js │ └── package.json ├── axios │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── SECURITY.md │ ├── UPGRADE_GUIDE.md │ ├── dist │ │ ├── axios.js │ │ ├── axios.map │ │ ├── axios.min.js │ │ └── axios.min.map │ ├── index.d.ts │ ├── index.js │ ├── lib │ │ ├── adapters │ │ │ ├── README.md │ │ │ ├── http.js │ │ │ └── xhr.js │ │ ├── axios.js │ │ ├── cancel │ │ │ ├── Cancel.js │ │ │ ├── CancelToken.js │ │ │ └── isCancel.js │ │ ├── core │ │ │ ├── Axios.js │ │ │ ├── InterceptorManager.js │ │ │ ├── README.md │ │ │ ├── buildFullPath.js │ │ │ ├── createError.js │ │ │ ├── dispatchRequest.js │ │ │ ├── enhanceError.js │ │ │ ├── mergeConfig.js │ │ │ ├── settle.js │ │ │ └── transformData.js │ │ ├── defaults │ │ │ ├── index.js │ │ │ └── transitional.js │ │ ├── env │ │ │ ├── README.md │ │ │ └── data.js │ │ ├── helpers │ │ │ ├── README.md │ │ │ ├── bind.js │ │ │ ├── buildURL.js │ │ │ ├── combineURLs.js │ │ │ ├── cookies.js │ │ │ ├── deprecatedMethod.js │ │ │ ├── isAbsoluteURL.js │ │ │ ├── isAxiosError.js │ │ │ ├── isURLSameOrigin.js │ │ │ ├── normalizeHeaderName.js │ │ │ ├── parseHeaders.js │ │ │ ├── spread.js │ │ │ ├── toFormData.js │ │ │ └── validator.js │ │ └── utils.js │ ├── package.json │ ├── tsconfig.json │ └── tslint.json ├── body-parser │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── SECURITY.md │ ├── index.js │ ├── lib │ │ ├── read.js │ │ └── types │ │ │ ├── json.js │ │ │ ├── raw.js │ │ │ ├── text.js │ │ │ └── urlencoded.js │ └── package.json ├── bytes │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ └── package.json ├── call-bind │ ├── .eslintignore │ ├── .eslintrc │ ├── .github │ │ └── FUNDING.yml │ ├── .nycrc │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── callBound.js │ ├── index.js │ ├── package.json │ └── test │ │ ├── callBound.js │ │ └── index.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 │ ├── SECURITY.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 ├── deepmerge │ ├── changelog.md │ ├── dist │ │ ├── cjs.js │ │ └── umd.js │ ├── index.d.ts │ ├── index.js │ ├── license.txt │ ├── package.json │ ├── readme.md │ └── rollup.config.js ├── depd │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ ├── lib │ │ └── browser │ │ │ └── index.js │ └── package.json ├── destroy │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── dotenv │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── config.d.ts │ ├── config.js │ ├── lib │ │ ├── cli-options.js │ │ ├── env-options.js │ │ ├── main.d.ts │ │ └── main.js │ └── package.json ├── ee-first │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── encodeurl │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── escape-html │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ └── package.json ├── 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 ├── finalhandler │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── SECURITY.md │ ├── index.js │ └── package.json ├── follow-redirects │ ├── LICENSE │ ├── README.md │ ├── debug.js │ ├── http.js │ ├── https.js │ ├── index.js │ └── package.json ├── forwarded │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── fresh │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── function-bind │ ├── .editorconfig │ ├── .eslintrc │ ├── .jscs.json │ ├── .npmignore │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── implementation.js │ ├── index.js │ ├── package.json │ └── test │ │ ├── .eslintrc │ │ └── index.js ├── get-intrinsic │ ├── .eslintrc │ ├── .github │ │ └── FUNDING.yml │ ├── .nycrc │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── package.json │ └── test │ │ └── GetIntrinsic.js ├── has-symbols │ ├── .eslintrc │ ├── .github │ │ └── FUNDING.yml │ ├── .nycrc │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── package.json │ ├── shams.js │ └── test │ │ ├── index.js │ │ ├── shams │ │ ├── core-js.js │ │ └── get-own-property-symbols.js │ │ └── tests.js ├── has │ ├── LICENSE-MIT │ ├── README.md │ ├── package.json │ ├── src │ │ └── index.js │ └── test │ │ └── index.js ├── http-errors │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── 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 ├── 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 ├── 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 ├── nodemailer │ ├── .gitattributes │ ├── .prettierrc.js │ ├── CHANGELOG.md │ ├── CODE_OF_CONDUCT.md │ ├── CONTRIBUTING.md │ ├── LICENSE │ ├── README.md │ ├── SECURITY.txt │ ├── lib │ │ ├── addressparser │ │ │ └── index.js │ │ ├── base64 │ │ │ └── index.js │ │ ├── dkim │ │ │ ├── index.js │ │ │ ├── message-parser.js │ │ │ ├── relaxed-body.js │ │ │ └── sign.js │ │ ├── fetch │ │ │ ├── cookies.js │ │ │ └── index.js │ │ ├── json-transport │ │ │ └── index.js │ │ ├── mail-composer │ │ │ └── index.js │ │ ├── mailer │ │ │ ├── index.js │ │ │ └── mail-message.js │ │ ├── mime-funcs │ │ │ ├── index.js │ │ │ └── mime-types.js │ │ ├── mime-node │ │ │ ├── index.js │ │ │ ├── last-newline.js │ │ │ ├── le-unix.js │ │ │ └── le-windows.js │ │ ├── nodemailer.js │ │ ├── qp │ │ │ └── index.js │ │ ├── sendmail-transport │ │ │ └── index.js │ │ ├── ses-transport │ │ │ └── index.js │ │ ├── shared │ │ │ └── index.js │ │ ├── smtp-connection │ │ │ ├── data-stream.js │ │ │ ├── http-proxy-client.js │ │ │ └── index.js │ │ ├── smtp-pool │ │ │ ├── index.js │ │ │ └── pool-resource.js │ │ ├── smtp-transport │ │ │ └── index.js │ │ ├── stream-transport │ │ │ └── index.js │ │ ├── well-known │ │ │ ├── index.js │ │ │ └── services.json │ │ └── xoauth2 │ │ │ └── index.js │ ├── package.json │ └── postinstall.js ├── object-inspect │ ├── .eslintrc │ ├── .github │ │ └── FUNDING.yml │ ├── .nycrc │ ├── CHANGELOG.md │ ├── LICENSE │ ├── example │ │ ├── all.js │ │ ├── circular.js │ │ ├── fn.js │ │ └── inspect.js │ ├── index.js │ ├── package-support.json │ ├── package.json │ ├── readme.markdown │ ├── test-core-js.js │ ├── test │ │ ├── bigint.js │ │ ├── browser │ │ │ └── dom.js │ │ ├── circular.js │ │ ├── deep.js │ │ ├── element.js │ │ ├── err.js │ │ ├── fakes.js │ │ ├── fn.js │ │ ├── has.js │ │ ├── holes.js │ │ ├── indent-option.js │ │ ├── inspect.js │ │ ├── lowbyte.js │ │ ├── number.js │ │ ├── quoteStyle.js │ │ ├── toStringTag.js │ │ ├── undef.js │ │ └── values.js │ └── util.inspect.js ├── 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 │ ├── .eslintrc │ ├── .github │ │ └── FUNDING.yml │ ├── .nycrc │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── README.md │ ├── dist │ │ └── qs.js │ ├── lib │ │ ├── formats.js │ │ ├── index.js │ │ ├── parse.js │ │ ├── stringify.js │ │ └── utils.js │ ├── package.json │ └── test │ │ ├── parse.js │ │ ├── stringify.js │ │ └── utils.js ├── range-parser │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── raw-body │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── SECURITY.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 │ ├── SECURITY.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 ├── side-channel │ ├── .eslintignore │ ├── .eslintrc │ ├── .github │ │ └── FUNDING.yml │ ├── .nycrc │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── package.json │ └── test │ │ └── index.js ├── statuses │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── codes.json │ ├── index.js │ └── package.json ├── toidentifier │ ├── HISTORY.md │ ├── 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 /.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thapatechnical/nodeEmail/4476637942bbf07c35af04f16df77bf3cdfab186/.env -------------------------------------------------------------------------------- /app.js: -------------------------------------------------------------------------------- 1 | const express = require("express"); 2 | const app = express(); 3 | let PORT = 5000; 4 | 5 | const sendMail = require("./controllers/sendMail"); 6 | 7 | app.get("/", (req, res) => { 8 | res.send("I am a server"); 9 | }); 10 | 11 | app.get("/mail", sendMail); 12 | 13 | const start = async () => { 14 | try { 15 | app.listen(PORT, () => { 16 | console.log(`I am live in port no. ${PORT}`); 17 | }); 18 | } catch (error) {} 19 | }; 20 | 21 | start(); 22 | -------------------------------------------------------------------------------- /controllers/sendMail.js: -------------------------------------------------------------------------------- 1 | const nodemailer = require("nodemailer"); 2 | 3 | const sendMail = async (req, res) => { 4 | let testAccount = await nodemailer.createTestAccount(); 5 | 6 | // connect with the smtp 7 | let transporter = await nodemailer.createTransport({ 8 | host: "smtp.ethereal.email", 9 | port: 587, 10 | auth: { 11 | user: "SUBSCRIBE_TO_THAPATECHNCIAL", 12 | pass: "SHARE_WITH_FRIENDS", 13 | }, 14 | }); 15 | 16 | let info = await transporter.sendMail({ 17 | from: '"Vinod Thapa 👻" ', // sender address 18 | to: "iam@gmail.com", // list of receivers 19 | subject: "Hello Thapa", // Subject line 20 | text: "Hello YT Thapa", // plain text body 21 | html: "Hello YT Thapa", // html body 22 | }); 23 | 24 | console.log("Message sent: %s", info.messageId); 25 | res.json(info); 26 | }; 27 | 28 | module.exports = sendMail; 29 | -------------------------------------------------------------------------------- /node_modules/.bin/mime: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 3 | 4 | case `uname` in 5 | *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;; 6 | esac 7 | 8 | if [ -x "$basedir/node" ]; then 9 | exec "$basedir/node" "$basedir/../mime/cli.js" "$@" 10 | else 11 | exec node "$basedir/../mime/cli.js" "$@" 12 | fi 13 | -------------------------------------------------------------------------------- /node_modules/.bin/mime.cmd: -------------------------------------------------------------------------------- 1 | @ECHO off 2 | GOTO start 3 | :find_dp0 4 | SET dp0=%~dp0 5 | EXIT /b 6 | :start 7 | SETLOCAL 8 | CALL :find_dp0 9 | 10 | IF EXIST "%dp0%\node.exe" ( 11 | SET "_prog=%dp0%\node.exe" 12 | ) ELSE ( 13 | SET "_prog=node" 14 | SET PATHEXT=%PATHEXT:;.JS;=;% 15 | ) 16 | 17 | endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\mime\cli.js" %* 18 | -------------------------------------------------------------------------------- /node_modules/.bin/mime.ps1: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent 3 | 4 | $exe="" 5 | if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { 6 | # Fix case when both the Windows and Linux builds of Node 7 | # are installed in the same directory 8 | $exe=".exe" 9 | } 10 | $ret=0 11 | if (Test-Path "$basedir/node$exe") { 12 | # Support pipeline input 13 | if ($MyInvocation.ExpectingInput) { 14 | $input | & "$basedir/node$exe" "$basedir/../mime/cli.js" $args 15 | } else { 16 | & "$basedir/node$exe" "$basedir/../mime/cli.js" $args 17 | } 18 | $ret=$LASTEXITCODE 19 | } else { 20 | # Support pipeline input 21 | if ($MyInvocation.ExpectingInput) { 22 | $input | & "node$exe" "$basedir/../mime/cli.js" $args 23 | } else { 24 | & "node$exe" "$basedir/../mime/cli.js" $args 25 | } 26 | $ret=$LASTEXITCODE 27 | } 28 | exit $ret 29 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/client/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (C) 2022, Twilio SendGrid, Inc. 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/@sendgrid/client/index.d.ts: -------------------------------------------------------------------------------- 1 | import Client = require("@sendgrid/client/src/client"); 2 | 3 | export = Client; -------------------------------------------------------------------------------- /node_modules/@sendgrid/client/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const client = require('./src/client'); 4 | const Client = require('./src/classes/client'); 5 | 6 | module.exports = client; 7 | module.exports.Client = Client; 8 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/client/src/client.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Dependencies 5 | */ 6 | const Client = require('./classes/client'); 7 | 8 | //Export singleton instance 9 | module.exports = new Client(); 10 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/client/src/request.d.ts: -------------------------------------------------------------------------------- 1 | import RequestOptions from "@sendgrid/helpers/classes/request"; 2 | 3 | export type ClientRequest = RequestOptions; 4 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/client/src/response.d.ts: -------------------------------------------------------------------------------- 1 | import Response from "@sendgrid/helpers/classes/response"; 2 | 3 | export type ClientResponse = Response; 4 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (C) 2022, Twilio SendGrid, Inc. 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/@sendgrid/helpers/attachment.txt: -------------------------------------------------------------------------------- 1 | Just a little file for testing attachments. -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/classes/attachment.d.ts: -------------------------------------------------------------------------------- 1 | export interface AttachmentData { 2 | content: string; 3 | filename: string; 4 | type?: string; 5 | disposition?: string; 6 | contentId?: string; 7 | } 8 | 9 | export interface AttachmentJSON { 10 | content: string; 11 | filename: string; 12 | type?: string; 13 | disposition?: string; 14 | content_id?: string; 15 | } 16 | 17 | export default class Attachment implements AttachmentData { 18 | content: string; 19 | filename: string; 20 | type?: string; 21 | disposition?: string; 22 | contentId?: string; 23 | 24 | constructor(data?: AttachmentData); 25 | 26 | fromData(data: AttachmentData): void; 27 | setContent(content: string): void; 28 | setFilename(filename: string): void; 29 | setType(type: string): void; 30 | setDisposition(disposition: string): void; 31 | setContentId(contentId: string): void; 32 | toJSON(): AttachmentJSON; 33 | } 34 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/classes/email-address.d.ts: -------------------------------------------------------------------------------- 1 | export type EmailData = string|{ name?: string; email: string; } 2 | 3 | export type EmailJSON = { name?: string; email: string } 4 | 5 | export default class EmailAddress { 6 | constructor(data?: EmailData); 7 | 8 | /** 9 | * From data 10 | */ 11 | fromData(data: EmailData): void; 12 | 13 | /** 14 | * Set name 15 | */ 16 | setName(name: string): void; 17 | 18 | /** 19 | * Set email (mandatory) 20 | */ 21 | setEmail(email: string): void; 22 | 23 | toJSON(): EmailJSON; 24 | } -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/classes/index.d.ts: -------------------------------------------------------------------------------- 1 | import Attachment from "@sendgrid/helpers/classes/attachment"; 2 | import EmailAddress from "@sendgrid/helpers/classes/email-address"; 3 | import Mail from "@sendgrid/helpers/classes/mail" 4 | import Personalization from "@sendgrid/helpers/classes/personalization"; 5 | import Response from "@sendgrid/helpers/classes/response"; 6 | import ResponseError from "@sendgrid/helpers/classes/response-error"; 7 | 8 | export { 9 | Attachment, 10 | EmailAddress, 11 | Mail, 12 | Personalization, 13 | Response, 14 | ResponseError, 15 | } 16 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/classes/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Expose classes 5 | */ 6 | const Attachment = require('./attachment'); 7 | const EmailAddress = require('./email-address'); 8 | const Mail = require('./mail'); 9 | const Personalization = require('./personalization'); 10 | const Response = require('./response'); 11 | const ResponseError = require('./response-error'); 12 | const Statistics = require('./statistics'); 13 | 14 | /** 15 | * Export 16 | */ 17 | module.exports = { 18 | Attachment, 19 | EmailAddress, 20 | Mail, 21 | Personalization, 22 | Response, 23 | ResponseError, 24 | Statistics, 25 | }; 26 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/classes/personalization_specs/527-camel-case-headers.spec.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Dependencies 5 | */ 6 | const Personalization = require('../personalization'); 7 | const EmailAddress = require('../email-address'); 8 | 9 | /** 10 | * Tests 11 | */ 12 | describe('Personalization', function() { 13 | 14 | //Create new personalization before each test 15 | let p; 16 | beforeEach(function() { 17 | p = new Personalization(); 18 | }); 19 | 20 | // camel case headers test 21 | describe('#527', function() { 22 | it('shouldn\'t convert the headers to camel/snake case', function() { 23 | const p = new Personalization({ 24 | to: 'test@example.com', 25 | headers: { 26 | 'List-Unsubscribe': '', 27 | }, 28 | }); 29 | 30 | expect(p.headers['List-Unsubscribe']).to.equal(''); 31 | 32 | expect(p.toJSON().headers['List-Unsubscribe']).to 33 | .equal(''); 34 | }); 35 | }); 36 | }); 37 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/classes/personalization_specs/PERSONALIZATION-SPECS-README.md: -------------------------------------------------------------------------------- 1 | #### Personalization helper specs 2 | 3 | - setSubject() - set-subject.spec.js 4 | - setSendAt() - set-send-at.spec.js 5 | - setTo() - set-to.spec.js 6 | - setFrom() - set-from.spec.js 7 | - addTo() - add-to.spec.js 8 | - setCc() - set-cc.spec.js 9 | - addCc() - add-cc.spec.js 10 | - setBcc() - set-bcc.spec.js 11 | - addBcc() - add-bcc.spec.js 12 | - setHeaders() - set-headers.spec.js 13 | - addHeader() - add-headers.spec.js 14 | - setCustomArgs() - set-custom-args.spec.js 15 | - addCustomArg() - add-custom-args.spec.js 16 | - setSubstitutions() - set-substitutions.spec.js 17 | - addSubstitution() - add-substitutions.spec.js 18 | - reverseMergeSubstitutions() - reverse-merge-substitutions.spec.js 19 | - setSubstitutionWrappers() - set-substitutions-wrappers.spec.js 20 | - deepMergeDynamicTemplateData() - reverse-merge-dynamic_template_data.spec.js 21 | - toJSON() - to-json.spec.js 22 | - fromData() - from-data.spec.js 23 | - #527 - 527-camel-case-headers.spec.js -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/classes/personalization_specs/set-subject.spec.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Dependencies 5 | */ 6 | const Personalization = require('../personalization'); 7 | const EmailAddress = require('../email-address'); 8 | 9 | /** 10 | * Tests 11 | */ 12 | describe('Personalization', function() { 13 | 14 | //Create new personalization before each test 15 | let p; 16 | beforeEach(function() { 17 | p = new Personalization(); 18 | }); 19 | 20 | //Set subject 21 | describe('setSubject()', function() { 22 | it('should set the given value', function() { 23 | p.setSubject('Test'); 24 | expect(p.subject).to.equal('Test'); 25 | }); 26 | it('should throw an error for invalid input', function() { 27 | expect(function() { 28 | p.setSubject(5); 29 | }).to.throw(Error); 30 | expect(function() { 31 | p.setSubject(null); 32 | }).to.throw(Error); 33 | }); 34 | it('should accept no input', function() { 35 | expect(function() { 36 | p.setSubject(); 37 | }).not.to.throw(Error); 38 | }); 39 | it('should not overwrite with no input', function() { 40 | p.setSubject('Test'); 41 | p.setSubject(); 42 | expect(p.subject).to.equal('Test'); 43 | }); 44 | }); 45 | }); 46 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/classes/request.d.ts: -------------------------------------------------------------------------------- 1 | import * as https from 'https'; 2 | 3 | type HttpMethod = 'get'|'GET'|'post'|'POST'|'put'|'PUT'|'patch'|'PATCH'|'delete'|'DELETE'; 4 | 5 | export default interface RequestOptions { 6 | url: string; 7 | method?: HttpMethod; 8 | baseUrl?: string; 9 | qs?: TParams; 10 | body?: TData; 11 | headers?: object; 12 | httpsAgent?: https.Agent; 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/classes/response-error.d.ts: -------------------------------------------------------------------------------- 1 | export default class ResponseError extends Error { 2 | code: number; 3 | message: string; 4 | response: { 5 | headers: { [key: string]: string; }; 6 | body: string; 7 | }; 8 | } -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/classes/response.d.ts: -------------------------------------------------------------------------------- 1 | export default class Response { 2 | statusCode: number; 3 | body: TPayload; 4 | headers: any; 5 | constructor(statusCode: number, body: TPayload, headers?: any); 6 | toString(): string; 7 | } 8 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/classes/response.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | class Response { 4 | constructor(statusCode, body, headers) { 5 | this.statusCode = statusCode; 6 | this.body = body; 7 | this.headers = headers; 8 | } 9 | 10 | toString() { 11 | return 'HTTP ' + this.statusCode + ' ' + this.body; 12 | } 13 | } 14 | 15 | module.exports = Response; 16 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/classes/statistics.d.ts: -------------------------------------------------------------------------------- 1 | export class Stats { 2 | startDate: Date; 3 | endDate?: Date; 4 | aggregatedBy?: string; 5 | } 6 | 7 | export default class Statistics { 8 | constructor(data?: Stats); 9 | 10 | fromData(data: Stats): void; 11 | 12 | /** 13 | * To JSON 14 | */ 15 | toJSON(): Stats; 16 | 17 | /** 18 | * Get Advanced Statistics 19 | */ 20 | getAdvanced(); 21 | 22 | /** 23 | * Get Category Statistics 24 | */ 25 | getCategory(); 26 | 27 | /** 28 | * Get Global Statistics 29 | */ 30 | getGlobal(); 31 | 32 | /** 33 | * Get Parse Statistics 34 | */ 35 | getParse(); 36 | 37 | /** 38 | * Get Subuser Statistics 39 | */ 40 | getSubuser(); 41 | 42 | /** 43 | * Set StartDate 44 | */ 45 | setStartDate(startDate: Date): void; 46 | 47 | /** 48 | * Set EndDate 49 | */ 50 | setEndDate(endDate: Date): void; 51 | 52 | /** 53 | * Set AggregatedBy 54 | */ 55 | setAggregatedBy(aggregatedBy: string): void; 56 | } -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/constants/index.js: -------------------------------------------------------------------------------- 1 | const DYNAMIC_TEMPLATE_CHAR_WARNING = ` 2 | Content with characters ', " or & may need to be escaped with three brackets 3 | {{{ content }}} 4 | See https://sendgrid.com/docs/for-developers/sending-email/using-handlebars/ for more information.`; 5 | 6 | module.exports = { 7 | DYNAMIC_TEMPLATE_CHAR_WARNING, 8 | }; 9 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/array-to-json.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Helper to convert an array of objects to JSON 3 | */ 4 | declare function arrayToJSON(arr: any[]): any[]; 5 | 6 | export = arrayToJSON; -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/array-to-json.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Helper to convert an array of objects to JSON 5 | */ 6 | module.exports = function arrayToJSON(arr) { 7 | return arr.map(item => { 8 | if (typeof item === 'object' && item !== null && typeof item.toJSON === 'function') { 9 | return item.toJSON(); 10 | } 11 | return item; 12 | }); 13 | }; 14 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/array-to-json.spec.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Dependencies 5 | */ 6 | const arrayToJSON = require('./array-to-json'); 7 | 8 | /** 9 | * Tests 10 | */ 11 | describe('arrayToJSON', function() { 12 | 13 | //Test object with toJSON function 14 | const obj1 = { 15 | toJSON() { 16 | return {a: 1, b: 2}; 17 | }, 18 | }; 19 | 20 | //Test plain object 21 | const obj2 = {c: 3, d: 4}; 22 | 23 | //Create mixed array 24 | const test = [obj1, obj2, null, obj2, obj1, 2, 'test']; 25 | const json = arrayToJSON(test); 26 | 27 | //Tests 28 | it('should leave non object values as is', function() { 29 | expect(json[2]).to.be.null(); 30 | expect(json[5]).to.equal(2); 31 | expect(json[6]).to.equal('test'); 32 | }); 33 | it('should leave plain objects as they are', function() { 34 | expect(json[1]).to.have.property('c'); 35 | expect(json[3]).to.have.property('d'); 36 | }); 37 | it('should use the toJSON() handler if specified', function() { 38 | expect(json[0]).to.have.property('a'); 39 | expect(json[4]).to.have.property('b'); 40 | }); 41 | }); 42 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/convert-keys.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Helper to convert an object's keys 3 | */ 4 | declare function convertKeys(obj: T, converter: (key: string) => string, ignored?: string[]): S; 5 | 6 | export = convertKeys; -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/deep-clone.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Deep cloning helper for objects 3 | */ 4 | declare function deepClone(obj: T): T; 5 | 6 | export = deepClone; -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/deep-clone.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Deep cloning helper for objects 5 | */ 6 | module.exports = function deepClone(obj) { 7 | return JSON.parse(JSON.stringify(obj)); 8 | }; 9 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/deep-clone.spec.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Dependencies 5 | */ 6 | const deepClone = require('./deep-clone'); 7 | 8 | /** 9 | * Tests 10 | */ 11 | describe('deepClone', function() { 12 | 13 | //Test object 14 | const obj = { 15 | nested: {a: 1, b: 2, c: {d: 4}}, 16 | e: 5, 17 | arr: ['a', 'b'], 18 | }; 19 | 20 | //Create clone 21 | const clone = deepClone(obj); 22 | 23 | //Tests 24 | it('should equal the objects to themselves', function() { 25 | expect(obj).to.equal(obj); 26 | expect(clone).to.equal(clone); 27 | }); 28 | it('should make a copy of the object', function() { 29 | expect(obj).to.not.equal(clone); 30 | expect(obj).to.deep.equal(clone); 31 | }); 32 | it('should make a copy of nested objects', function() { 33 | expect(obj.nested).to.not.equal(clone.nested); 34 | expect(obj.nested).to.deep.equal(clone.nested); 35 | expect(obj.nested.c).to.not.equal(clone.nested.c); 36 | expect(obj.nested.c).to.deep.equal(clone.nested.c); 37 | }); 38 | it('should handle arrays properly', function() { 39 | expect(clone.arr).to.be.an.instanceof(Array); 40 | expect(clone.arr).to.have.lengthOf(2); 41 | expect(clone.arr).to.have.members(['a', 'b']); 42 | }); 43 | }); 44 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/html-to-plain-text.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Helper to convert an HTML string to a plain text string 5 | */ 6 | module.exports = function convertHTML2PlainString(html) { 7 | let text = html.replace(/(<([^>]+)>)/g, ''); 8 | text = text.replace(/\s+/g, ' '); 9 | return text; 10 | }; 11 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/html-to-plain-text.spec.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Dependencies 5 | */ 6 | const convertHTML2PlainString = require('./html-to-plain-text'); 7 | 8 | /** 9 | * Tests 10 | */ 11 | describe('convertHTML2PlainString', function() { 12 | 13 | //Test string with one html tag 14 | const html1 = '

Hello world

'; 15 | 16 | //Test string with nested html tags 17 | const html2 = '

Hello World!

'; 18 | 19 | //Test string with html tag with attributes 20 | const html3 = '
Hello World!
'; 21 | 22 | //Tests 23 | it('should strip out html tags', function() { 24 | expect(convertHTML2PlainString(html1)).to.be.equal('Hello world'); 25 | }); 26 | it('should strip out nested html tags', function() { 27 | expect(convertHTML2PlainString(html2)).to.be.equal('Hello World!'); 28 | }); 29 | it('should strip out html tags with attributes', function() { 30 | expect(convertHTML2PlainString(html3)).to.be.equal('Hello World!'); 31 | }); 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/index.d.ts: -------------------------------------------------------------------------------- 1 | import arrayToJSON = require("@sendgrid/helpers/helpers/array-to-json"); 2 | import convertKeys = require("@sendgrid/helpers/helpers/convert-keys"); 3 | import deepClone = require("@sendgrid/helpers/helpers/deep-clone"); 4 | import mergeData = require("@sendgrid/helpers/helpers/merge-data"); 5 | import splitNameEmail = require("@sendgrid/helpers/helpers/split-name-email"); 6 | import toCamelCase = require("@sendgrid/helpers/helpers/to-camel-case"); 7 | import toSnakeCase = require("@sendgrid/helpers/helpers/to-snake-case"); 8 | import wrapSubstitutions = require("@sendgrid/helpers/helpers/wrap-substitutions"); 9 | 10 | export { 11 | arrayToJSON, 12 | convertKeys, 13 | deepClone, 14 | mergeData, 15 | splitNameEmail, 16 | toCamelCase, 17 | toSnakeCase, 18 | wrapSubstitutions, 19 | } -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Expose helpers 5 | */ 6 | const arrayToJSON = require('./array-to-json'); 7 | const convertKeys = require('./convert-keys'); 8 | const deepClone = require('./deep-clone'); 9 | const mergeData = require('./merge-data'); 10 | const splitNameEmail = require('./split-name-email'); 11 | const toCamelCase = require('./to-camel-case'); 12 | const toSnakeCase = require('./to-snake-case'); 13 | const wrapSubstitutions = require('./wrap-substitutions'); 14 | 15 | /** 16 | * Export 17 | */ 18 | module.exports = { 19 | arrayToJSON, 20 | convertKeys, 21 | deepClone, 22 | mergeData, 23 | splitNameEmail, 24 | toCamelCase, 25 | toSnakeCase, 26 | wrapSubstitutions, 27 | }; 28 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/merge-data-deep.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Merge data deep helper 3 | */ 4 | declare function mergeDataDeep(base: T, data: S): T & S; 5 | 6 | export = mergeDataDeep; -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/merge-data-deep.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Merge data deep helper 5 | */ 6 | 7 | function isObject(item) { 8 | return (item && typeof item === 'object' && !Array.isArray(item)); 9 | } 10 | 11 | module.exports = function mergeDeep(base, data) { 12 | //Validate data 13 | if (typeof base !== 'object' || base === null) { 14 | throw new Error('Not an object provided for base'); 15 | } 16 | if (typeof data !== 'object' || data === null) { 17 | throw new Error('Not an object provided for data'); 18 | } 19 | let output = Object.assign({}, base); 20 | if (isObject(base) && isObject(data)) { 21 | Object.keys(data).forEach(key => { 22 | if (isObject(data[key])) { 23 | if (!(key in base)) { 24 | Object.assign(output, { [key]: data[key] }); 25 | } else { 26 | output[key] = mergeDeep(base[key], data[key]); 27 | } 28 | } else { 29 | Object.assign(output, { [key]: data[key] }); 30 | } 31 | }); 32 | } 33 | return output; 34 | }; 35 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/merge-data.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Merge data helper 3 | */ 4 | declare function mergeData(base: T, data: S): T&S; 5 | 6 | export = mergeData; -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/merge-data.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Merge data helper 5 | */ 6 | module.exports = function mergeData(base, data) { 7 | 8 | //Validate data 9 | if (typeof base !== 'object' || base === null) { 10 | throw new Error('Not an object provided for base'); 11 | } 12 | if (typeof data !== 'object' || data === null) { 13 | throw new Error('Not an object provided for data'); 14 | } 15 | 16 | //Copy base 17 | const merged = Object.assign({}, base); 18 | 19 | //Add data 20 | for (const key in data) { 21 | //istanbul ignore else 22 | if (data.hasOwnProperty(key)) { 23 | if (data[key] && Array.isArray(data[key])) { 24 | merged[key] = data[key]; 25 | } else if (data[key] && typeof data[key] === 'object') { 26 | merged[key] = Object.assign({}, data[key]); 27 | } else if (data[key]) { 28 | merged[key] = data[key]; 29 | } 30 | } 31 | } 32 | 33 | //Return 34 | return merged; 35 | }; 36 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/split-name-email.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Split name and email address from string 3 | */ 4 | declare function splitNameEmail(str: string): string[]; 5 | 6 | export = splitNameEmail; -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/split-name-email.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Split name and email address from string 5 | */ 6 | module.exports = function splitNameEmail(str) { 7 | 8 | //If no email bracket present, return as is 9 | if (str.indexOf('<') === -1) { 10 | return ['', str]; 11 | } 12 | 13 | //Split into name and email 14 | let [name, email] = str.split('<'); 15 | 16 | //Trim and fix up 17 | name = name.trim(); 18 | email = email.replace('>', '').trim(); 19 | 20 | //Return as array 21 | return [name, email]; 22 | }; 23 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/split-name-email.spec.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Dependencies 5 | */ 6 | const splitNameEmail = require('./split-name-email'); 7 | 8 | /** 9 | * Tests 10 | */ 11 | describe('splitNameEmail', function() { 12 | it('should not split strings without < symbol', function() { 13 | const [name, email] = splitNameEmail('test@test.com'); 14 | expect(name).to.equal(''); 15 | expect(email).to.equal('test@test.com'); 16 | }); 17 | it('should split strings with < symbol', function() { 18 | const [name, email] = splitNameEmail('Tester '); 19 | expect(name).to.equal('Tester'); 20 | expect(email).to.equal('test@test.com'); 21 | }); 22 | }); 23 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/str-to-camel-case.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Internal conversion helper 5 | */ 6 | module.exports = function strToCamelCase(str) { 7 | if (typeof str !== 'string') { 8 | throw new Error('String expected for conversion to snake case'); 9 | } 10 | return str 11 | .trim() 12 | .replace(/_+|\-+/g, ' ') 13 | .replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, function(match, index) { 14 | if (Number(match) === 0) { 15 | return ''; 16 | } 17 | return (index === 0) ? match.toLowerCase() : match.toUpperCase(); 18 | }); 19 | }; 20 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/str-to-snake-case.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Internal conversion helper 5 | */ 6 | module.exports = function strToSnakeCase(str) { 7 | if (typeof str !== 'string') { 8 | throw new Error('String expected for conversion to snake case'); 9 | } 10 | return str.trim().replace(/(\s*\-*\b\w|[A-Z])/g, function($1) { 11 | $1 = $1.trim().toLowerCase().replace('-', ''); 12 | return ($1[0] === '_' ? '' : '_') + $1; 13 | }).slice(1); 14 | }; 15 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/to-camel-case.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Convert object keys to camel case 3 | */ 4 | declare function toCamelCase(obj: T, ignored?: string[]): S; 5 | 6 | export = toCamelCase; -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/to-camel-case.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Dependencies 5 | */ 6 | const convertKeys = require('./convert-keys'); 7 | const strToCamelCase = require('./str-to-camel-case'); 8 | 9 | /** 10 | * Convert object keys to camel case 11 | */ 12 | module.exports = function toCamelCase(obj, ignored) { 13 | return convertKeys(obj, strToCamelCase, ignored); 14 | }; 15 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/to-snake-case.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Convert object keys to snake case 3 | */ 4 | declare function toSnakeCase(obj: T, ignored?: string[]): S; 5 | 6 | export = toSnakeCase; -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/to-snake-case.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Dependencies 5 | */ 6 | const convertKeys = require('./convert-keys'); 7 | const strToSnakeCase = require('./str-to-snake-case'); 8 | 9 | /** 10 | * Convert object keys to snake case 11 | */ 12 | module.exports = function toSnakeCase(obj, ignored) { 13 | return convertKeys(obj, strToSnakeCase, ignored); 14 | }; 15 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/wrap-substitutions.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Wrap substitutions 3 | */ 4 | declare function wrapSubstitutions(substitutions: { [key: string]: string }, left?: string, right?: string): { [key: string]: string }; 5 | 6 | export = wrapSubstitutions; 7 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/helpers/wrap-substitutions.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Wrap substitutions 5 | */ 6 | module.exports = function wrap(substitutions, left = '{{', right = '}}') { 7 | 8 | //Process arrays 9 | if (Array.isArray(substitutions)) { 10 | return substitutions.map(subs => wrap(subs, left, right)); 11 | } 12 | 13 | //Initialize new wrapped object 14 | const wrapped = {}; 15 | 16 | //Map substitutions and ensure string for value 17 | for (const key in substitutions) { 18 | //istanbul ignore else 19 | if (substitutions.hasOwnProperty(key)) { 20 | wrapped[left + key + right] = String(substitutions[key]); 21 | } 22 | } 23 | 24 | //Return wrapped substitutions 25 | return wrapped; 26 | }; 27 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as helpers from '@sendgrid/helpers/helpers/index'; 2 | import * as classes from '@sendgrid/helpers/classes/index'; 3 | 4 | export { 5 | helpers, 6 | classes, 7 | }; 8 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Load support assets 5 | */ 6 | const classes = require('./classes'); 7 | const helpers = require('./helpers'); 8 | 9 | /** 10 | * Export 11 | */ 12 | module.exports = {classes, helpers}; 13 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/helpers/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@sendgrid/helpers", 3 | "description": "Twilio SendGrid NodeJS internal helpers", 4 | "version": "7.7.0", 5 | "author": "Twilio SendGrid (sendgrid.com)", 6 | "contributors": [ 7 | "Kyle Partridge ", 8 | "David Tomberlin ", 9 | "Swift ", 10 | "Brandon West ", 11 | "Scott Motte ", 12 | "Robert Acosta ", 13 | "Elmer Thomas ", 14 | "Adam Reis " 15 | ], 16 | "license": "MIT", 17 | "homepage": "https://sendgrid.com", 18 | "repository": { 19 | "type": "git", 20 | "url": "git://github.com/sendgrid/sendgrid-nodejs.git" 21 | }, 22 | "publishConfig": { 23 | "access": "public" 24 | }, 25 | "engines": { 26 | "node": ">= 6.0.0" 27 | }, 28 | "tags": [ 29 | "sendgrid", 30 | "helpers" 31 | ], 32 | "dependencies": { 33 | "deepmerge": "^4.2.2" 34 | }, 35 | "gitHead": "30eebb16a51b51e6a2df1b3596044db6f5fdbe92" 36 | } 37 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/mail/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (C) 2022, Twilio SendGrid, Inc. 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/@sendgrid/mail/USE_CASES.md: -------------------------------------------------------------------------------- 1 | Please see the Email Use Cases [here](../../docs/use-cases/README.md#email-use-cases). 2 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/mail/index.d.ts: -------------------------------------------------------------------------------- 1 | import MailService = require("@sendgrid/mail/src/mail"); 2 | 3 | export = MailService; -------------------------------------------------------------------------------- /node_modules/@sendgrid/mail/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const mailer = require('./src/mail'); 4 | const MailService = require('./src/classes/mail-service'); 5 | 6 | module.exports = mailer; 7 | module.exports.MailService = MailService; 8 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/mail/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@sendgrid/mail", 3 | "description": "Twilio SendGrid NodeJS mail service", 4 | "version": "7.7.0", 5 | "author": "Twilio SendGrid (sendgrid.com)", 6 | "contributors": [ 7 | "Kyle Partridge ", 8 | "David Tomberlin ", 9 | "Swift ", 10 | "Brandon West ", 11 | "Scott Motte ", 12 | "Robert Acosta ", 13 | "Elmer Thomas ", 14 | "Adam Reis " 15 | ], 16 | "license": "MIT", 17 | "homepage": "https://sendgrid.com", 18 | "repository": { 19 | "type": "git", 20 | "url": "git://github.com/sendgrid/sendgrid-nodejs.git" 21 | }, 22 | "main": "index.js", 23 | "engines": { 24 | "node": "6.* || 8.* || >=10.*" 25 | }, 26 | "publishConfig": { 27 | "access": "public" 28 | }, 29 | "dependencies": { 30 | "@sendgrid/client": "^7.7.0", 31 | "@sendgrid/helpers": "^7.7.0" 32 | }, 33 | "tags": [ 34 | "http", 35 | "rest", 36 | "api", 37 | "mail", 38 | "sendgrid" 39 | ], 40 | "gitHead": "30eebb16a51b51e6a2df1b3596044db6f5fdbe92" 41 | } 42 | -------------------------------------------------------------------------------- /node_modules/@sendgrid/mail/src/mail.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Dependencies 5 | */ 6 | const MailService = require('./classes/mail-service'); 7 | 8 | //Export singleton instance 9 | module.exports = new MailService(); 10 | -------------------------------------------------------------------------------- /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/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/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "array-flatten", 3 | "version": "1.1.1", 4 | "description": "Flatten an array of nested arrays into a single flat array", 5 | "main": "array-flatten.js", 6 | "files": [ 7 | "array-flatten.js", 8 | "LICENSE" 9 | ], 10 | "scripts": { 11 | "test": "istanbul cover _mocha -- -R spec" 12 | }, 13 | "repository": { 14 | "type": "git", 15 | "url": "git://github.com/blakeembrey/array-flatten.git" 16 | }, 17 | "keywords": [ 18 | "array", 19 | "flatten", 20 | "arguments", 21 | "depth" 22 | ], 23 | "author": { 24 | "name": "Blake Embrey", 25 | "email": "hello@blakeembrey.com", 26 | "url": "http://blakeembrey.me" 27 | }, 28 | "license": "MIT", 29 | "bugs": { 30 | "url": "https://github.com/blakeembrey/array-flatten/issues" 31 | }, 32 | "homepage": "https://github.com/blakeembrey/array-flatten", 33 | "devDependencies": { 34 | "istanbul": "^0.3.13", 35 | "mocha": "^2.2.4", 36 | "pre-commit": "^1.0.7", 37 | "standard": "^3.7.3" 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /node_modules/axios/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014-present Matt Zabriskie 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/axios/SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Reporting a Vulnerability 4 | 5 | Please report security issues to jasonsaayman@gmail.com 6 | -------------------------------------------------------------------------------- /node_modules/axios/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/axios'); -------------------------------------------------------------------------------- /node_modules/axios/lib/adapters/README.md: -------------------------------------------------------------------------------- 1 | # axios // adapters 2 | 3 | The modules under `adapters/` are modules that handle dispatching a request and settling a returned `Promise` once a response is received. 4 | 5 | ## Example 6 | 7 | ```js 8 | var settle = require('./../core/settle'); 9 | 10 | module.exports = function myAdapter(config) { 11 | // At this point: 12 | // - config has been merged with defaults 13 | // - request transformers have already run 14 | // - request interceptors have already run 15 | 16 | // Make the request using config provided 17 | // Upon response settle the Promise 18 | 19 | return new Promise(function(resolve, reject) { 20 | 21 | var response = { 22 | data: responseData, 23 | status: request.status, 24 | statusText: request.statusText, 25 | headers: responseHeaders, 26 | config: config, 27 | request: request 28 | }; 29 | 30 | settle(resolve, reject, response); 31 | 32 | // From here: 33 | // - response transformers will run 34 | // - response interceptors will run 35 | }); 36 | } 37 | ``` 38 | -------------------------------------------------------------------------------- /node_modules/axios/lib/cancel/Cancel.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * A `Cancel` is an object that is thrown when an operation is canceled. 5 | * 6 | * @class 7 | * @param {string=} message The message. 8 | */ 9 | function Cancel(message) { 10 | this.message = message; 11 | } 12 | 13 | Cancel.prototype.toString = function toString() { 14 | return 'Cancel' + (this.message ? ': ' + this.message : ''); 15 | }; 16 | 17 | Cancel.prototype.__CANCEL__ = true; 18 | 19 | module.exports = Cancel; 20 | -------------------------------------------------------------------------------- /node_modules/axios/lib/cancel/isCancel.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function isCancel(value) { 4 | return !!(value && value.__CANCEL__); 5 | }; 6 | -------------------------------------------------------------------------------- /node_modules/axios/lib/core/README.md: -------------------------------------------------------------------------------- 1 | # axios // core 2 | 3 | The modules found in `core/` should be modules that are specific to the domain logic of axios. These modules would most likely not make sense to be consumed outside of the axios module, as their logic is too specific. Some examples of core modules are: 4 | 5 | - Dispatching requests 6 | - Requests sent via `adapters/` (see lib/adapters/README.md) 7 | - Managing interceptors 8 | - Handling config 9 | -------------------------------------------------------------------------------- /node_modules/axios/lib/core/buildFullPath.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var isAbsoluteURL = require('../helpers/isAbsoluteURL'); 4 | var combineURLs = require('../helpers/combineURLs'); 5 | 6 | /** 7 | * Creates a new URL by combining the baseURL with the requestedURL, 8 | * only when the requestedURL is not already an absolute URL. 9 | * If the requestURL is absolute, this function returns the requestedURL untouched. 10 | * 11 | * @param {string} baseURL The base URL 12 | * @param {string} requestedURL Absolute or relative URL to combine 13 | * @returns {string} The combined full path 14 | */ 15 | module.exports = function buildFullPath(baseURL, requestedURL) { 16 | if (baseURL && !isAbsoluteURL(requestedURL)) { 17 | return combineURLs(baseURL, requestedURL); 18 | } 19 | return requestedURL; 20 | }; 21 | -------------------------------------------------------------------------------- /node_modules/axios/lib/core/createError.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var enhanceError = require('./enhanceError'); 4 | 5 | /** 6 | * Create an Error with the specified message, config, error code, request and response. 7 | * 8 | * @param {string} message The error message. 9 | * @param {Object} config The config. 10 | * @param {string} [code] The error code (for example, 'ECONNABORTED'). 11 | * @param {Object} [request] The request. 12 | * @param {Object} [response] The response. 13 | * @returns {Error} The created error. 14 | */ 15 | module.exports = function createError(message, config, code, request, response) { 16 | var error = new Error(message); 17 | return enhanceError(error, config, code, request, response); 18 | }; 19 | -------------------------------------------------------------------------------- /node_modules/axios/lib/core/settle.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var createError = require('./createError'); 4 | 5 | /** 6 | * Resolve or reject a Promise based on response status. 7 | * 8 | * @param {Function} resolve A function that resolves the promise. 9 | * @param {Function} reject A function that rejects the promise. 10 | * @param {object} response The response. 11 | */ 12 | module.exports = function settle(resolve, reject, response) { 13 | var validateStatus = response.config.validateStatus; 14 | if (!response.status || !validateStatus || validateStatus(response.status)) { 15 | resolve(response); 16 | } else { 17 | reject(createError( 18 | 'Request failed with status code ' + response.status, 19 | response.config, 20 | null, 21 | response.request, 22 | response 23 | )); 24 | } 25 | }; 26 | -------------------------------------------------------------------------------- /node_modules/axios/lib/core/transformData.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var utils = require('./../utils'); 4 | var defaults = require('../defaults'); 5 | 6 | /** 7 | * Transform the data for a request or a response 8 | * 9 | * @param {Object|String} data The data to be transformed 10 | * @param {Array} headers The headers for the request or response 11 | * @param {Array|Function} fns A single function or Array of functions 12 | * @returns {*} The resulting transformed data 13 | */ 14 | module.exports = function transformData(data, headers, fns) { 15 | var context = this || defaults; 16 | /*eslint no-param-reassign:0*/ 17 | utils.forEach(fns, function transform(fn) { 18 | data = fn.call(context, data, headers); 19 | }); 20 | 21 | return data; 22 | }; 23 | -------------------------------------------------------------------------------- /node_modules/axios/lib/defaults/transitional.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = { 4 | silentJSONParsing: true, 5 | forcedJSONParsing: true, 6 | clarifyTimeoutError: false 7 | }; 8 | -------------------------------------------------------------------------------- /node_modules/axios/lib/env/README.md: -------------------------------------------------------------------------------- 1 | # axios // env 2 | 3 | The `data.js` file is updated automatically when the package version is upgrading. Please do not edit it manually. 4 | -------------------------------------------------------------------------------- /node_modules/axios/lib/env/data.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "version": "0.26.1" 3 | }; -------------------------------------------------------------------------------- /node_modules/axios/lib/helpers/README.md: -------------------------------------------------------------------------------- 1 | # axios // helpers 2 | 3 | The modules found in `helpers/` should be generic modules that are _not_ specific to the domain logic of axios. These modules could theoretically be published to npm on their own and consumed by other modules or apps. Some examples of generic modules are things like: 4 | 5 | - Browser polyfills 6 | - Managing cookies 7 | - Parsing HTTP headers 8 | -------------------------------------------------------------------------------- /node_modules/axios/lib/helpers/bind.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function bind(fn, thisArg) { 4 | return function wrap() { 5 | var args = new Array(arguments.length); 6 | for (var i = 0; i < args.length; i++) { 7 | args[i] = arguments[i]; 8 | } 9 | return fn.apply(thisArg, args); 10 | }; 11 | }; 12 | -------------------------------------------------------------------------------- /node_modules/axios/lib/helpers/combineURLs.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Creates a new URL by combining the specified URLs 5 | * 6 | * @param {string} baseURL The base URL 7 | * @param {string} relativeURL The relative URL 8 | * @returns {string} The combined URL 9 | */ 10 | module.exports = function combineURLs(baseURL, relativeURL) { 11 | return relativeURL 12 | ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') 13 | : baseURL; 14 | }; 15 | -------------------------------------------------------------------------------- /node_modules/axios/lib/helpers/deprecatedMethod.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*eslint no-console:0*/ 4 | 5 | /** 6 | * Supply a warning to the developer that a method they are using 7 | * has been deprecated. 8 | * 9 | * @param {string} method The name of the deprecated method 10 | * @param {string} [instead] The alternate method to use if applicable 11 | * @param {string} [docs] The documentation URL to get further details 12 | */ 13 | module.exports = function deprecatedMethod(method, instead, docs) { 14 | try { 15 | console.warn( 16 | 'DEPRECATED method `' + method + '`.' + 17 | (instead ? ' Use `' + instead + '` instead.' : '') + 18 | ' This method will be removed in a future release.'); 19 | 20 | if (docs) { 21 | console.warn('For more information about usage see ' + docs); 22 | } 23 | } catch (e) { /* Ignore */ } 24 | }; 25 | -------------------------------------------------------------------------------- /node_modules/axios/lib/helpers/isAbsoluteURL.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Determines whether the specified URL is absolute 5 | * 6 | * @param {string} url The URL to test 7 | * @returns {boolean} True if the specified URL is absolute, otherwise false 8 | */ 9 | module.exports = function isAbsoluteURL(url) { 10 | // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). 11 | // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed 12 | // by any combination of letters, digits, plus, period, or hyphen. 13 | return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); 14 | }; 15 | -------------------------------------------------------------------------------- /node_modules/axios/lib/helpers/isAxiosError.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var utils = require('./../utils'); 4 | 5 | /** 6 | * Determines whether the payload is an error thrown by Axios 7 | * 8 | * @param {*} payload The value to test 9 | * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false 10 | */ 11 | module.exports = function isAxiosError(payload) { 12 | return utils.isObject(payload) && (payload.isAxiosError === true); 13 | }; 14 | -------------------------------------------------------------------------------- /node_modules/axios/lib/helpers/normalizeHeaderName.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var utils = require('../utils'); 4 | 5 | module.exports = function normalizeHeaderName(headers, normalizedName) { 6 | utils.forEach(headers, function processHeader(value, name) { 7 | if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) { 8 | headers[normalizedName] = value; 9 | delete headers[name]; 10 | } 11 | }); 12 | }; 13 | -------------------------------------------------------------------------------- /node_modules/axios/lib/helpers/spread.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Syntactic sugar for invoking a function and expanding an array for arguments. 5 | * 6 | * Common use case would be to use `Function.prototype.apply`. 7 | * 8 | * ```js 9 | * function f(x, y, z) {} 10 | * var args = [1, 2, 3]; 11 | * f.apply(null, args); 12 | * ``` 13 | * 14 | * With `spread` this example can be re-written. 15 | * 16 | * ```js 17 | * spread(function(x, y, z) {})([1, 2, 3]); 18 | * ``` 19 | * 20 | * @param {Function} callback 21 | * @returns {Function} 22 | */ 23 | module.exports = function spread(callback) { 24 | return function wrap(arr) { 25 | return callback.apply(null, arr); 26 | }; 27 | }; 28 | -------------------------------------------------------------------------------- /node_modules/axios/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "es2015", 4 | "lib": ["dom", "es2015"], 5 | "types": [], 6 | "moduleResolution": "node", 7 | "strict": true, 8 | "noEmit": true, 9 | "baseUrl": ".", 10 | "paths": { 11 | "axios": ["."] 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /node_modules/axios/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "dtslint/dtslint.json", 3 | "rules": { 4 | "no-unnecessary-generics": false 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /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/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/bytes/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bytes", 3 | "description": "Utility to parse a string bytes to bytes and vice-versa", 4 | "version": "3.1.2", 5 | "author": "TJ Holowaychuk (http://tjholowaychuk.com)", 6 | "contributors": [ 7 | "Jed Watson ", 8 | "Théo FIDRY " 9 | ], 10 | "license": "MIT", 11 | "keywords": [ 12 | "byte", 13 | "bytes", 14 | "utility", 15 | "parse", 16 | "parser", 17 | "convert", 18 | "converter" 19 | ], 20 | "repository": "visionmedia/bytes.js", 21 | "devDependencies": { 22 | "eslint": "7.32.0", 23 | "eslint-plugin-markdown": "2.2.1", 24 | "mocha": "9.2.0", 25 | "nyc": "15.1.0" 26 | }, 27 | "files": [ 28 | "History.md", 29 | "LICENSE", 30 | "Readme.md", 31 | "index.js" 32 | ], 33 | "engines": { 34 | "node": ">= 0.8" 35 | }, 36 | "scripts": { 37 | "lint": "eslint .", 38 | "test": "mocha --check-leaks --reporter spec", 39 | "test-ci": "nyc --reporter=lcov --reporter=text npm test", 40 | "test-cov": "nyc --reporter=html --reporter=text npm test" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /node_modules/call-bind/.eslintignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | -------------------------------------------------------------------------------- /node_modules/call-bind/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "rules": { 7 | "func-name-matching": 0, 8 | "id-length": 0, 9 | "new-cap": [2, { 10 | "capIsNewExceptions": [ 11 | "GetIntrinsic", 12 | ], 13 | }], 14 | "no-magic-numbers": 0, 15 | "operator-linebreak": [2, "before"], 16 | }, 17 | } 18 | -------------------------------------------------------------------------------- /node_modules/call-bind/.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [ljharb] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: npm/call-bind 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 13 | -------------------------------------------------------------------------------- /node_modules/call-bind/.nycrc: -------------------------------------------------------------------------------- 1 | { 2 | "all": true, 3 | "check-coverage": false, 4 | "reporter": ["text-summary", "text", "html", "json"], 5 | "lines": 86, 6 | "statements": 85.93, 7 | "functions": 82.43, 8 | "branches": 76.06, 9 | "exclude": [ 10 | "coverage", 11 | "test" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/call-bind/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Jordan Harband 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/call-bind/README.md: -------------------------------------------------------------------------------- 1 | # call-bind 2 | Robustly `.call.bind()` a function. 3 | -------------------------------------------------------------------------------- /node_modules/call-bind/callBound.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var GetIntrinsic = require('get-intrinsic'); 4 | 5 | var callBind = require('./'); 6 | 7 | var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf')); 8 | 9 | module.exports = function callBoundIntrinsic(name, allowMissing) { 10 | var intrinsic = GetIntrinsic(name, !!allowMissing); 11 | if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) { 12 | return callBind(intrinsic); 13 | } 14 | return intrinsic; 15 | }; 16 | -------------------------------------------------------------------------------- /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/content-type/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "content-type", 3 | "description": "Create and parse HTTP Content-Type header", 4 | "version": "1.0.4", 5 | "author": "Douglas Christopher Wilson ", 6 | "license": "MIT", 7 | "keywords": [ 8 | "content-type", 9 | "http", 10 | "req", 11 | "res", 12 | "rfc7231" 13 | ], 14 | "repository": "jshttp/content-type", 15 | "devDependencies": { 16 | "eslint": "3.19.0", 17 | "eslint-config-standard": "10.2.1", 18 | "eslint-plugin-import": "2.7.0", 19 | "eslint-plugin-node": "5.1.1", 20 | "eslint-plugin-promise": "3.5.0", 21 | "eslint-plugin-standard": "3.0.1", 22 | "istanbul": "0.4.5", 23 | "mocha": "~1.21.5" 24 | }, 25 | "files": [ 26 | "LICENSE", 27 | "HISTORY.md", 28 | "README.md", 29 | "index.js" 30 | ], 31 | "engines": { 32 | "node": ">= 0.6" 33 | }, 34 | "scripts": { 35 | "lint": "eslint .", 36 | "test": "mocha --reporter spec --check-leaks --bail test/", 37 | "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/", 38 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /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/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cookie-signature", 3 | "version": "1.0.6", 4 | "description": "Sign and unsign cookies", 5 | "keywords": ["cookie", "sign", "unsign"], 6 | "author": "TJ Holowaychuk ", 7 | "license": "MIT", 8 | "repository": { "type": "git", "url": "https://github.com/visionmedia/node-cookie-signature.git"}, 9 | "dependencies": {}, 10 | "devDependencies": { 11 | "mocha": "*", 12 | "should": "*" 13 | }, 14 | "scripts": { 15 | "test": "mocha --require should --reporter spec" 16 | }, 17 | "main": "index" 18 | } 19 | -------------------------------------------------------------------------------- /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/cookie/SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policies and Procedures 2 | 3 | ## Reporting a Bug 4 | 5 | The `cookie` team and community take all security bugs seriously. Thank 6 | you for improving the security of the project. We appreciate your efforts and 7 | responsible disclosure and will make every effort to acknowledge your 8 | contributions. 9 | 10 | Report security bugs by emailing the current owner(s) of `cookie`. This 11 | information can be found in the npm registry using the command 12 | `npm owner ls cookie`. 13 | If unsure or unable to get the information from the above, open an issue 14 | in the [project issue tracker](https://github.com/jshttp/cookie/issues) 15 | asking for the current contact information. 16 | 17 | To ensure the timely response to your report, please ensure that the entirety 18 | of the report is contained within the email body and not solely behind a web 19 | link or an attachment. 20 | 21 | At least one owner will acknowledge your email within 48 hours, and will send a 22 | more detailed response within 48 hours indicating the next steps in handling 23 | your report. After the initial reply to your report, the owners will 24 | endeavor to keep you informed of the progress towards a fix and full 25 | announcement, and may ask for additional information or guidance. 26 | -------------------------------------------------------------------------------- /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/deepmerge/index.d.ts: -------------------------------------------------------------------------------- 1 | declare function deepmerge(x: Partial, y: Partial, options?: deepmerge.Options): T; 2 | declare function deepmerge(x: Partial, y: Partial, options?: deepmerge.Options): T1 & T2; 3 | 4 | declare namespace deepmerge { 5 | export interface Options { 6 | arrayMerge?(target: any[], source: any[], options?: Options): any[]; 7 | clone?: boolean; 8 | customMerge?: (key: string, options?: Options) => ((x: any, y: any) => any) | undefined; 9 | isMergeableObject?(value: object): boolean; 10 | } 11 | 12 | export function all (objects: object[], options?: Options): object; 13 | export function all (objects: Partial[], options?: Options): T; 14 | } 15 | 16 | export = deepmerge; 17 | -------------------------------------------------------------------------------- /node_modules/deepmerge/license.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2012 James Halliday, Josh Duff, and other contributors 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/deepmerge/rollup.config.js: -------------------------------------------------------------------------------- 1 | import resolve from 'rollup-plugin-node-resolve' 2 | import commonjs from 'rollup-plugin-commonjs' 3 | import pkg from './package.json' 4 | 5 | export default { 6 | input: `index.js`, 7 | plugins: [ 8 | commonjs(), 9 | resolve(), 10 | ], 11 | output: [ 12 | { 13 | file: pkg.main, 14 | format: `cjs` 15 | }, 16 | { 17 | name: 'deepmerge', 18 | file: 'dist/umd.js', 19 | format: `umd` 20 | }, 21 | ], 22 | } 23 | -------------------------------------------------------------------------------- /node_modules/depd/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2018 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/destroy/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | Copyright (c) 2015-2022 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/dotenv/config.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /node_modules/dotenv/config.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | require('./lib/main').config( 3 | Object.assign( 4 | {}, 5 | require('./lib/env-options'), 6 | require('./lib/cli-options')(process.argv) 7 | ) 8 | ) 9 | })() 10 | -------------------------------------------------------------------------------- /node_modules/dotenv/lib/cli-options.js: -------------------------------------------------------------------------------- 1 | const re = /^dotenv_config_(encoding|path|debug|override)=(.+)$/ 2 | 3 | module.exports = function optionMatcher (args) { 4 | return args.reduce(function (acc, cur) { 5 | const matches = cur.match(re) 6 | if (matches) { 7 | acc[matches[1]] = matches[2] 8 | } 9 | return acc 10 | }, {}) 11 | } 12 | -------------------------------------------------------------------------------- /node_modules/dotenv/lib/env-options.js: -------------------------------------------------------------------------------- 1 | // ../config.js accepts options via environment variables 2 | const options = {} 3 | 4 | if (process.env.DOTENV_CONFIG_ENCODING != null) { 5 | options.encoding = process.env.DOTENV_CONFIG_ENCODING 6 | } 7 | 8 | if (process.env.DOTENV_CONFIG_PATH != null) { 9 | options.path = process.env.DOTENV_CONFIG_PATH 10 | } 11 | 12 | if (process.env.DOTENV_CONFIG_DEBUG != null) { 13 | options.debug = process.env.DOTENV_CONFIG_DEBUG 14 | } 15 | 16 | if (process.env.DOTENV_CONFIG_OVERRIDE != null) { 17 | options.override = process.env.DOTENV_CONFIG_OVERRIDE 18 | } 19 | 20 | module.exports = options 21 | -------------------------------------------------------------------------------- /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/ee-first/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ee-first", 3 | "description": "return the first event in a set of ee/event pairs", 4 | "version": "1.1.1", 5 | "author": { 6 | "name": "Jonathan Ong", 7 | "email": "me@jongleberry.com", 8 | "url": "http://jongleberry.com", 9 | "twitter": "https://twitter.com/jongleberry" 10 | }, 11 | "contributors": [ 12 | "Douglas Christopher Wilson " 13 | ], 14 | "license": "MIT", 15 | "repository": "jonathanong/ee-first", 16 | "devDependencies": { 17 | "istanbul": "0.3.9", 18 | "mocha": "2.2.5" 19 | }, 20 | "files": [ 21 | "index.js", 22 | "LICENSE" 23 | ], 24 | "scripts": { 25 | "test": "mocha --reporter spec --bail --check-leaks test/", 26 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", 27 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /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/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "encodeurl", 3 | "description": "Encode a URL to a percent-encoded form, excluding already-encoded sequences", 4 | "version": "1.0.2", 5 | "contributors": [ 6 | "Douglas Christopher Wilson " 7 | ], 8 | "license": "MIT", 9 | "keywords": [ 10 | "encode", 11 | "encodeurl", 12 | "url" 13 | ], 14 | "repository": "pillarjs/encodeurl", 15 | "devDependencies": { 16 | "eslint": "3.19.0", 17 | "eslint-config-standard": "10.2.1", 18 | "eslint-plugin-import": "2.8.0", 19 | "eslint-plugin-node": "5.2.1", 20 | "eslint-plugin-promise": "3.6.0", 21 | "eslint-plugin-standard": "3.0.1", 22 | "istanbul": "0.4.5", 23 | "mocha": "2.5.3" 24 | }, 25 | "files": [ 26 | "LICENSE", 27 | "HISTORY.md", 28 | "README.md", 29 | "index.js" 30 | ], 31 | "engines": { 32 | "node": ">= 0.8" 33 | }, 34 | "scripts": { 35 | "lint": "eslint .", 36 | "test": "mocha --reporter spec --bail --check-leaks test/", 37 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", 38 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /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/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "escape-html", 3 | "description": "Escape string for use in HTML", 4 | "version": "1.0.3", 5 | "license": "MIT", 6 | "keywords": [ 7 | "escape", 8 | "html", 9 | "utility" 10 | ], 11 | "repository": "component/escape-html", 12 | "devDependencies": { 13 | "benchmark": "1.0.0", 14 | "beautify-benchmark": "0.2.4" 15 | }, 16 | "files": [ 17 | "LICENSE", 18 | "Readme.md", 19 | "index.js" 20 | ], 21 | "scripts": { 22 | "bench": "node benchmark/index.js" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /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/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/finalhandler/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2022 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/follow-redirects/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2014–present Olivier Lalonde , James Talmage , Ruben Verborgh 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 7 | of the Software, and to permit persons to whom the Software is furnished to do 8 | so, 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, 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 LIABILITY, 17 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR 18 | IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 | -------------------------------------------------------------------------------- /node_modules/follow-redirects/debug.js: -------------------------------------------------------------------------------- 1 | var debug; 2 | 3 | module.exports = function () { 4 | if (!debug) { 5 | try { 6 | /* eslint global-require: off */ 7 | debug = require("debug")("follow-redirects"); 8 | } 9 | catch (error) { /* */ } 10 | if (typeof debug !== "function") { 11 | debug = function () { /* */ }; 12 | } 13 | } 14 | debug.apply(null, arguments); 15 | }; 16 | -------------------------------------------------------------------------------- /node_modules/follow-redirects/http.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./").http; 2 | -------------------------------------------------------------------------------- /node_modules/follow-redirects/https.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./").https; 2 | -------------------------------------------------------------------------------- /node_modules/forwarded/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.2.0 / 2021-05-31 2 | ================== 3 | 4 | * Use `req.socket` over deprecated `req.connection` 5 | 6 | 0.1.2 / 2017-09-14 7 | ================== 8 | 9 | * perf: improve header parsing 10 | * perf: reduce overhead when no `X-Forwarded-For` header 11 | 12 | 0.1.1 / 2017-09-10 13 | ================== 14 | 15 | * Fix trimming leading / trailing OWS 16 | * perf: hoist regular expression 17 | 18 | 0.1.0 / 2014-09-21 19 | ================== 20 | 21 | * Initial release 22 | -------------------------------------------------------------------------------- /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/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/function-bind/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = tab 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 = 120 11 | 12 | [CHANGELOG.md] 13 | indent_style = space 14 | indent_size = 2 15 | 16 | [*.json] 17 | max_line_length = off 18 | 19 | [Makefile] 20 | max_line_length = off 21 | -------------------------------------------------------------------------------- /node_modules/function-bind/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "rules": { 7 | "func-name-matching": 0, 8 | "indent": [2, 4], 9 | "max-nested-callbacks": [2, 3], 10 | "max-params": [2, 3], 11 | "max-statements": [2, 20], 12 | "no-new-func": [1], 13 | "strict": [0] 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /node_modules/function-bind/.npmignore: -------------------------------------------------------------------------------- 1 | # gitignore 2 | .DS_Store 3 | .monitor 4 | .*.swp 5 | .nodemonignore 6 | releases 7 | *.log 8 | *.err 9 | fleet.json 10 | public/browserify 11 | bin/*.json 12 | .bin 13 | build 14 | compile 15 | .lock-wscript 16 | coverage 17 | node_modules 18 | 19 | # Only apps should have lockfiles 20 | npm-shrinkwrap.json 21 | package-lock.json 22 | yarn.lock 23 | -------------------------------------------------------------------------------- /node_modules/function-bind/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Raynos. 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 | 21 | -------------------------------------------------------------------------------- /node_modules/function-bind/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var implementation = require('./implementation'); 4 | 5 | module.exports = Function.prototype.bind || implementation; 6 | -------------------------------------------------------------------------------- /node_modules/function-bind/test/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "array-bracket-newline": 0, 4 | "array-element-newline": 0, 5 | "max-statements-per-line": [2, { "max": 2 }], 6 | "no-invalid-this": 0, 7 | "no-magic-numbers": 0, 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /node_modules/get-intrinsic/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "env": { 7 | "es6": true, 8 | "es2017": true, 9 | "es2020": true, 10 | "es2021": true, 11 | "es2022": true, 12 | }, 13 | 14 | "rules": { 15 | "array-bracket-newline": 0, 16 | "complexity": 0, 17 | "eqeqeq": [2, "allow-null"], 18 | "func-name-matching": 0, 19 | "id-length": 0, 20 | "max-lines-per-function": [2, 90], 21 | "max-params": [2, 4], 22 | "max-statements": 0, 23 | "max-statements-per-line": [2, { "max": 2 }], 24 | "multiline-comment-style": 0, 25 | "no-magic-numbers": 0, 26 | "sort-keys": 0, 27 | }, 28 | 29 | "overrides": [ 30 | { 31 | "files": "test/**", 32 | "rules": { 33 | "new-cap": 0, 34 | }, 35 | }, 36 | ], 37 | } 38 | -------------------------------------------------------------------------------- /node_modules/get-intrinsic/.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [ljharb] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: npm/get-intrinsic 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 13 | -------------------------------------------------------------------------------- /node_modules/get-intrinsic/.nycrc: -------------------------------------------------------------------------------- 1 | { 2 | "all": true, 3 | "check-coverage": false, 4 | "reporter": ["text-summary", "text", "html", "json"], 5 | "exclude": [ 6 | "coverage", 7 | "test" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /node_modules/get-intrinsic/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Jordan Harband 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/has-symbols/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "rules": { 7 | "max-statements-per-line": [2, { "max": 2 }], 8 | "no-magic-numbers": 0, 9 | "multiline-comment-style": 0, 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /node_modules/has-symbols/.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [ljharb] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: npm/has-symbols 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 13 | -------------------------------------------------------------------------------- /node_modules/has-symbols/.nycrc: -------------------------------------------------------------------------------- 1 | { 2 | "all": true, 3 | "check-coverage": false, 4 | "reporter": ["text-summary", "text", "html", "json"], 5 | "exclude": [ 6 | "coverage", 7 | "test" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /node_modules/has-symbols/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Jordan Harband 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/has-symbols/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var origSymbol = typeof Symbol !== 'undefined' && Symbol; 4 | var hasSymbolSham = require('./shams'); 5 | 6 | module.exports = function hasNativeSymbols() { 7 | if (typeof origSymbol !== 'function') { return false; } 8 | if (typeof Symbol !== 'function') { return false; } 9 | if (typeof origSymbol('foo') !== 'symbol') { return false; } 10 | if (typeof Symbol('bar') !== 'symbol') { return false; } 11 | 12 | return hasSymbolSham(); 13 | }; 14 | -------------------------------------------------------------------------------- /node_modules/has-symbols/test/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var test = require('tape'); 4 | var hasSymbols = require('../'); 5 | var runSymbolTests = require('./tests'); 6 | 7 | test('interface', function (t) { 8 | t.equal(typeof hasSymbols, 'function', 'is a function'); 9 | t.equal(typeof hasSymbols(), 'boolean', 'returns a boolean'); 10 | t.end(); 11 | }); 12 | 13 | test('Symbols are supported', { skip: !hasSymbols() }, function (t) { 14 | runSymbolTests(t); 15 | t.end(); 16 | }); 17 | 18 | test('Symbols are not supported', { skip: hasSymbols() }, function (t) { 19 | t.equal(typeof Symbol, 'undefined', 'global Symbol is undefined'); 20 | t.equal(typeof Object.getOwnPropertySymbols, 'undefined', 'Object.getOwnPropertySymbols does not exist'); 21 | t.end(); 22 | }); 23 | -------------------------------------------------------------------------------- /node_modules/has-symbols/test/shams/core-js.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var test = require('tape'); 4 | 5 | if (typeof Symbol === 'function' && typeof Symbol() === 'symbol') { 6 | test('has native Symbol support', function (t) { 7 | t.equal(typeof Symbol, 'function'); 8 | t.equal(typeof Symbol(), 'symbol'); 9 | t.end(); 10 | }); 11 | return; 12 | } 13 | 14 | var hasSymbols = require('../../shams'); 15 | 16 | test('polyfilled Symbols', function (t) { 17 | /* eslint-disable global-require */ 18 | t.equal(hasSymbols(), false, 'hasSymbols is false before polyfilling'); 19 | require('core-js/fn/symbol'); 20 | require('core-js/fn/symbol/to-string-tag'); 21 | 22 | require('../tests')(t); 23 | 24 | var hasSymbolsAfter = hasSymbols(); 25 | t.equal(hasSymbolsAfter, true, 'hasSymbols is true after polyfilling'); 26 | /* eslint-enable global-require */ 27 | t.end(); 28 | }); 29 | -------------------------------------------------------------------------------- /node_modules/has-symbols/test/shams/get-own-property-symbols.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var test = require('tape'); 4 | 5 | if (typeof Symbol === 'function' && typeof Symbol() === 'symbol') { 6 | test('has native Symbol support', function (t) { 7 | t.equal(typeof Symbol, 'function'); 8 | t.equal(typeof Symbol(), 'symbol'); 9 | t.end(); 10 | }); 11 | return; 12 | } 13 | 14 | var hasSymbols = require('../../shams'); 15 | 16 | test('polyfilled Symbols', function (t) { 17 | /* eslint-disable global-require */ 18 | t.equal(hasSymbols(), false, 'hasSymbols is false before polyfilling'); 19 | 20 | require('get-own-property-symbols'); 21 | 22 | require('../tests')(t); 23 | 24 | var hasSymbolsAfter = hasSymbols(); 25 | t.equal(hasSymbolsAfter, true, 'hasSymbols is true after polyfilling'); 26 | /* eslint-enable global-require */ 27 | t.end(); 28 | }); 29 | -------------------------------------------------------------------------------- /node_modules/has/LICENSE-MIT: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Thiago de Arruda 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/has/README.md: -------------------------------------------------------------------------------- 1 | # has 2 | 3 | > Object.prototype.hasOwnProperty.call shortcut 4 | 5 | ## Installation 6 | 7 | ```sh 8 | npm install --save has 9 | ``` 10 | 11 | ## Usage 12 | 13 | ```js 14 | var has = require('has'); 15 | 16 | has({}, 'hasOwnProperty'); // false 17 | has(Object.prototype, 'hasOwnProperty'); // true 18 | ``` 19 | -------------------------------------------------------------------------------- /node_modules/has/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "has", 3 | "description": "Object.prototype.hasOwnProperty.call shortcut", 4 | "version": "1.0.3", 5 | "homepage": "https://github.com/tarruda/has", 6 | "author": { 7 | "name": "Thiago de Arruda", 8 | "email": "tpadilha84@gmail.com" 9 | }, 10 | "contributors": [ 11 | { 12 | "name": "Jordan Harband", 13 | "email": "ljharb@gmail.com", 14 | "url": "http://ljharb.codes" 15 | } 16 | ], 17 | "repository": { 18 | "type": "git", 19 | "url": "git://github.com/tarruda/has.git" 20 | }, 21 | "bugs": { 22 | "url": "https://github.com/tarruda/has/issues" 23 | }, 24 | "license": "MIT", 25 | "licenses": [ 26 | { 27 | "type": "MIT", 28 | "url": "https://github.com/tarruda/has/blob/master/LICENSE-MIT" 29 | } 30 | ], 31 | "main": "./src", 32 | "dependencies": { 33 | "function-bind": "^1.1.1" 34 | }, 35 | "devDependencies": { 36 | "@ljharb/eslint-config": "^12.2.1", 37 | "eslint": "^4.19.1", 38 | "tape": "^4.9.0" 39 | }, 40 | "engines": { 41 | "node": ">= 0.4.0" 42 | }, 43 | "scripts": { 44 | "lint": "eslint .", 45 | "pretest": "npm run lint", 46 | "test": "tape test" 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /node_modules/has/src/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var bind = require('function-bind'); 4 | 5 | module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty); 6 | -------------------------------------------------------------------------------- /node_modules/has/test/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var test = require('tape'); 4 | var has = require('../'); 5 | 6 | test('has', function (t) { 7 | t.equal(has({}, 'hasOwnProperty'), false, 'object literal does not have own property "hasOwnProperty"'); 8 | t.equal(has(Object.prototype, 'hasOwnProperty'), true, 'Object.prototype has own property "hasOwnProperty"'); 9 | t.end(); 10 | }); 11 | -------------------------------------------------------------------------------- /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/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/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/inherits.js: -------------------------------------------------------------------------------- 1 | try { 2 | var util = require('util'); 3 | /* istanbul ignore next */ 4 | if (typeof util.inherits !== 'function') throw ''; 5 | module.exports = util.inherits; 6 | } catch (e) { 7 | /* istanbul ignore next */ 8 | module.exports = require('./inherits_browser.js'); 9 | } 10 | -------------------------------------------------------------------------------- /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 | if (superCtor) { 5 | ctor.super_ = superCtor 6 | ctor.prototype = Object.create(superCtor.prototype, { 7 | constructor: { 8 | value: ctor, 9 | enumerable: false, 10 | writable: true, 11 | configurable: true 12 | } 13 | }) 14 | } 15 | }; 16 | } else { 17 | // old school shim for old browsers 18 | module.exports = function inherits(ctor, superCtor) { 19 | if (superCtor) { 20 | ctor.super_ = superCtor 21 | var TempCtor = function () {} 22 | TempCtor.prototype = superCtor.prototype 23 | ctor.prototype = new TempCtor() 24 | ctor.prototype.constructor = ctor 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /node_modules/inherits/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "inherits", 3 | "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()", 4 | "version": "2.0.4", 5 | "keywords": [ 6 | "inheritance", 7 | "class", 8 | "klass", 9 | "oop", 10 | "object-oriented", 11 | "inherits", 12 | "browser", 13 | "browserify" 14 | ], 15 | "main": "./inherits.js", 16 | "browser": "./inherits_browser.js", 17 | "repository": "git://github.com/isaacs/inherits", 18 | "license": "ISC", 19 | "scripts": { 20 | "test": "tap" 21 | }, 22 | "devDependencies": { 23 | "tap": "^14.2.4" 24 | }, 25 | "files": [ 26 | "inherits.js", 27 | "inherits_browser.js" 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /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/ipaddr.js/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ipaddr.js", 3 | "description": "A library for manipulating IPv4 and IPv6 addresses in JavaScript.", 4 | "version": "1.9.1", 5 | "author": "whitequark ", 6 | "directories": { 7 | "lib": "./lib" 8 | }, 9 | "dependencies": {}, 10 | "devDependencies": { 11 | "coffee-script": "~1.12.6", 12 | "nodeunit": "^0.11.3", 13 | "uglify-js": "~3.0.19" 14 | }, 15 | "scripts": { 16 | "test": "cake build test" 17 | }, 18 | "files": [ 19 | "lib/", 20 | "LICENSE", 21 | "ipaddr.min.js" 22 | ], 23 | "keywords": [ 24 | "ip", 25 | "ipv4", 26 | "ipv6" 27 | ], 28 | "repository": "git://github.com/whitequark/ipaddr.js", 29 | "main": "./lib/ipaddr.js", 30 | "engines": { 31 | "node": ">= 0.10" 32 | }, 33 | "license": "MIT", 34 | "types": "./lib/ipaddr.js.d.ts" 35 | } 36 | -------------------------------------------------------------------------------- /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/media-typer/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "media-typer", 3 | "description": "Simple RFC 6838 media type parser and formatter", 4 | "version": "0.3.0", 5 | "author": "Douglas Christopher Wilson ", 6 | "license": "MIT", 7 | "repository": "jshttp/media-typer", 8 | "devDependencies": { 9 | "istanbul": "0.3.2", 10 | "mocha": "~1.21.4", 11 | "should": "~4.0.4" 12 | }, 13 | "files": [ 14 | "LICENSE", 15 | "HISTORY.md", 16 | "index.js" 17 | ], 18 | "engines": { 19 | "node": ">= 0.6" 20 | }, 21 | "scripts": { 22 | "test": "mocha --reporter spec --check-leaks --bail test/", 23 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", 24 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /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/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "merge-descriptors", 3 | "description": "Merge objects using descriptors", 4 | "version": "1.0.1", 5 | "author": { 6 | "name": "Jonathan Ong", 7 | "email": "me@jongleberry.com", 8 | "url": "http://jongleberry.com", 9 | "twitter": "https://twitter.com/jongleberry" 10 | }, 11 | "contributors": [ 12 | "Douglas Christopher Wilson ", 13 | "Mike Grabowski " 14 | ], 15 | "license": "MIT", 16 | "repository": "component/merge-descriptors", 17 | "devDependencies": { 18 | "istanbul": "0.4.1", 19 | "mocha": "1.21.5" 20 | }, 21 | "files": [ 22 | "HISTORY.md", 23 | "LICENSE", 24 | "README.md", 25 | "index.js" 26 | ], 27 | "scripts": { 28 | "test": "mocha --reporter spec --bail --check-leaks test/", 29 | "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/", 30 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /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/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "methods", 3 | "description": "HTTP methods that node supports", 4 | "version": "1.1.2", 5 | "contributors": [ 6 | "Douglas Christopher Wilson ", 7 | "Jonathan Ong (http://jongleberry.com)", 8 | "TJ Holowaychuk (http://tjholowaychuk.com)" 9 | ], 10 | "license": "MIT", 11 | "repository": "jshttp/methods", 12 | "devDependencies": { 13 | "istanbul": "0.4.1", 14 | "mocha": "1.21.5" 15 | }, 16 | "files": [ 17 | "index.js", 18 | "HISTORY.md", 19 | "LICENSE" 20 | ], 21 | "engines": { 22 | "node": ">= 0.6" 23 | }, 24 | "scripts": { 25 | "test": "mocha --reporter spec --bail --check-leaks test/", 26 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", 27 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" 28 | }, 29 | "browser": { 30 | "http": false 31 | }, 32 | "keywords": [ 33 | "http", 34 | "methods" 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /node_modules/mime-db/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Jonathan Ong 4 | Copyright (c) 2015-2022 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-db/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * mime-db 3 | * Copyright(c) 2014 Jonathan Ong 4 | * Copyright(c) 2015-2022 Douglas Christopher Wilson 5 | * MIT Licensed 6 | */ 7 | 8 | /** 9 | * Module exports. 10 | */ 11 | 12 | module.exports = require('./db.json') 13 | -------------------------------------------------------------------------------- /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/thapatechnical/nodeEmail/4476637942bbf07c35af04f16df77bf3cdfab186/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/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": { 3 | "name": "Robert Kieffer", 4 | "url": "http://github.com/broofa", 5 | "email": "robert@broofa.com" 6 | }, 7 | "bin": { 8 | "mime": "cli.js" 9 | }, 10 | "engines": { 11 | "node": ">=4" 12 | }, 13 | "contributors": [ 14 | { 15 | "name": "Benjamin Thomas", 16 | "url": "http://github.com/bentomas", 17 | "email": "benjamin@benjaminthomas.org" 18 | } 19 | ], 20 | "description": "A comprehensive library for mime-type mapping", 21 | "license": "MIT", 22 | "dependencies": {}, 23 | "devDependencies": { 24 | "github-release-notes": "0.13.1", 25 | "mime-db": "1.31.0", 26 | "mime-score": "1.1.0" 27 | }, 28 | "scripts": { 29 | "prepare": "node src/build.js", 30 | "changelog": "gren changelog --tags=all --generate --override", 31 | "test": "node src/test.js" 32 | }, 33 | "keywords": [ 34 | "util", 35 | "mime" 36 | ], 37 | "main": "mime.js", 38 | "name": "mime", 39 | "repository": { 40 | "url": "https://github.com/broofa/node-mime", 41 | "type": "git" 42 | }, 43 | "version": "1.6.0" 44 | } 45 | -------------------------------------------------------------------------------- /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 | "name": "ms", 3 | "version": "2.0.0", 4 | "description": "Tiny milisecond conversion utility", 5 | "repository": "zeit/ms", 6 | "main": "./index", 7 | "files": [ 8 | "index.js" 9 | ], 10 | "scripts": { 11 | "precommit": "lint-staged", 12 | "lint": "eslint lib/* bin/*", 13 | "test": "mocha tests.js" 14 | }, 15 | "eslintConfig": { 16 | "extends": "eslint:recommended", 17 | "env": { 18 | "node": true, 19 | "es6": true 20 | } 21 | }, 22 | "lint-staged": { 23 | "*.js": [ 24 | "npm run lint", 25 | "prettier --single-quote --write", 26 | "git add" 27 | ] 28 | }, 29 | "license": "MIT", 30 | "devDependencies": { 31 | "eslint": "3.19.0", 32 | "expect.js": "0.3.1", 33 | "husky": "0.13.3", 34 | "lint-staged": "3.4.1", 35 | "mocha": "3.4.1" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /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/negotiator/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "negotiator", 3 | "description": "HTTP content negotiation", 4 | "version": "0.6.3", 5 | "contributors": [ 6 | "Douglas Christopher Wilson ", 7 | "Federico Romero ", 8 | "Isaac Z. Schlueter (http://blog.izs.me/)" 9 | ], 10 | "license": "MIT", 11 | "keywords": [ 12 | "http", 13 | "content negotiation", 14 | "accept", 15 | "accept-language", 16 | "accept-encoding", 17 | "accept-charset" 18 | ], 19 | "repository": "jshttp/negotiator", 20 | "devDependencies": { 21 | "eslint": "7.32.0", 22 | "eslint-plugin-markdown": "2.2.1", 23 | "mocha": "9.1.3", 24 | "nyc": "15.1.0" 25 | }, 26 | "files": [ 27 | "lib/", 28 | "HISTORY.md", 29 | "LICENSE", 30 | "index.js", 31 | "README.md" 32 | ], 33 | "engines": { 34 | "node": ">= 0.6" 35 | }, 36 | "scripts": { 37 | "lint": "eslint .", 38 | "test": "mocha --reporter spec --check-leaks --bail test/", 39 | "test-ci": "nyc --reporter=lcov --reporter=text npm test", 40 | "test-cov": "nyc --reporter=html --reporter=text npm test" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /node_modules/nodemailer/.gitattributes: -------------------------------------------------------------------------------- 1 | *.js text eol=lf 2 | *.txt text eol=lf 3 | *.html text eol=lf 4 | *.htm text eol=lf 5 | *.ics -text 6 | *.bin -text -------------------------------------------------------------------------------- /node_modules/nodemailer/.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | printWidth: 160, 3 | tabWidth: 4, 4 | singleQuote: true, 5 | endOfLine: 'lf', 6 | trailingComma: 'none', 7 | arrowParens: 'avoid' 8 | }; 9 | -------------------------------------------------------------------------------- /node_modules/nodemailer/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-2019 Andris Reinman 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 SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 11 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 12 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 13 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 14 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 15 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 16 | SOFTWARE. 17 | -------------------------------------------------------------------------------- /node_modules/nodemailer/SECURITY.txt: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP SIGNED MESSAGE----- 2 | Hash: SHA256 3 | 4 | Contact: mailto:andris@reinman.eu 5 | Encryption: https://keys.openpgp.org/vks/v1/by-fingerprint/5D952A46E1D8C931F6364E01DC6C83F4D584D364 6 | Preferred-Languages: en, et 7 | -----BEGIN PGP SIGNATURE----- 8 | 9 | iQIzBAEBCAAdFiEEXZUqRuHYyTH2Nk4B3GyD9NWE02QFAmFDnUgACgkQ3GyD9NWE 10 | 02RqUA/+MM3afmRYq874C7wp+uN6dTMCvUX5g5zqBZ2yKpFr46L+PYvM7o8TMm5h 11 | hmLT2I1zZmi+xezOL3zHFizaw0tKkZIz9cWl3Jrgs0FLp0zOsSz1xucp9Q2tYM/Q 12 | vbiP6ys0gbim4tkDGRmZOEiO23s0BuRnmHt7vZg210O+D105Yd8/Ohzbj6PSLBO5 13 | W1tA7Xw5t0FQ14NNH5+MKyDIKoCX12n0FmrC6qLTXeojf291UgKhCUPda3LIGTmx 14 | mTXz0y68149Mw+JikRCYP8HfGRY9eA4XZrYXF7Bl2T9OJpKD3JAH+69P3xBw19Gn 15 | Csaw3twu8P1bxoVGjY4KRrBOp68W8TwZYjWVWbqY6oV8hb/JfrMxa+kaSxRuloFs 16 | oL6+phrDSPTWdOj2LlEDBJbPOMeDFzIlsBBcJ/JHCEHTvlHl7LoWr3YuWce9PUwl 17 | 4r3JUovvaeuJxLgC0vu3WCB3Jeocsl3SreqNkrVc1IjvkSomn3YGm5nCNAd/2F0V 18 | exCGRk/8wbkSjAY38GwQ8K/VuFsefWN3L9sVwIMAMu88KFCAN+GzVFiwvyIXehF5 19 | eogP9mIXzdQ5YReQjUjApOzGz54XnDyv9RJ3sdvMHosLP+IOg+0q5t9agWv6aqSR 20 | 2HzCpiQnH/gmM5NS0AU4Koq/L7IBeLu1B8+61/+BiHgZJJmPdgU= 21 | =BUZr 22 | -----END PGP SIGNATURE----- 23 | -------------------------------------------------------------------------------- /node_modules/nodemailer/lib/mime-node/last-newline.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const Transform = require('stream').Transform; 4 | 5 | class LastNewline extends Transform { 6 | constructor() { 7 | super(); 8 | this.lastByte = false; 9 | } 10 | 11 | _transform(chunk, encoding, done) { 12 | if (chunk.length) { 13 | this.lastByte = chunk[chunk.length - 1]; 14 | } 15 | 16 | this.push(chunk); 17 | done(); 18 | } 19 | 20 | _flush(done) { 21 | if (this.lastByte === 0x0a) { 22 | return done(); 23 | } 24 | if (this.lastByte === 0x0d) { 25 | this.push(Buffer.from('\n')); 26 | return done(); 27 | } 28 | this.push(Buffer.from('\r\n')); 29 | return done(); 30 | } 31 | } 32 | 33 | module.exports = LastNewline; 34 | -------------------------------------------------------------------------------- /node_modules/nodemailer/lib/mime-node/le-unix.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const stream = require('stream'); 4 | const Transform = stream.Transform; 5 | 6 | /** 7 | * Ensures that only is used for linebreaks 8 | * 9 | * @param {Object} options Stream options 10 | */ 11 | class LeWindows extends Transform { 12 | constructor(options) { 13 | super(options); 14 | // init Transform 15 | this.options = options || {}; 16 | } 17 | 18 | /** 19 | * Escapes dots 20 | */ 21 | _transform(chunk, encoding, done) { 22 | let buf; 23 | let lastPos = 0; 24 | 25 | for (let i = 0, len = chunk.length; i < len; i++) { 26 | if (chunk[i] === 0x0d) { 27 | // \n 28 | buf = chunk.slice(lastPos, i); 29 | lastPos = i + 1; 30 | this.push(buf); 31 | } 32 | } 33 | if (lastPos && lastPos < chunk.length) { 34 | buf = chunk.slice(lastPos); 35 | this.push(buf); 36 | } else if (!lastPos) { 37 | this.push(chunk); 38 | } 39 | done(); 40 | } 41 | } 42 | 43 | module.exports = LeWindows; 44 | -------------------------------------------------------------------------------- /node_modules/object-inspect/.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [ljharb] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: npm/object-inspect 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 13 | -------------------------------------------------------------------------------- /node_modules/object-inspect/.nycrc: -------------------------------------------------------------------------------- 1 | { 2 | "all": true, 3 | "check-coverage": false, 4 | "instrumentation": false, 5 | "sourceMap": false, 6 | "reporter": ["text-summary", "text", "html", "json"], 7 | "exclude": [ 8 | "coverage", 9 | "example", 10 | "test", 11 | "test-core-js.js" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/object-inspect/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2013 James Halliday 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/object-inspect/example/all.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var inspect = require('../'); 4 | var Buffer = require('safer-buffer').Buffer; 5 | 6 | var holes = ['a', 'b']; 7 | holes[4] = 'e'; 8 | holes[6] = 'g'; 9 | 10 | var obj = { 11 | a: 1, 12 | b: [3, 4, undefined, null], 13 | c: undefined, 14 | d: null, 15 | e: { 16 | regex: /^x/i, 17 | buf: Buffer.from('abc'), 18 | holes: holes 19 | }, 20 | now: new Date() 21 | }; 22 | obj.self = obj; 23 | console.log(inspect(obj)); 24 | -------------------------------------------------------------------------------- /node_modules/object-inspect/example/circular.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var inspect = require('../'); 4 | var obj = { a: 1, b: [3, 4] }; 5 | obj.c = obj; 6 | console.log(inspect(obj)); 7 | -------------------------------------------------------------------------------- /node_modules/object-inspect/example/fn.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var inspect = require('../'); 4 | var obj = [1, 2, function f(n) { return n + 5; }, 4]; 5 | console.log(inspect(obj)); 6 | -------------------------------------------------------------------------------- /node_modules/object-inspect/example/inspect.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* eslint-env browser */ 4 | var inspect = require('../'); 5 | 6 | var d = document.createElement('div'); 7 | d.setAttribute('id', 'beep'); 8 | d.innerHTML = 'woooiiiii'; 9 | 10 | console.log(inspect([d, { a: 3, b: 4, c: [5, 6, [7, [8, [9]]]] }])); 11 | -------------------------------------------------------------------------------- /node_modules/object-inspect/package-support.json: -------------------------------------------------------------------------------- 1 | { 2 | "versions": [ 3 | { 4 | "version": "*", 5 | "target": { 6 | "node": "all" 7 | }, 8 | "response": { 9 | "type": "time-permitting" 10 | }, 11 | "backing": { 12 | "npm-funding": true, 13 | "donations": [ 14 | "https://github.com/ljharb", 15 | "https://tidelift.com/funding/github/npm/object-inspect" 16 | ] 17 | } 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /node_modules/object-inspect/test-core-js.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | require('core-js'); 4 | 5 | var inspect = require('./'); 6 | var test = require('tape'); 7 | 8 | test('Maps', function (t) { 9 | t.equal(inspect(new Map([[1, 2]])), 'Map (1) {1 => 2}'); 10 | t.end(); 11 | }); 12 | 13 | test('WeakMaps', function (t) { 14 | t.equal(inspect(new WeakMap([[{}, 2]])), 'WeakMap { ? }'); 15 | t.end(); 16 | }); 17 | 18 | test('Sets', function (t) { 19 | t.equal(inspect(new Set([[1, 2]])), 'Set (1) {[ 1, 2 ]}'); 20 | t.end(); 21 | }); 22 | 23 | test('WeakSets', function (t) { 24 | t.equal(inspect(new WeakSet([[1, 2]])), 'WeakSet { ? }'); 25 | t.end(); 26 | }); 27 | -------------------------------------------------------------------------------- /node_modules/object-inspect/test/browser/dom.js: -------------------------------------------------------------------------------- 1 | var inspect = require('../../'); 2 | var test = require('tape'); 3 | 4 | test('dom element', function (t) { 5 | t.plan(1); 6 | 7 | var d = document.createElement('div'); 8 | d.setAttribute('id', 'beep'); 9 | d.innerHTML = 'woooiiiii'; 10 | 11 | t.equal( 12 | inspect([d, { a: 3, b: 4, c: [5, 6, [7, [8, [9]]]] }]), 13 | '[
...
, { a: 3, b: 4, c: [ 5, 6, [ 7, [ 8, [Object] ] ] ] } ]' 14 | ); 15 | }); 16 | -------------------------------------------------------------------------------- /node_modules/object-inspect/test/circular.js: -------------------------------------------------------------------------------- 1 | var inspect = require('../'); 2 | var test = require('tape'); 3 | 4 | test('circular', function (t) { 5 | t.plan(2); 6 | var obj = { a: 1, b: [3, 4] }; 7 | obj.c = obj; 8 | t.equal(inspect(obj), '{ a: 1, b: [ 3, 4 ], c: [Circular] }'); 9 | 10 | var double = {}; 11 | double.a = [double]; 12 | double.b = {}; 13 | double.b.inner = double.b; 14 | double.b.obj = double; 15 | t.equal(inspect(double), '{ a: [ [Circular] ], b: { inner: [Circular], obj: [Circular] } }'); 16 | }); 17 | -------------------------------------------------------------------------------- /node_modules/object-inspect/test/deep.js: -------------------------------------------------------------------------------- 1 | var inspect = require('../'); 2 | var test = require('tape'); 3 | 4 | test('deep', function (t) { 5 | t.plan(4); 6 | var obj = [[[[[[500]]]]]]; 7 | t.equal(inspect(obj), '[ [ [ [ [ [Array] ] ] ] ] ]'); 8 | t.equal(inspect(obj, { depth: 4 }), '[ [ [ [ [Array] ] ] ] ]'); 9 | t.equal(inspect(obj, { depth: 2 }), '[ [ [Array] ] ]'); 10 | 11 | t.equal(inspect([[[{ a: 1 }]]], { depth: 3 }), '[ [ [ [Object] ] ] ]'); 12 | }); 13 | -------------------------------------------------------------------------------- /node_modules/object-inspect/test/fakes.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var inspect = require('../'); 4 | var test = require('tape'); 5 | var hasToStringTag = require('has-tostringtag/shams')(); 6 | var forEach = require('for-each'); 7 | 8 | test('fakes', { skip: !hasToStringTag }, function (t) { 9 | forEach([ 10 | 'Array', 11 | 'Boolean', 12 | 'Date', 13 | 'Error', 14 | 'Number', 15 | 'RegExp', 16 | 'String' 17 | ], function (expected) { 18 | var faker = {}; 19 | faker[Symbol.toStringTag] = expected; 20 | 21 | t.equal( 22 | inspect(faker), 23 | '{ [Symbol(Symbol.toStringTag)]: \'' + expected + '\' }', 24 | 'faker masquerading as ' + expected + ' is not shown as one' 25 | ); 26 | }); 27 | 28 | t.end(); 29 | }); 30 | -------------------------------------------------------------------------------- /node_modules/object-inspect/test/has.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var inspect = require('../'); 4 | var test = require('tape'); 5 | var mockProperty = require('mock-property'); 6 | 7 | test('when Object#hasOwnProperty is deleted', function (t) { 8 | t.plan(1); 9 | var arr = [1, , 3]; // eslint-disable-line no-sparse-arrays 10 | 11 | t.teardown(mockProperty(Array.prototype, 1, { value: 2 })); // this is needed to account for "in" vs "hasOwnProperty" 12 | t.teardown(mockProperty(Object.prototype, 'hasOwnProperty', { 'delete': true })); 13 | 14 | t.equal(inspect(arr), '[ 1, , 3 ]'); 15 | }); 16 | -------------------------------------------------------------------------------- /node_modules/object-inspect/test/holes.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var inspect = require('../'); 3 | 4 | var xs = ['a', 'b']; 5 | xs[5] = 'f'; 6 | xs[7] = 'j'; 7 | xs[8] = 'k'; 8 | 9 | test('holes', function (t) { 10 | t.plan(1); 11 | t.equal( 12 | inspect(xs), 13 | "[ 'a', 'b', , , , 'f', , 'j', 'k' ]" 14 | ); 15 | }); 16 | -------------------------------------------------------------------------------- /node_modules/object-inspect/test/lowbyte.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var inspect = require('../'); 3 | 4 | var obj = { x: 'a\r\nb', y: '\x05! \x1f \x12' }; 5 | 6 | test('interpolate low bytes', function (t) { 7 | t.plan(1); 8 | t.equal( 9 | inspect(obj), 10 | "{ x: 'a\\r\\nb', y: '\\x05! \\x1F \\x12' }" 11 | ); 12 | }); 13 | -------------------------------------------------------------------------------- /node_modules/object-inspect/test/quoteStyle.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var inspect = require('../'); 4 | var test = require('tape'); 5 | 6 | test('quoteStyle option', function (t) { 7 | t['throws'](function () { inspect(null, { quoteStyle: false }); }, 'false is not a valid value'); 8 | t['throws'](function () { inspect(null, { quoteStyle: true }); }, 'true is not a valid value'); 9 | t['throws'](function () { inspect(null, { quoteStyle: '' }); }, '"" is not a valid value'); 10 | t['throws'](function () { inspect(null, { quoteStyle: {} }); }, '{} is not a valid value'); 11 | t['throws'](function () { inspect(null, { quoteStyle: [] }); }, '[] is not a valid value'); 12 | t['throws'](function () { inspect(null, { quoteStyle: 42 }); }, '42 is not a valid value'); 13 | t['throws'](function () { inspect(null, { quoteStyle: NaN }); }, 'NaN is not a valid value'); 14 | t['throws'](function () { inspect(null, { quoteStyle: function () {} }); }, 'a function is not a valid value'); 15 | 16 | t.end(); 17 | }); 18 | -------------------------------------------------------------------------------- /node_modules/object-inspect/test/undef.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var inspect = require('../'); 3 | 4 | var obj = { a: 1, b: [3, 4, undefined, null], c: undefined, d: null }; 5 | 6 | test('undef and null', function (t) { 7 | t.plan(1); 8 | t.equal( 9 | inspect(obj), 10 | '{ a: 1, b: [ 3, 4, undefined, null ], c: undefined, d: null }' 11 | ); 12 | }); 13 | -------------------------------------------------------------------------------- /node_modules/object-inspect/util.inspect.js: -------------------------------------------------------------------------------- 1 | module.exports = require('util').inspect; 2 | -------------------------------------------------------------------------------- /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/on-finished/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "on-finished", 3 | "description": "Execute a callback when a request closes, finishes, or errors", 4 | "version": "2.4.1", 5 | "contributors": [ 6 | "Douglas Christopher Wilson ", 7 | "Jonathan Ong (http://jongleberry.com)" 8 | ], 9 | "license": "MIT", 10 | "repository": "jshttp/on-finished", 11 | "dependencies": { 12 | "ee-first": "1.1.1" 13 | }, 14 | "devDependencies": { 15 | "eslint": "7.32.0", 16 | "eslint-config-standard": "14.1.1", 17 | "eslint-plugin-import": "2.25.4", 18 | "eslint-plugin-markdown": "2.2.1", 19 | "eslint-plugin-node": "11.1.0", 20 | "eslint-plugin-promise": "5.2.0", 21 | "eslint-plugin-standard": "4.1.0", 22 | "mocha": "9.2.1", 23 | "nyc": "15.1.0" 24 | }, 25 | "engines": { 26 | "node": ">= 0.8" 27 | }, 28 | "files": [ 29 | "HISTORY.md", 30 | "LICENSE", 31 | "index.js" 32 | ], 33 | "scripts": { 34 | "lint": "eslint .", 35 | "test": "mocha --reporter spec --bail --check-leaks test/", 36 | "test-ci": "nyc --reporter=lcovonly --reporter=text npm test", 37 | "test-cov": "nyc --reporter=html --reporter=text npm test" 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /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 | "name": "path-to-regexp", 3 | "description": "Express style path to RegExp utility", 4 | "version": "0.1.7", 5 | "files": [ 6 | "index.js", 7 | "LICENSE" 8 | ], 9 | "scripts": { 10 | "test": "istanbul cover _mocha -- -R spec" 11 | }, 12 | "keywords": [ 13 | "express", 14 | "regexp" 15 | ], 16 | "component": { 17 | "scripts": { 18 | "path-to-regexp": "index.js" 19 | } 20 | }, 21 | "license": "MIT", 22 | "repository": { 23 | "type": "git", 24 | "url": "https://github.com/component/path-to-regexp.git" 25 | }, 26 | "devDependencies": { 27 | "mocha": "^1.17.1", 28 | "istanbul": "^0.2.6" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /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 | quote_type = single 12 | 13 | [test/*] 14 | max_line_length = off 15 | 16 | [LICENSE.md] 17 | indent_size = off 18 | 19 | [*.md] 20 | max_line_length = off 21 | 22 | [*.json] 23 | max_line_length = off 24 | 25 | [Makefile] 26 | max_line_length = off 27 | 28 | [CHANGELOG.md] 29 | indent_style = space 30 | indent_size = 2 31 | 32 | [LICENSE] 33 | indent_size = 2 34 | max_line_length = off 35 | 36 | [coverage/**/*] 37 | indent_size = off 38 | indent_style = off 39 | indent = off 40 | max_line_length = off 41 | 42 | [.nycrc] 43 | indent_style = tab 44 | -------------------------------------------------------------------------------- /node_modules/qs/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "ignorePatterns": [ 7 | "dist/", 8 | ], 9 | 10 | "rules": { 11 | "complexity": 0, 12 | "consistent-return": 1, 13 | "func-name-matching": 0, 14 | "id-length": [2, { "min": 1, "max": 25, "properties": "never" }], 15 | "indent": [2, 4], 16 | "max-lines-per-function": [2, { "max": 150 }], 17 | "max-params": [2, 16], 18 | "max-statements": [2, 53], 19 | "multiline-comment-style": 0, 20 | "no-continue": 1, 21 | "no-magic-numbers": 0, 22 | "no-restricted-syntax": [2, "BreakStatement", "DebuggerStatement", "ForInStatement", "LabeledStatement", "WithStatement"], 23 | }, 24 | 25 | "overrides": [ 26 | { 27 | "files": "test/**", 28 | "rules": { 29 | "function-paren-newline": 0, 30 | "max-lines-per-function": 0, 31 | "max-statements": 0, 32 | "no-buffer-constructor": 0, 33 | "no-extend-native": 0, 34 | "no-throw-literal": 0, 35 | }, 36 | }, 37 | ], 38 | } 39 | -------------------------------------------------------------------------------- /node_modules/qs/.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [ljharb] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: npm/qs 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with a single custom sponsorship URL 13 | -------------------------------------------------------------------------------- /node_modules/qs/.nycrc: -------------------------------------------------------------------------------- 1 | { 2 | "all": true, 3 | "check-coverage": false, 4 | "reporter": ["text-summary", "text", "html", "json"], 5 | "lines": 86, 6 | "statements": 85.93, 7 | "functions": 82.43, 8 | "branches": 76.06, 9 | "exclude": [ 10 | "coverage", 11 | "dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/qs/lib/formats.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var replace = String.prototype.replace; 4 | var percentTwenties = /%20/g; 5 | 6 | var Format = { 7 | RFC1738: 'RFC1738', 8 | RFC3986: 'RFC3986' 9 | }; 10 | 11 | module.exports = { 12 | 'default': Format.RFC3986, 13 | formatters: { 14 | RFC1738: function (value) { 15 | return replace.call(value, percentTwenties, '+'); 16 | }, 17 | RFC3986: function (value) { 18 | return String(value); 19 | } 20 | }, 21 | RFC1738: Format.RFC1738, 22 | RFC3986: Format.RFC3986 23 | }; 24 | -------------------------------------------------------------------------------- /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/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-2022 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/raw-body/SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policies and Procedures 2 | 3 | ## Reporting a Bug 4 | 5 | The `raw-body` team and community take all security bugs seriously. Thank you 6 | for improving the security of Express. We appreciate your efforts and 7 | responsible disclosure and will make every effort to acknowledge your 8 | contributions. 9 | 10 | Report security bugs by emailing the current owners of `raw-body`. This information 11 | can be found in the npm registry using the command `npm owner ls raw-body`. 12 | If unsure or unable to get the information from the above, open an issue 13 | in the [project issue tracker](https://github.com/stream-utils/raw-body/issues) 14 | asking for the current contact information. 15 | 16 | To ensure the timely response to your report, please ensure that the entirety 17 | of the report is contained within the email body and not solely behind a web 18 | link or an attachment. 19 | 20 | At least one owner will acknowledge your email within 48 hours, and will send a 21 | more detailed response within 48 hours indicating the next steps in handling 22 | your report. After the initial reply to your report, the owners will 23 | endeavor to keep you informed of the progress towards a fix and full 24 | announcement, and may ask for additional information or guidance. 25 | -------------------------------------------------------------------------------- /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/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/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "safer-buffer", 3 | "version": "2.1.2", 4 | "description": "Modern Buffer API polyfill without footguns", 5 | "main": "safer.js", 6 | "scripts": { 7 | "browserify-test": "browserify --external tape tests.js > browserify-tests.js && tape browserify-tests.js", 8 | "test": "standard && tape tests.js" 9 | }, 10 | "author": { 11 | "name": "Nikita Skovoroda", 12 | "email": "chalkerx@gmail.com", 13 | "url": "https://github.com/ChALkeR" 14 | }, 15 | "license": "MIT", 16 | "repository": { 17 | "type": "git", 18 | "url": "git+https://github.com/ChALkeR/safer-buffer.git" 19 | }, 20 | "bugs": { 21 | "url": "https://github.com/ChALkeR/safer-buffer/issues" 22 | }, 23 | "devDependencies": { 24 | "standard": "^11.0.1", 25 | "tape": "^4.9.0" 26 | }, 27 | "files": [ 28 | "Porting-Buffer.md", 29 | "Readme.md", 30 | "tests.js", 31 | "dangerous.js", 32 | "safer.js" 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /node_modules/send/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012 TJ Holowaychuk 4 | Copyright (c) 2014-2022 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/SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policies and Procedures 2 | 3 | ## Reporting a Bug 4 | 5 | The `send` team and community take all security bugs seriously. Thank you 6 | for improving the security of Express. We appreciate your efforts and 7 | responsible disclosure and will make every effort to acknowledge your 8 | contributions. 9 | 10 | Report security bugs by emailing the current owner(s) of `send`. This information 11 | can be found in the npm registry using the command `npm owner ls send`. 12 | If unsure or unable to get the information from the above, open an issue 13 | in the [project issue tracker](https://github.com/pillarjs/send/issues) 14 | asking for the current contact information. 15 | 16 | To ensure the timely response to your report, please ensure that the entirety 17 | of the report is contained within the email body and not solely behind a web 18 | link or an attachment. 19 | 20 | At least one owner will acknowledge your email within 48 hours, and will send a 21 | more detailed response within 48 hours indicating the next steps in handling 22 | your report. After the initial reply to your report, the owners will 23 | endeavor to keep you informed of the progress towards a fix and full 24 | announcement, and may ask for additional information or guidance. 25 | -------------------------------------------------------------------------------- /node_modules/send/node_modules/ms/license.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2020 Vercel, 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 | "name": "ms", 3 | "version": "2.1.3", 4 | "description": "Tiny millisecond conversion utility", 5 | "repository": "vercel/ms", 6 | "main": "./index", 7 | "files": [ 8 | "index.js" 9 | ], 10 | "scripts": { 11 | "precommit": "lint-staged", 12 | "lint": "eslint lib/* bin/*", 13 | "test": "mocha tests.js" 14 | }, 15 | "eslintConfig": { 16 | "extends": "eslint:recommended", 17 | "env": { 18 | "node": true, 19 | "es6": true 20 | } 21 | }, 22 | "lint-staged": { 23 | "*.js": [ 24 | "npm run lint", 25 | "prettier --single-quote --write", 26 | "git add" 27 | ] 28 | }, 29 | "license": "MIT", 30 | "devDependencies": { 31 | "eslint": "4.18.2", 32 | "expect.js": "0.3.1", 33 | "husky": "0.14.3", 34 | "lint-staged": "5.0.0", 35 | "mocha": "4.0.1", 36 | "prettier": "2.0.5" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /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 from '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 (!Object.prototype.hasOwnProperty.call(obj, 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/side-channel/.eslintignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | -------------------------------------------------------------------------------- /node_modules/side-channel/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "rules": { 7 | "max-lines-per-function": 0, 8 | "max-params": 0, 9 | "new-cap": [2, { "capIsNewExceptions": ["GetIntrinsic"] }], 10 | }, 11 | } 12 | -------------------------------------------------------------------------------- /node_modules/side-channel/.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [ljharb] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: npm/side-channel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 13 | -------------------------------------------------------------------------------- /node_modules/side-channel/.nycrc: -------------------------------------------------------------------------------- 1 | { 2 | "all": true, 3 | "check-coverage": false, 4 | "reporter": ["text-summary", "text", "html", "json"], 5 | "lines": 86, 6 | "statements": 85.93, 7 | "functions": 82.43, 8 | "branches": 76.06, 9 | "exclude": [ 10 | "coverage", 11 | "test" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/side-channel/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Jordan Harband 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/side-channel/README.md: -------------------------------------------------------------------------------- 1 | # side-channel 2 | Store information about any JS value in a side channel. Uses WeakMap if available. 3 | -------------------------------------------------------------------------------- /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/toidentifier/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.1 / 2021-11-14 2 | ================== 3 | 4 | * pref: enable strict mode 5 | 6 | 1.0.0 / 2018-07-09 7 | ================== 8 | 9 | * Initial release 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 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = toIdentifier 15 | 16 | /** 17 | * Trasform the given string into a JavaScript identifier 18 | * 19 | * @param {string} str 20 | * @returns {string} 21 | * @public 22 | */ 23 | 24 | function toIdentifier (str) { 25 | return str 26 | .split(' ') 27 | .map(function (token) { 28 | return token.slice(0, 1).toUpperCase() + token.slice(1) 29 | }) 30 | .join('') 31 | .replace(/[^ _0-9a-z]/gi, '') 32 | } 33 | -------------------------------------------------------------------------------- /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/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "unpipe", 3 | "description": "Unpipe a stream from all destinations", 4 | "version": "1.0.0", 5 | "author": "Douglas Christopher Wilson ", 6 | "license": "MIT", 7 | "repository": "stream-utils/unpipe", 8 | "devDependencies": { 9 | "istanbul": "0.3.15", 10 | "mocha": "2.2.5", 11 | "readable-stream": "1.1.13" 12 | }, 13 | "files": [ 14 | "HISTORY.md", 15 | "LICENSE", 16 | "README.md", 17 | "index.js" 18 | ], 19 | "engines": { 20 | "node": ">= 0.8" 21 | }, 22 | "scripts": { 23 | "test": "mocha --reporter spec --bail --check-leaks test/", 24 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", 25 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /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/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/utils-merge/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "utils-merge", 3 | "version": "1.0.1", 4 | "description": "merge() utility function", 5 | "keywords": [ 6 | "util" 7 | ], 8 | "author": { 9 | "name": "Jared Hanson", 10 | "email": "jaredhanson@gmail.com", 11 | "url": "http://www.jaredhanson.net/" 12 | }, 13 | "repository": { 14 | "type": "git", 15 | "url": "git://github.com/jaredhanson/utils-merge.git" 16 | }, 17 | "bugs": { 18 | "url": "http://github.com/jaredhanson/utils-merge/issues" 19 | }, 20 | "license": "MIT", 21 | "licenses": [ 22 | { 23 | "type": "MIT", 24 | "url": "http://opensource.org/licenses/MIT" 25 | } 26 | ], 27 | "main": "./index", 28 | "dependencies": {}, 29 | "devDependencies": { 30 | "make-node": "0.3.x", 31 | "mocha": "1.x.x", 32 | "chai": "1.x.x" 33 | }, 34 | "engines": { 35 | "node": ">= 0.4.0" 36 | }, 37 | "scripts": { 38 | "test": "node_modules/.bin/mocha --reporter spec --require test/bootstrap/node test/*.test.js" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /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": "day9", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "dev": "nodemon app.js" 9 | }, 10 | "keywords": [], 11 | "author": "", 12 | "license": "ISC", 13 | "dependencies": { 14 | "dotenv": "^16.0.3", 15 | "express": "^4.18.2", 16 | "nodemailer": "^6.8.0" 17 | } 18 | } 19 | --------------------------------------------------------------------------------