├── README.md ├── api ├── README.md ├── controllers │ ├── auth.js │ ├── post.js │ └── user.js ├── db.js ├── index.js ├── node_modules │ ├── .bin │ │ ├── mime │ │ ├── mime.cmd │ │ ├── mime.ps1 │ │ ├── mkdirp │ │ ├── mkdirp.cmd │ │ ├── mkdirp.ps1 │ │ ├── nodemon │ │ ├── nodemon.cmd │ │ ├── nodemon.ps1 │ │ ├── nodetouch │ │ ├── nodetouch.cmd │ │ ├── nodetouch.ps1 │ │ ├── nopt │ │ ├── nopt.cmd │ │ ├── nopt.ps1 │ │ ├── semver │ │ ├── semver.cmd │ │ └── semver.ps1 │ ├── .package-lock.json │ ├── abbrev │ │ ├── LICENSE │ │ ├── README.md │ │ ├── abbrev.js │ │ └── package.json │ ├── accepts │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── anymatch │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.d.ts │ │ ├── index.js │ │ └── package.json │ ├── append-field │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── lib │ │ │ ├── parse-path.js │ │ │ └── set-value.js │ │ ├── package.json │ │ └── test │ │ │ └── forms.js │ ├── array-flatten │ │ ├── LICENSE │ │ ├── README.md │ │ ├── array-flatten.js │ │ └── package.json │ ├── balanced-match │ │ ├── .github │ │ │ └── FUNDING.yml │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── bcryptjs │ │ ├── .npmignore │ │ ├── .travis.yml │ │ ├── .vscode │ │ │ └── settings.json │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bin │ │ │ └── bcrypt │ │ ├── bower.json │ │ ├── dist │ │ │ ├── README.md │ │ │ ├── bcrypt.js │ │ │ ├── bcrypt.min.js │ │ │ ├── bcrypt.min.js.gz │ │ │ └── bcrypt.min.map │ │ ├── externs │ │ │ ├── bcrypt.js │ │ │ └── minimal-env.js │ │ ├── index.js │ │ ├── package.json │ │ ├── scripts │ │ │ └── build.js │ │ ├── src │ │ │ ├── bcrypt.js │ │ │ ├── bcrypt │ │ │ │ ├── impl.js │ │ │ │ ├── prng │ │ │ │ │ ├── README.md │ │ │ │ │ ├── accum.js │ │ │ │ │ └── isaac.js │ │ │ │ ├── util.js │ │ │ │ └── util │ │ │ │ │ └── base64.js │ │ │ ├── bower.json │ │ │ └── wrap.js │ │ └── tests │ │ │ ├── quickbrown.txt │ │ │ └── suite.js │ ├── bignumber.js │ │ ├── CHANGELOG.md │ │ ├── LICENCE │ │ ├── README.md │ │ ├── bignumber.d.ts │ │ ├── bignumber.js │ │ ├── bignumber.min.js │ │ ├── bignumber.min.js.map │ │ ├── bignumber.mjs │ │ ├── doc │ │ │ └── API.html │ │ └── package.json │ ├── binary-extensions │ │ ├── binary-extensions.json │ │ ├── binary-extensions.json.d.ts │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── license │ │ ├── package.json │ │ └── readme.md │ ├── 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 │ ├── brace-expansion │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── braces │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── lib │ │ │ ├── compile.js │ │ │ ├── constants.js │ │ │ ├── expand.js │ │ │ ├── parse.js │ │ │ ├── stringify.js │ │ │ └── utils.js │ │ └── package.json │ ├── buffer-equal-constant-time │ │ ├── .npmignore │ │ ├── .travis.yml │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test.js │ ├── buffer-from │ │ ├── LICENSE │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── busboy │ │ ├── .eslintrc.js │ │ ├── .github │ │ │ └── workflows │ │ │ │ ├── ci.yml │ │ │ │ └── lint.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bench │ │ │ ├── bench-multipart-fields-100mb-big.js │ │ │ ├── bench-multipart-fields-100mb-small.js │ │ │ ├── bench-multipart-files-100mb-big.js │ │ │ ├── bench-multipart-files-100mb-small.js │ │ │ ├── bench-urlencoded-fields-100pairs-small.js │ │ │ └── bench-urlencoded-fields-900pairs-small-alt.js │ │ ├── lib │ │ │ ├── index.js │ │ │ ├── types │ │ │ │ ├── multipart.js │ │ │ │ └── urlencoded.js │ │ │ └── utils.js │ │ ├── package.json │ │ └── test │ │ │ ├── common.js │ │ │ ├── test-types-multipart-charsets.js │ │ │ ├── test-types-multipart-stream-pause.js │ │ │ ├── test-types-multipart.js │ │ │ ├── test-types-urlencoded.js │ │ │ └── test.js │ ├── 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 │ ├── chokidar │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── lib │ │ │ ├── constants.js │ │ │ ├── fsevents-handler.js │ │ │ └── nodefs-handler.js │ │ ├── package.json │ │ └── types │ │ │ └── index.d.ts │ ├── concat-map │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.markdown │ │ ├── example │ │ │ └── map.js │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── map.js │ ├── concat-stream │ │ ├── LICENSE │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── content-disposition │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── content-type │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── cookie-parser │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── node_modules │ │ │ └── cookie │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ └── 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 │ ├── core-util-is │ │ ├── LICENSE │ │ ├── README.md │ │ ├── lib │ │ │ └── util.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 │ ├── define-data-property │ │ ├── .eslintrc │ │ ├── .github │ │ │ └── FUNDING.yml │ │ ├── .nycrc │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.d.ts │ │ ├── index.d.ts.map │ │ ├── index.js │ │ ├── package.json │ │ ├── test │ │ │ └── index.js │ │ └── tsconfig.json │ ├── denque │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.d.ts │ │ ├── index.js │ │ └── package.json │ ├── depd │ │ ├── History.md │ │ ├── LICENSE │ │ ├── Readme.md │ │ ├── index.js │ │ ├── lib │ │ │ └── browser │ │ │ │ └── index.js │ │ └── package.json │ ├── destroy │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── ecdsa-sig-formatter │ │ ├── CODEOWNERS │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ └── src │ │ │ ├── ecdsa-sig-formatter.d.ts │ │ │ ├── ecdsa-sig-formatter.js │ │ │ └── param-bytes-for-alg.js │ ├── 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 │ ├── fill-range │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── finalhandler │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── SECURITY.md │ │ ├── index.js │ │ └── package.json │ ├── forwarded │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── fresh │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── function-bind │ │ ├── .eslintrc │ │ ├── .github │ │ │ ├── FUNDING.yml │ │ │ └── SECURITY.md │ │ ├── .nycrc │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── implementation.js │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ ├── .eslintrc │ │ │ └── index.js │ ├── generate-function │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── example.js │ │ ├── index.js │ │ ├── package.json │ │ └── test.js │ ├── get-intrinsic │ │ ├── .eslintrc │ │ ├── .github │ │ │ └── FUNDING.yml │ │ ├── .nycrc │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── GetIntrinsic.js │ ├── glob-parent │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── gopd │ │ ├── .eslintrc │ │ ├── .github │ │ │ └── FUNDING.yml │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.js │ ├── has-flag │ │ ├── index.js │ │ ├── license │ │ ├── package.json │ │ └── readme.md │ ├── has-property-descriptors │ │ ├── .eslintrc │ │ ├── .github │ │ │ └── FUNDING.yml │ │ ├── .nycrc │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.js │ ├── has-proto │ │ ├── .eslintrc │ │ ├── .github │ │ │ └── FUNDING.yml │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.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 │ ├── hasown │ │ ├── .eslintrc │ │ ├── .github │ │ │ └── FUNDING.yml │ │ ├── .nycrc │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.d.ts │ │ ├── index.d.ts.map │ │ ├── index.js │ │ ├── package.json │ │ └── tsconfig.json │ ├── 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 │ ├── ignore-by-default │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.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 │ ├── is-binary-path │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── license │ │ ├── package.json │ │ └── readme.md │ ├── is-extglob │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── is-glob │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── is-number │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── is-property │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── is-property.js │ │ └── package.json │ ├── isarray │ │ ├── .npmignore │ │ ├── .travis.yml │ │ ├── Makefile │ │ ├── README.md │ │ ├── component.json │ │ ├── index.js │ │ ├── package.json │ │ └── test.js │ ├── jsonwebtoken │ │ ├── LICENSE │ │ ├── README.md │ │ ├── decode.js │ │ ├── index.js │ │ ├── lib │ │ │ ├── JsonWebTokenError.js │ │ │ ├── NotBeforeError.js │ │ │ ├── TokenExpiredError.js │ │ │ ├── asymmetricKeyDetailsSupported.js │ │ │ ├── psSupported.js │ │ │ ├── rsaPssKeyDetailsSupported.js │ │ │ ├── timespan.js │ │ │ └── validateAsymmetricKey.js │ │ ├── node_modules │ │ │ └── ms │ │ │ │ ├── index.js │ │ │ │ ├── license.md │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ ├── package.json │ │ ├── sign.js │ │ └── verify.js │ ├── jwa │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── jws │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── index.js │ │ ├── lib │ │ │ ├── data-stream.js │ │ │ ├── sign-stream.js │ │ │ ├── tostring.js │ │ │ └── verify-stream.js │ │ ├── package.json │ │ └── readme.md │ ├── lodash.includes │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── lodash.isboolean │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── lodash.isinteger │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── lodash.isnumber │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── lodash.isplainobject │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── lodash.isstring │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── lodash.once │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── long │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── package.json │ │ └── umd │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ └── package.json │ ├── lru-cache │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── 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 │ ├── minimatch │ │ ├── LICENSE │ │ ├── README.md │ │ ├── minimatch.js │ │ └── package.json │ ├── minimist │ │ ├── .eslintrc │ │ ├── .github │ │ │ └── FUNDING.yml │ │ ├── .nycrc │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── example │ │ │ └── parse.js │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ ├── all_bool.js │ │ │ ├── bool.js │ │ │ ├── dash.js │ │ │ ├── default_bool.js │ │ │ ├── dotted.js │ │ │ ├── kv_short.js │ │ │ ├── long.js │ │ │ ├── num.js │ │ │ ├── parse.js │ │ │ ├── parse_modified.js │ │ │ ├── proto.js │ │ │ ├── short.js │ │ │ ├── stop_early.js │ │ │ ├── unknown.js │ │ │ └── whitespace.js │ ├── mkdirp │ │ ├── LICENSE │ │ ├── bin │ │ │ ├── cmd.js │ │ │ └── usage.txt │ │ ├── index.js │ │ ├── package.json │ │ └── readme.markdown │ ├── ms │ │ ├── index.js │ │ ├── license.md │ │ ├── package.json │ │ └── readme.md │ ├── multer │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── lib │ │ │ ├── counter.js │ │ │ ├── file-appender.js │ │ │ ├── make-middleware.js │ │ │ ├── multer-error.js │ │ │ └── remove-uploaded-files.js │ │ ├── package.json │ │ └── storage │ │ │ ├── disk.js │ │ │ └── memory.js │ ├── mysql │ │ ├── Changes.md │ │ ├── License │ │ ├── Readme.md │ │ ├── index.js │ │ ├── lib │ │ │ ├── Connection.js │ │ │ ├── ConnectionConfig.js │ │ │ ├── Pool.js │ │ │ ├── PoolCluster.js │ │ │ ├── PoolConfig.js │ │ │ ├── PoolConnection.js │ │ │ ├── PoolNamespace.js │ │ │ ├── PoolSelector.js │ │ │ └── protocol │ │ │ │ ├── Auth.js │ │ │ │ ├── BufferList.js │ │ │ │ ├── PacketHeader.js │ │ │ │ ├── PacketWriter.js │ │ │ │ ├── Parser.js │ │ │ │ ├── Protocol.js │ │ │ │ ├── ResultSet.js │ │ │ │ ├── SqlString.js │ │ │ │ ├── Timer.js │ │ │ │ ├── constants │ │ │ │ ├── charsets.js │ │ │ │ ├── client.js │ │ │ │ ├── errors.js │ │ │ │ ├── field_flags.js │ │ │ │ ├── server_status.js │ │ │ │ ├── ssl_profiles.js │ │ │ │ └── types.js │ │ │ │ ├── packets │ │ │ │ ├── AuthSwitchRequestPacket.js │ │ │ │ ├── AuthSwitchResponsePacket.js │ │ │ │ ├── ClientAuthenticationPacket.js │ │ │ │ ├── ComChangeUserPacket.js │ │ │ │ ├── ComPingPacket.js │ │ │ │ ├── ComQueryPacket.js │ │ │ │ ├── ComQuitPacket.js │ │ │ │ ├── ComStatisticsPacket.js │ │ │ │ ├── EmptyPacket.js │ │ │ │ ├── EofPacket.js │ │ │ │ ├── ErrorPacket.js │ │ │ │ ├── Field.js │ │ │ │ ├── FieldPacket.js │ │ │ │ ├── HandshakeInitializationPacket.js │ │ │ │ ├── LocalDataFilePacket.js │ │ │ │ ├── LocalInfileRequestPacket.js │ │ │ │ ├── OkPacket.js │ │ │ │ ├── OldPasswordPacket.js │ │ │ │ ├── ResultSetHeaderPacket.js │ │ │ │ ├── RowDataPacket.js │ │ │ │ ├── SSLRequestPacket.js │ │ │ │ ├── StatisticsPacket.js │ │ │ │ ├── UseOldPasswordPacket.js │ │ │ │ └── index.js │ │ │ │ └── sequences │ │ │ │ ├── ChangeUser.js │ │ │ │ ├── Handshake.js │ │ │ │ ├── Ping.js │ │ │ │ ├── Query.js │ │ │ │ ├── Quit.js │ │ │ │ ├── Sequence.js │ │ │ │ ├── Statistics.js │ │ │ │ └── index.js │ │ ├── node_modules │ │ │ └── safe-buffer │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ └── package.json │ ├── mysql2 │ │ ├── License │ │ ├── README.md │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── lib │ │ │ ├── auth_41.js │ │ │ ├── auth_plugins │ │ │ │ ├── caching_sha2_password.js │ │ │ │ ├── caching_sha2_password.md │ │ │ │ ├── index.js │ │ │ │ ├── mysql_clear_password.js │ │ │ │ ├── mysql_native_password.js │ │ │ │ └── sha256_password.js │ │ │ ├── commands │ │ │ │ ├── auth_switch.js │ │ │ │ ├── binlog_dump.js │ │ │ │ ├── change_user.js │ │ │ │ ├── client_handshake.js │ │ │ │ ├── close_statement.js │ │ │ │ ├── command.js │ │ │ │ ├── execute.js │ │ │ │ ├── index.js │ │ │ │ ├── ping.js │ │ │ │ ├── prepare.js │ │ │ │ ├── query.js │ │ │ │ ├── quit.js │ │ │ │ ├── register_slave.js │ │ │ │ └── server_handshake.js │ │ │ ├── compressed_protocol.js │ │ │ ├── connection.js │ │ │ ├── connection_config.js │ │ │ ├── constants │ │ │ │ ├── charset_encodings.js │ │ │ │ ├── charsets.js │ │ │ │ ├── client.js │ │ │ │ ├── commands.js │ │ │ │ ├── cursor.js │ │ │ │ ├── encoding_charset.js │ │ │ │ ├── errors.js │ │ │ │ ├── field_flags.js │ │ │ │ ├── server_status.js │ │ │ │ ├── session_track.js │ │ │ │ ├── ssl_profiles.js │ │ │ │ └── types.js │ │ │ ├── helpers.js │ │ │ ├── packet_parser.js │ │ │ ├── packets │ │ │ │ ├── auth_next_factor.js │ │ │ │ ├── auth_switch_request.js │ │ │ │ ├── auth_switch_request_more_data.js │ │ │ │ ├── auth_switch_response.js │ │ │ │ ├── binary_row.js │ │ │ │ ├── binlog_dump.js │ │ │ │ ├── binlog_query_statusvars.js │ │ │ │ ├── change_user.js │ │ │ │ ├── close_statement.js │ │ │ │ ├── column_definition.js │ │ │ │ ├── execute.js │ │ │ │ ├── handshake.js │ │ │ │ ├── handshake_response.js │ │ │ │ ├── index.js │ │ │ │ ├── packet.js │ │ │ │ ├── prepare_statement.js │ │ │ │ ├── prepared_statement_header.js │ │ │ │ ├── query.js │ │ │ │ ├── register_slave.js │ │ │ │ ├── resultset_header.js │ │ │ │ ├── ssl_request.js │ │ │ │ └── text_row.js │ │ │ ├── parsers │ │ │ │ ├── binary_parser.js │ │ │ │ ├── parser_cache.js │ │ │ │ ├── string.js │ │ │ │ └── text_parser.js │ │ │ ├── pool.js │ │ │ ├── pool_cluster.js │ │ │ ├── pool_config.js │ │ │ ├── pool_connection.js │ │ │ ├── results_stream.js │ │ │ └── server.js │ │ ├── node_modules │ │ │ ├── iconv-lite │ │ │ │ ├── .github │ │ │ │ │ └── dependabot.yml │ │ │ │ ├── .idea │ │ │ │ │ ├── codeStyles │ │ │ │ │ │ ├── Project.xml │ │ │ │ │ │ └── codeStyleConfig.xml │ │ │ │ │ ├── iconv-lite.iml │ │ │ │ │ ├── inspectionProfiles │ │ │ │ │ │ └── Project_Default.xml │ │ │ │ │ ├── modules.xml │ │ │ │ │ └── vcs.xml │ │ │ │ ├── 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 │ │ │ │ │ ├── utf32.js │ │ │ │ │ └── utf7.js │ │ │ │ ├── lib │ │ │ │ │ ├── bom-handling.js │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── index.js │ │ │ │ │ └── streams.js │ │ │ │ └── package.json │ │ │ ├── lru-cache │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── dist │ │ │ │ │ ├── cjs │ │ │ │ │ │ ├── index-cjs.d.ts │ │ │ │ │ │ ├── index-cjs.d.ts.map │ │ │ │ │ │ ├── index-cjs.js │ │ │ │ │ │ ├── index-cjs.js.map │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ ├── index.d.ts.map │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── index.js.map │ │ │ │ │ │ ├── index.min.js │ │ │ │ │ │ ├── index.min.js.map │ │ │ │ │ │ └── package.json │ │ │ │ │ └── mjs │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ ├── index.d.ts.map │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── index.js.map │ │ │ │ │ │ ├── index.min.js │ │ │ │ │ │ ├── index.min.js.map │ │ │ │ │ │ └── package.json │ │ │ │ └── package.json │ │ │ └── sqlstring │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ ├── lib │ │ │ │ └── SqlString.js │ │ │ │ └── package.json │ │ ├── package.json │ │ ├── promise.d.ts │ │ ├── promise.js │ │ └── typings │ │ │ └── mysql │ │ │ ├── LICENSE.txt │ │ │ ├── index.d.ts │ │ │ ├── info.txt │ │ │ └── lib │ │ │ ├── Auth.d.ts │ │ │ ├── Connection.d.ts │ │ │ ├── Pool.d.ts │ │ │ ├── PoolCluster.d.ts │ │ │ ├── PoolConnection.d.ts │ │ │ ├── Server.d.ts │ │ │ ├── constants │ │ │ ├── CharsetToEncoding.d.ts │ │ │ ├── Charsets.d.ts │ │ │ ├── Types.d.ts │ │ │ └── index.d.ts │ │ │ ├── parsers │ │ │ ├── ParserCache.d.ts │ │ │ └── index.d.ts │ │ │ └── protocol │ │ │ ├── packets │ │ │ ├── Field.d.ts │ │ │ ├── FieldPacket.d.ts │ │ │ ├── OkPacket.d.ts │ │ │ ├── ProcedurePacket.d.ts │ │ │ ├── ResultSetHeader.d.ts │ │ │ ├── RowDataPacket.d.ts │ │ │ ├── index.d.ts │ │ │ └── params │ │ │ │ ├── ErrorPacketParams.d.ts │ │ │ │ └── OkPacketParams.d.ts │ │ │ └── sequences │ │ │ ├── ExecutableBase.d.ts │ │ │ ├── Prepare.d.ts │ │ │ ├── Query.d.ts │ │ │ ├── QueryableBase.d.ts │ │ │ ├── Sequence.d.ts │ │ │ └── promise │ │ │ ├── ExecutableBase.d.ts │ │ │ └── QueryableBase.d.ts │ ├── named-placeholders │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── node_modules │ │ │ └── lru-cache │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── index.mjs │ │ │ │ └── package.json │ │ └── package.json │ ├── negotiator │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── lib │ │ │ ├── charset.js │ │ │ ├── encoding.js │ │ │ ├── language.js │ │ │ └── mediaType.js │ │ └── package.json │ ├── nodemon │ │ ├── .prettierrc.json │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bin │ │ │ ├── nodemon.js │ │ │ └── windows-kill.exe │ │ ├── doc │ │ │ └── cli │ │ │ │ ├── authors.txt │ │ │ │ ├── config.txt │ │ │ │ ├── help.txt │ │ │ │ ├── logo.txt │ │ │ │ ├── options.txt │ │ │ │ ├── topics.txt │ │ │ │ ├── usage.txt │ │ │ │ └── whoami.txt │ │ ├── lib │ │ │ ├── cli │ │ │ │ ├── index.js │ │ │ │ └── parse.js │ │ │ ├── config │ │ │ │ ├── command.js │ │ │ │ ├── defaults.js │ │ │ │ ├── exec.js │ │ │ │ ├── index.js │ │ │ │ └── load.js │ │ │ ├── help │ │ │ │ └── index.js │ │ │ ├── index.js │ │ │ ├── monitor │ │ │ │ ├── index.js │ │ │ │ ├── match.js │ │ │ │ ├── run.js │ │ │ │ ├── signals.js │ │ │ │ └── watch.js │ │ │ ├── nodemon.js │ │ │ ├── rules │ │ │ │ ├── add.js │ │ │ │ ├── index.js │ │ │ │ └── parse.js │ │ │ ├── spawn.js │ │ │ ├── utils │ │ │ │ ├── bus.js │ │ │ │ ├── clone.js │ │ │ │ ├── colour.js │ │ │ │ ├── index.js │ │ │ │ ├── log.js │ │ │ │ └── merge.js │ │ │ └── version.js │ │ ├── node_modules │ │ │ ├── debug │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── package.json │ │ │ │ └── src │ │ │ │ │ ├── browser.js │ │ │ │ │ ├── common.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── node.js │ │ │ └── ms │ │ │ │ ├── index.js │ │ │ │ ├── license.md │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ └── package.json │ ├── nopt │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bin │ │ │ └── nopt.js │ │ ├── examples │ │ │ └── my-program.js │ │ ├── lib │ │ │ └── nopt.js │ │ └── package.json │ ├── normalize-path │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── object-assign │ │ ├── index.js │ │ ├── license │ │ ├── package.json │ │ └── readme.md │ ├── 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 │ │ │ ├── global.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 │ ├── picomatch │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── lib │ │ │ ├── constants.js │ │ │ ├── parse.js │ │ │ ├── picomatch.js │ │ │ ├── scan.js │ │ │ └── utils.js │ │ └── package.json │ ├── process-nextick-args │ │ ├── index.js │ │ ├── license.md │ │ ├── package.json │ │ └── readme.md │ ├── proxy-addr │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── pstree.remy │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── lib │ │ │ ├── index.js │ │ │ ├── tree.js │ │ │ └── utils.js │ │ ├── package.json │ │ └── tests │ │ │ ├── fixtures │ │ │ ├── index.js │ │ │ ├── out1 │ │ │ └── out2 │ │ │ └── index.test.js │ ├── 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 │ ├── readable-stream │ │ ├── .travis.yml │ │ ├── CONTRIBUTING.md │ │ ├── GOVERNANCE.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── doc │ │ │ └── wg-meetings │ │ │ │ └── 2015-01-30.md │ │ ├── duplex-browser.js │ │ ├── duplex.js │ │ ├── lib │ │ │ ├── _stream_duplex.js │ │ │ ├── _stream_passthrough.js │ │ │ ├── _stream_readable.js │ │ │ ├── _stream_transform.js │ │ │ ├── _stream_writable.js │ │ │ └── internal │ │ │ │ └── streams │ │ │ │ ├── BufferList.js │ │ │ │ ├── destroy.js │ │ │ │ ├── stream-browser.js │ │ │ │ └── stream.js │ │ ├── node_modules │ │ │ └── safe-buffer │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ ├── package.json │ │ ├── passthrough.js │ │ ├── readable-browser.js │ │ ├── readable.js │ │ ├── transform.js │ │ ├── writable-browser.js │ │ └── writable.js │ ├── readdirp │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.d.ts │ │ ├── index.js │ │ └── package.json │ ├── safe-buffer │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.d.ts │ │ ├── index.js │ │ └── package.json │ ├── safer-buffer │ │ ├── LICENSE │ │ ├── Porting-Buffer.md │ │ ├── Readme.md │ │ ├── dangerous.js │ │ ├── package.json │ │ ├── safer.js │ │ └── tests.js │ ├── semver │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bin │ │ │ └── semver.js │ │ ├── classes │ │ │ ├── comparator.js │ │ │ ├── index.js │ │ │ ├── range.js │ │ │ └── semver.js │ │ ├── functions │ │ │ ├── clean.js │ │ │ ├── cmp.js │ │ │ ├── coerce.js │ │ │ ├── compare-build.js │ │ │ ├── compare-loose.js │ │ │ ├── compare.js │ │ │ ├── diff.js │ │ │ ├── eq.js │ │ │ ├── gt.js │ │ │ ├── gte.js │ │ │ ├── inc.js │ │ │ ├── lt.js │ │ │ ├── lte.js │ │ │ ├── major.js │ │ │ ├── minor.js │ │ │ ├── neq.js │ │ │ ├── parse.js │ │ │ ├── patch.js │ │ │ ├── prerelease.js │ │ │ ├── rcompare.js │ │ │ ├── rsort.js │ │ │ ├── satisfies.js │ │ │ ├── sort.js │ │ │ └── valid.js │ │ ├── index.js │ │ ├── internal │ │ │ ├── constants.js │ │ │ ├── debug.js │ │ │ ├── identifiers.js │ │ │ ├── parse-options.js │ │ │ └── re.js │ │ ├── package.json │ │ ├── preload.js │ │ ├── range.bnf │ │ └── ranges │ │ │ ├── gtr.js │ │ │ ├── intersects.js │ │ │ ├── ltr.js │ │ │ ├── max-satisfying.js │ │ │ ├── min-satisfying.js │ │ │ ├── min-version.js │ │ │ ├── outside.js │ │ │ ├── simplify.js │ │ │ ├── subset.js │ │ │ ├── to-comparators.js │ │ │ └── valid.js │ ├── send │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── SECURITY.md │ │ ├── index.js │ │ ├── node_modules │ │ │ └── ms │ │ │ │ ├── index.js │ │ │ │ ├── license.md │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ └── package.json │ ├── seq-queue │ │ ├── .jshintrc │ │ ├── .npmignore │ │ ├── AUTHORS │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── index.js │ │ ├── lib │ │ │ ├── .npmignore │ │ │ └── seq-queue.js │ │ ├── package.json │ │ └── test │ │ │ └── seq-queue-test.js │ ├── serve-static │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── set-function-length │ │ ├── .eslintrc │ │ ├── .github │ │ │ └── FUNDING.yml │ │ ├── .nycrc │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── env.js │ │ ├── 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 │ ├── simple-update-notifier │ │ ├── LICENSE │ │ ├── README.md │ │ ├── build │ │ │ ├── index.d.ts │ │ │ └── index.js │ │ ├── package.json │ │ └── src │ │ │ ├── borderedText.ts │ │ │ ├── cache.spec.ts │ │ │ ├── cache.ts │ │ │ ├── getDistVersion.spec.ts │ │ │ ├── getDistVersion.ts │ │ │ ├── hasNewVersion.spec.ts │ │ │ ├── hasNewVersion.ts │ │ │ ├── index.spec.ts │ │ │ ├── index.ts │ │ │ ├── isNpmOrYarn.ts │ │ │ └── types.ts │ ├── sqlstring │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── lib │ │ │ └── SqlString.js │ │ └── package.json │ ├── statuses │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── codes.json │ │ ├── index.js │ │ └── package.json │ ├── streamsearch │ │ ├── .eslintrc.js │ │ ├── .github │ │ │ └── workflows │ │ │ │ ├── ci.yml │ │ │ │ └── lint.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── lib │ │ │ └── sbmh.js │ │ ├── package.json │ │ └── test │ │ │ └── test.js │ ├── string_decoder │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── lib │ │ │ └── string_decoder.js │ │ ├── node_modules │ │ │ └── safe-buffer │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ └── package.json │ ├── supports-color │ │ ├── browser.js │ │ ├── index.js │ │ ├── license │ │ ├── package.json │ │ └── readme.md │ ├── to-regex-range │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── toidentifier │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── touch │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bin │ │ │ └── nodetouch.js │ │ ├── index.js │ │ └── package.json │ ├── type-is │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── typedarray │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── example │ │ │ └── tarray.js │ │ ├── index.js │ │ ├── package.json │ │ ├── readme.markdown │ │ └── test │ │ │ ├── server │ │ │ └── undef_globals.js │ │ │ └── tarray.js │ ├── undefsafe │ │ ├── .github │ │ │ └── workflows │ │ │ │ └── release.yml │ │ ├── .jscsrc │ │ ├── .jshintrc │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── example.js │ │ ├── lib │ │ │ └── undefsafe.js │ │ └── package.json │ ├── unpipe │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── util-deprecate │ │ ├── History.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── browser.js │ │ ├── node.js │ │ └── package.json │ ├── utils-merge │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── vary │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── xtend │ │ ├── .jshintrc │ │ ├── LICENSE │ │ ├── README.md │ │ ├── immutable.js │ │ ├── mutable.js │ │ ├── package.json │ │ └── test.js │ └── yallist │ │ ├── LICENSE │ │ ├── README.md │ │ ├── iterator.js │ │ ├── package.json │ │ └── yallist.js ├── package-lock.json ├── package.json └── routes │ ├── auth.js │ ├── posts.js │ └── users.js └── client ├── .env ├── .gitignore ├── README.md ├── package-lock.json ├── package.json ├── public ├── index.html ├── manifest.json └── robots.txt └── src ├── App.js ├── components ├── Footer.jsx ├── Menu.jsx └── Navbar.jsx ├── context └── authContext.js ├── img ├── DSC05742.png ├── delete.png └── edit.png ├── index.js ├── pages ├── Home.jsx ├── Login.jsx ├── Register.jsx ├── Single.jsx └── Write.jsx └── style.scss /README.md: -------------------------------------------------------------------------------- 1 | # README 2 | 3 | This is a sleek and modern blog website, developed with React for the client-side and Node.js for the API. It combines React's dynamic user interface with Node.js's efficient backend management, creating a seamless and engaging browsing experience for users. 4 | 5 | -------------------------------------------------------------------------------- /api/controllers/user.js: -------------------------------------------------------------------------------- 1 | import express from 'express'; 2 | 3 | const router = express.Router(); 4 | 5 | router.get('/', (req, res) => { 6 | res.json('Hello World!') 7 | }) 8 | 9 | export default router; -------------------------------------------------------------------------------- /api/db.js: -------------------------------------------------------------------------------- 1 | import mysql from 'mysql2'; 2 | 3 | export const db = mysql.createConnection({ 4 | host: "localhost", 5 | user: "root", 6 | password: "root", 7 | database: "blog" 8 | }) -------------------------------------------------------------------------------- /api/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*) 6 | if command -v cygpath > /dev/null 2>&1; then 7 | basedir=`cygpath -w "$basedir"` 8 | fi 9 | ;; 10 | esac 11 | 12 | if [ -x "$basedir/node" ]; then 13 | exec "$basedir/node" "$basedir/../mime/cli.js" "$@" 14 | else 15 | exec node "$basedir/../mime/cli.js" "$@" 16 | fi 17 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/node_modules/.bin/mkdirp: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 3 | 4 | case `uname` in 5 | *CYGWIN*|*MINGW*|*MSYS*) 6 | if command -v cygpath > /dev/null 2>&1; then 7 | basedir=`cygpath -w "$basedir"` 8 | fi 9 | ;; 10 | esac 11 | 12 | if [ -x "$basedir/node" ]; then 13 | exec "$basedir/node" "$basedir/../mkdirp/bin/cmd.js" "$@" 14 | else 15 | exec node "$basedir/../mkdirp/bin/cmd.js" "$@" 16 | fi 17 | -------------------------------------------------------------------------------- /api/node_modules/.bin/mkdirp.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%\..\mkdirp\bin\cmd.js" %* 18 | -------------------------------------------------------------------------------- /api/node_modules/.bin/nodemon: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 3 | 4 | case `uname` in 5 | *CYGWIN*|*MINGW*|*MSYS*) 6 | if command -v cygpath > /dev/null 2>&1; then 7 | basedir=`cygpath -w "$basedir"` 8 | fi 9 | ;; 10 | esac 11 | 12 | if [ -x "$basedir/node" ]; then 13 | exec "$basedir/node" "$basedir/../nodemon/bin/nodemon.js" "$@" 14 | else 15 | exec node "$basedir/../nodemon/bin/nodemon.js" "$@" 16 | fi 17 | -------------------------------------------------------------------------------- /api/node_modules/.bin/nodemon.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%\..\nodemon\bin\nodemon.js" %* 18 | -------------------------------------------------------------------------------- /api/node_modules/.bin/nodetouch: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 3 | 4 | case `uname` in 5 | *CYGWIN*|*MINGW*|*MSYS*) 6 | if command -v cygpath > /dev/null 2>&1; then 7 | basedir=`cygpath -w "$basedir"` 8 | fi 9 | ;; 10 | esac 11 | 12 | if [ -x "$basedir/node" ]; then 13 | exec "$basedir/node" "$basedir/../touch/bin/nodetouch.js" "$@" 14 | else 15 | exec node "$basedir/../touch/bin/nodetouch.js" "$@" 16 | fi 17 | -------------------------------------------------------------------------------- /api/node_modules/.bin/nodetouch.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%\..\touch\bin\nodetouch.js" %* 18 | -------------------------------------------------------------------------------- /api/node_modules/.bin/nopt: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 3 | 4 | case `uname` in 5 | *CYGWIN*|*MINGW*|*MSYS*) 6 | if command -v cygpath > /dev/null 2>&1; then 7 | basedir=`cygpath -w "$basedir"` 8 | fi 9 | ;; 10 | esac 11 | 12 | if [ -x "$basedir/node" ]; then 13 | exec "$basedir/node" "$basedir/../nopt/bin/nopt.js" "$@" 14 | else 15 | exec node "$basedir/../nopt/bin/nopt.js" "$@" 16 | fi 17 | -------------------------------------------------------------------------------- /api/node_modules/.bin/nopt.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%\..\nopt\bin\nopt.js" %* 18 | -------------------------------------------------------------------------------- /api/node_modules/.bin/semver: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 3 | 4 | case `uname` in 5 | *CYGWIN*|*MINGW*|*MSYS*) 6 | if command -v cygpath > /dev/null 2>&1; then 7 | basedir=`cygpath -w "$basedir"` 8 | fi 9 | ;; 10 | esac 11 | 12 | if [ -x "$basedir/node" ]; then 13 | exec "$basedir/node" "$basedir/../semver/bin/semver.js" "$@" 14 | else 15 | exec node "$basedir/../semver/bin/semver.js" "$@" 16 | fi 17 | -------------------------------------------------------------------------------- /api/node_modules/.bin/semver.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%\..\semver\bin\semver.js" %* 18 | -------------------------------------------------------------------------------- /api/node_modules/abbrev/README.md: -------------------------------------------------------------------------------- 1 | # abbrev-js 2 | 3 | Just like [ruby's Abbrev](http://apidock.com/ruby/Abbrev). 4 | 5 | Usage: 6 | 7 | var abbrev = require("abbrev"); 8 | abbrev("foo", "fool", "folding", "flop"); 9 | 10 | // returns: 11 | { fl: 'flop' 12 | , flo: 'flop' 13 | , flop: 'flop' 14 | , fol: 'folding' 15 | , fold: 'folding' 16 | , foldi: 'folding' 17 | , foldin: 'folding' 18 | , folding: 'folding' 19 | , foo: 'foo' 20 | , fool: 'fool' 21 | } 22 | 23 | This is handy for command-line scripts, or other cases where you want to be able to accept shorthands. 24 | -------------------------------------------------------------------------------- /api/node_modules/abbrev/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "abbrev", 3 | "version": "1.1.1", 4 | "description": "Like ruby's abbrev module, but in js", 5 | "author": "Isaac Z. Schlueter ", 6 | "main": "abbrev.js", 7 | "scripts": { 8 | "test": "tap test.js --100", 9 | "preversion": "npm test", 10 | "postversion": "npm publish", 11 | "postpublish": "git push origin --all; git push origin --tags" 12 | }, 13 | "repository": "http://github.com/isaacs/abbrev-js", 14 | "license": "ISC", 15 | "devDependencies": { 16 | "tap": "^10.1" 17 | }, 18 | "files": [ 19 | "abbrev.js" 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /api/node_modules/anymatch/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) 2019 Elan Shanker, Paul Miller (https://paulmillr.com) 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /api/node_modules/anymatch/index.d.ts: -------------------------------------------------------------------------------- 1 | type AnymatchFn = (testString: string) => boolean; 2 | type AnymatchPattern = string|RegExp|AnymatchFn; 3 | type AnymatchMatcher = AnymatchPattern|AnymatchPattern[] 4 | type AnymatchTester = { 5 | (testString: string|any[], returnIndex: true): number; 6 | (testString: string|any[]): boolean; 7 | } 8 | 9 | type PicomatchOptions = {dot: boolean}; 10 | 11 | declare const anymatch: { 12 | (matchers: AnymatchMatcher): AnymatchTester; 13 | (matchers: AnymatchMatcher, testString: null, returnIndex: true | PicomatchOptions): AnymatchTester; 14 | (matchers: AnymatchMatcher, testString: string|any[], returnIndex: true | PicomatchOptions): number; 15 | (matchers: AnymatchMatcher, testString: string|any[]): boolean; 16 | } 17 | 18 | export {AnymatchMatcher as Matcher} 19 | export {AnymatchTester as Tester} 20 | export default anymatch 21 | -------------------------------------------------------------------------------- /api/node_modules/append-field/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | -------------------------------------------------------------------------------- /api/node_modules/append-field/index.js: -------------------------------------------------------------------------------- 1 | var parsePath = require('./lib/parse-path') 2 | var setValue = require('./lib/set-value') 3 | 4 | function appendField (store, key, value) { 5 | var steps = parsePath(key) 6 | 7 | steps.reduce(function (context, step) { 8 | return setValue(context, step, context[step.key], value) 9 | }, store) 10 | } 11 | 12 | module.exports = appendField 13 | -------------------------------------------------------------------------------- /api/node_modules/append-field/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "append-field", 3 | "version": "1.0.0", 4 | "license": "MIT", 5 | "author": "Linus Unnebäck ", 6 | "main": "index.js", 7 | "devDependencies": { 8 | "mocha": "^2.2.4", 9 | "standard": "^6.0.5", 10 | "testdata-w3c-json-form": "^0.2.0" 11 | }, 12 | "scripts": { 13 | "test": "standard && mocha" 14 | }, 15 | "repository": { 16 | "type": "git", 17 | "url": "http://github.com/LinusU/node-append-field.git" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /api/node_modules/append-field/test/forms.js: -------------------------------------------------------------------------------- 1 | /* eslint-env mocha */ 2 | 3 | var assert = require('assert') 4 | var appendField = require('../') 5 | var testData = require('testdata-w3c-json-form') 6 | 7 | describe('Append Field', function () { 8 | for (var test of testData) { 9 | it('handles ' + test.name, function () { 10 | var store = Object.create(null) 11 | 12 | for (var field of test.fields) { 13 | appendField(store, field.key, field.value) 14 | } 15 | 16 | assert.deepEqual(store, test.expected) 17 | }) 18 | } 19 | }) 20 | -------------------------------------------------------------------------------- /api/node_modules/balanced-match/.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | tidelift: "npm/balanced-match" 2 | patreon: juliangruber 3 | -------------------------------------------------------------------------------- /api/node_modules/bcryptjs/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | npm-debug.log 3 | debug.log 4 | doco/ 5 | tests/bench.js 6 | *.png 7 | -------------------------------------------------------------------------------- /api/node_modules/bcryptjs/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | node_js: 4 | - 0.10 5 | - 0.12 6 | - 4 7 | - 6 8 | 9 | before_script: npm -g install testjs 10 | 11 | env: 12 | - CXX=g++-4.8 13 | addons: 14 | apt: 15 | sources: 16 | - ubuntu-toolchain-r-test 17 | packages: 18 | - g++-4.8 19 | -------------------------------------------------------------------------------- /api/node_modules/bcryptjs/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "vsicons.presets.angular": false 3 | } -------------------------------------------------------------------------------- /api/node_modules/bcryptjs/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bcryptjs", 3 | "description": "Optimized bcrypt in plain JavaScript with zero dependencies.", 4 | "version": "2.4.3", 5 | "main": "dist/bcrypt.min.js", 6 | "license": "New-BSD", 7 | "homepage": "http://dcode.io/", 8 | "repository": { 9 | "type": "git", 10 | "url": "git://github.com/dcodeIO/bcrypt.js.git" 11 | }, 12 | "keywords": ["bcrypt", "password", "auth", "authentication", "encryption", "crypt", "crypto"], 13 | "dependencies": {}, 14 | "devDependencies": {}, 15 | "ignore": [ 16 | "**/.*", 17 | "node_modules", 18 | "bower_components", 19 | "test", 20 | "tests" 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /api/node_modules/bcryptjs/dist/README.md: -------------------------------------------------------------------------------- 1 | Distributions 2 | ============= 3 | bcrypt.js is available as the following distributions: 4 | 5 | * **[bcrypt.js](https://github.com/dcodeIO/bcrypt.js/blob/master/dist/bcrypt.js)** 6 | contains the commented source code. 7 | 8 | * **[bcrypt.min.js](https://github.com/dcodeIO/bcrypt.js/blob/master/dist/bcrypt.min.js)** 9 | has been compiled with Closure Compiler using advanced optimizations. 10 | 11 | * **[bcrypt.min.map](https://github.com/dcodeIO/bcrypt.js/blob/master/dist/bcrypt.min.map)** 12 | contains the source map generated by Closure Compiler. 13 | 14 | * **[bcrypt.min.js.gz](https://github.com/dcodeIO/bcrypt.js/blob/master/dist/bcrypt.min.js.gz)** 15 | has also been gzipped using `-9`. 16 | -------------------------------------------------------------------------------- /api/node_modules/bcryptjs/dist/bcrypt.min.js.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hongspell/ReactBlog/76e2d7ab60ccfd4211994e7f6b06ad67df48d8b3/api/node_modules/bcryptjs/dist/bcrypt.min.js.gz -------------------------------------------------------------------------------- /api/node_modules/bcryptjs/src/bcrypt/prng/README.md: -------------------------------------------------------------------------------- 1 | Because of [reasonable security doubts](https://github.com/dcodeIO/bcrypt.js/issues/16), these files, which used to be 2 | a part of bcrypt-isaac.js, are no longer used but are kept here for reference only. 3 | 4 | What is required instead is a proper way to collect entropy sources (using an intermediate stream cipher) which is then 5 | used to seed the CSPRNG. Pick one and use `bcrypt.setRandomFallback` instead. 6 | -------------------------------------------------------------------------------- /api/node_modules/bcryptjs/src/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bcryptjs", 3 | "description": "Optimized bcrypt in plain JavaScript with zero dependencies.", 4 | "version": /*?== VERSION */, 5 | "main": "dist/bcrypt.min.js", 6 | "license": "New-BSD", 7 | "homepage": "http://dcode.io/", 8 | "repository": { 9 | "type": "git", 10 | "url": "git://github.com/dcodeIO/bcrypt.js.git" 11 | }, 12 | "keywords": ["bcrypt", "password", "auth", "authentication", "encryption", "crypt", "crypto"], 13 | "dependencies": {}, 14 | "devDependencies": {}, 15 | "ignore": [ 16 | "**/.*", 17 | "node_modules", 18 | "bower_components", 19 | "test", 20 | "tests" 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /api/node_modules/binary-extensions/binary-extensions.json.d.ts: -------------------------------------------------------------------------------- 1 | declare const binaryExtensionsJson: readonly string[]; 2 | 3 | export = binaryExtensionsJson; 4 | -------------------------------------------------------------------------------- /api/node_modules/binary-extensions/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | List of binary file extensions. 3 | 4 | @example 5 | ``` 6 | import binaryExtensions = require('binary-extensions'); 7 | 8 | console.log(binaryExtensions); 9 | //=> ['3ds', '3g2', …] 10 | ``` 11 | */ 12 | declare const binaryExtensions: readonly string[]; 13 | 14 | export = binaryExtensions; 15 | -------------------------------------------------------------------------------- /api/node_modules/binary-extensions/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./binary-extensions.json'); 2 | -------------------------------------------------------------------------------- /api/node_modules/binary-extensions/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "binary-extensions", 3 | "version": "2.2.0", 4 | "description": "List of binary file extensions", 5 | "license": "MIT", 6 | "repository": "sindresorhus/binary-extensions", 7 | "author": { 8 | "name": "Sindre Sorhus", 9 | "email": "sindresorhus@gmail.com", 10 | "url": "sindresorhus.com" 11 | }, 12 | "engines": { 13 | "node": ">=8" 14 | }, 15 | "scripts": { 16 | "test": "xo && ava && tsd" 17 | }, 18 | "files": [ 19 | "index.js", 20 | "index.d.ts", 21 | "binary-extensions.json", 22 | "binary-extensions.json.d.ts" 23 | ], 24 | "keywords": [ 25 | "binary", 26 | "extensions", 27 | "extension", 28 | "file", 29 | "json", 30 | "list", 31 | "array" 32 | ], 33 | "devDependencies": { 34 | "ava": "^1.4.1", 35 | "tsd": "^0.7.2", 36 | "xo": "^0.24.0" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /api/node_modules/braces/lib/stringify.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const utils = require('./utils'); 4 | 5 | module.exports = (ast, options = {}) => { 6 | let stringify = (node, parent = {}) => { 7 | let invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent); 8 | let invalidNode = node.invalid === true && options.escapeInvalid === true; 9 | let output = ''; 10 | 11 | if (node.value) { 12 | if ((invalidBlock || invalidNode) && utils.isOpenOrClose(node)) { 13 | return '\\' + node.value; 14 | } 15 | return node.value; 16 | } 17 | 18 | if (node.value) { 19 | return node.value; 20 | } 21 | 22 | if (node.nodes) { 23 | for (let child of node.nodes) { 24 | output += stringify(child); 25 | } 26 | } 27 | return output; 28 | }; 29 | 30 | return stringify(ast); 31 | }; 32 | 33 | -------------------------------------------------------------------------------- /api/node_modules/buffer-equal-constant-time/.npmignore: -------------------------------------------------------------------------------- 1 | .*.sw[mnop] 2 | node_modules/ 3 | -------------------------------------------------------------------------------- /api/node_modules/buffer-equal-constant-time/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.11" 4 | - "0.10" 5 | -------------------------------------------------------------------------------- /api/node_modules/buffer-equal-constant-time/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "buffer-equal-constant-time", 3 | "version": "1.0.1", 4 | "description": "Constant-time comparison of Buffers", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "mocha test.js" 8 | }, 9 | "repository": "git@github.com:goinstant/buffer-equal-constant-time.git", 10 | "keywords": [ 11 | "buffer", 12 | "equal", 13 | "constant-time", 14 | "crypto" 15 | ], 16 | "author": "GoInstant Inc., a salesforce.com company", 17 | "license": "BSD-3-Clause", 18 | "devDependencies": { 19 | "mocha": "~1.15.1" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /api/node_modules/buffer-from/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "buffer-from", 3 | "version": "1.1.2", 4 | "license": "MIT", 5 | "repository": "LinusU/buffer-from", 6 | "files": [ 7 | "index.js" 8 | ], 9 | "scripts": { 10 | "test": "standard && node test" 11 | }, 12 | "devDependencies": { 13 | "standard": "^12.0.1" 14 | }, 15 | "keywords": [ 16 | "buffer", 17 | "buffer from" 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /api/node_modules/busboy/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = { 4 | extends: '@mscdex/eslint-config', 5 | }; 6 | -------------------------------------------------------------------------------- /api/node_modules/busboy/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | pull_request: 5 | push: 6 | branches: [ master ] 7 | 8 | jobs: 9 | tests-linux: 10 | runs-on: ubuntu-latest 11 | strategy: 12 | fail-fast: false 13 | matrix: 14 | node-version: [10.16.0, 10.x, 12.x, 14.x, 16.x] 15 | steps: 16 | - uses: actions/checkout@v2 17 | - name: Use Node.js ${{ matrix.node-version }} 18 | uses: actions/setup-node@v1 19 | with: 20 | node-version: ${{ matrix.node-version }} 21 | - name: Install module 22 | run: npm install 23 | - name: Run tests 24 | run: npm test 25 | -------------------------------------------------------------------------------- /api/node_modules/busboy/.github/workflows/lint.yml: -------------------------------------------------------------------------------- 1 | name: lint 2 | 3 | on: 4 | pull_request: 5 | push: 6 | branches: [ master ] 7 | 8 | env: 9 | NODE_VERSION: 16.x 10 | 11 | jobs: 12 | lint-js: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - uses: actions/checkout@v2 16 | - name: Use Node.js ${{ env.NODE_VERSION }} 17 | uses: actions/setup-node@v1 18 | with: 19 | node-version: ${{ env.NODE_VERSION }} 20 | - name: Install ESLint + ESLint configs/plugins 21 | run: npm install --only=dev 22 | - name: Lint files 23 | run: npm run lint 24 | -------------------------------------------------------------------------------- /api/node_modules/busboy/test/test.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const { spawnSync } = require('child_process'); 4 | const { readdirSync } = require('fs'); 5 | const { join } = require('path'); 6 | 7 | const files = readdirSync(__dirname).sort(); 8 | for (const filename of files) { 9 | if (filename.startsWith('test-')) { 10 | const path = join(__dirname, filename); 11 | console.log(`> Running ${filename} ...`); 12 | const result = spawnSync(`${process.argv0} ${path}`, { 13 | shell: true, 14 | stdio: 'inherit', 15 | windowsHide: true 16 | }); 17 | if (result.status !== 0) 18 | process.exitCode = 1; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /api/node_modules/call-bind/.eslintignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | -------------------------------------------------------------------------------- /api/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 | }, 16 | } 17 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/node_modules/call-bind/.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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/node_modules/concat-map/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.4 4 | - 0.6 5 | -------------------------------------------------------------------------------- /api/node_modules/concat-map/example/map.js: -------------------------------------------------------------------------------- 1 | var concatMap = require('../'); 2 | var xs = [ 1, 2, 3, 4, 5, 6 ]; 3 | var ys = concatMap(xs, function (x) { 4 | return x % 2 ? [ x - 0.1, x, x + 0.1 ] : []; 5 | }); 6 | console.dir(ys); 7 | -------------------------------------------------------------------------------- /api/node_modules/concat-map/index.js: -------------------------------------------------------------------------------- 1 | module.exports = function (xs, fn) { 2 | var res = []; 3 | for (var i = 0; i < xs.length; i++) { 4 | var x = fn(xs[i], i); 5 | if (isArray(x)) res.push.apply(res, x); 6 | else res.push(x); 7 | } 8 | return res; 9 | }; 10 | 11 | var isArray = Array.isArray || function (xs) { 12 | return Object.prototype.toString.call(xs) === '[object Array]'; 13 | }; 14 | -------------------------------------------------------------------------------- /api/node_modules/content-type/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.5 / 2023-01-29 2 | ================== 3 | 4 | * perf: skip value escaping when unnecessary 5 | 6 | 1.0.4 / 2017-09-11 7 | ================== 8 | 9 | * perf: skip parameter parsing when no parameters 10 | 11 | 1.0.3 / 2017-09-10 12 | ================== 13 | 14 | * perf: remove argument reassignment 15 | 16 | 1.0.2 / 2016-05-09 17 | ================== 18 | 19 | * perf: enable strict mode 20 | 21 | 1.0.1 / 2015-02-13 22 | ================== 23 | 24 | * Improve missing `Content-Type` header error message 25 | 26 | 1.0.0 / 2015-02-01 27 | ================== 28 | 29 | * Initial implementation, derived from `media-typer@0.3.0` 30 | -------------------------------------------------------------------------------- /api/node_modules/cookie-signature/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/node_modules/core-util-is/README.md: -------------------------------------------------------------------------------- 1 | # core-util-is 2 | 3 | The `util.is*` functions introduced in Node v0.12. 4 | -------------------------------------------------------------------------------- /api/node_modules/debug/.coveralls.yml: -------------------------------------------------------------------------------- 1 | repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve 2 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/node_modules/debug/node.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./src/node'); 2 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/node_modules/define-data-property/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "rules": { 7 | "complexity": 0, 8 | "id-length": 0, 9 | "new-cap": ["error", { 10 | "capIsNewExceptions": [ 11 | "GetIntrinsic", 12 | ], 13 | }], 14 | }, 15 | 16 | "overrides": [ 17 | { 18 | "files": "test/**", 19 | "rules": { 20 | "max-lines-per-function": "off", 21 | }, 22 | }, 23 | ], 24 | } 25 | -------------------------------------------------------------------------------- /api/node_modules/define-data-property/.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/define-data-property 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 | -------------------------------------------------------------------------------- /api/node_modules/define-data-property/.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 | -------------------------------------------------------------------------------- /api/node_modules/define-data-property/index.d.ts: -------------------------------------------------------------------------------- 1 | declare const _exports: (obj: Record, property: PropertyKey, value: unknown, nonEnumerable?: boolean | null, nonWritable?: boolean | null, nonConfigurable?: boolean | null, loose?: boolean) => void; 2 | export = _exports; 3 | //# sourceMappingURL=index.d.ts.map -------------------------------------------------------------------------------- /api/node_modules/define-data-property/index.d.ts.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"8BAqBiB,OAAO,WAAW,EAAE,OAAO,CAAC,YAAY,WAAW,SAAS,OAAO,kBAAkB,OAAO,GAAG,IAAI,gBAAgB,OAAO,GAAG,IAAI,oBAAoB,OAAO,GAAG,IAAI,UAAU,OAAO,KAAK,IAAI"} -------------------------------------------------------------------------------- /api/node_modules/ecdsa-sig-formatter/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @omsmith 2 | -------------------------------------------------------------------------------- /api/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | declare module "ecdsa-sig-formatter" { 4 | /** 5 | * Convert the ASN.1/DER encoded signature to a JOSE-style concatenated signature. Returns a base64 url encoded String. 6 | * If signature is a String, it should be base64 encoded 7 | * alg must be one of ES256, ES384 or ES512 8 | */ 9 | export function derToJose(signature: Buffer | string, alg: string): string; 10 | 11 | /** 12 | * Convert the JOSE-style concatenated signature to an ASN.1/DER encoded signature. Returns a Buffer 13 | * If signature is a String, it should be base64 url encoded 14 | * alg must be one of ES256, ES384 or ES512 15 | */ 16 | export function joseToDer(signature: Buffer | string, alg: string): Buffer 17 | } 18 | -------------------------------------------------------------------------------- /api/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | function getParamSize(keySize) { 4 | var result = ((keySize / 8) | 0) + (keySize % 8 === 0 ? 0 : 1); 5 | return result; 6 | } 7 | 8 | var paramBytesForAlg = { 9 | ES256: getParamSize(256), 10 | ES384: getParamSize(384), 11 | ES512: getParamSize(521) 12 | }; 13 | 14 | function getParamBytesForAlg(alg) { 15 | var paramBytes = paramBytesForAlg[alg]; 16 | if (paramBytes) { 17 | return paramBytes; 18 | } 19 | 20 | throw new Error('Unknown algorithm "' + alg + '"'); 21 | } 22 | 23 | module.exports = getParamBytesForAlg; 24 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | "no-new-func": [1], 10 | }, 11 | 12 | "overrides": [ 13 | { 14 | "files": "test/**", 15 | "rules": { 16 | "max-lines-per-function": 0, 17 | "strict": [0] 18 | }, 19 | }, 20 | ], 21 | } 22 | -------------------------------------------------------------------------------- /api/node_modules/function-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/function-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 | -------------------------------------------------------------------------------- /api/node_modules/function-bind/.github/SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security 2 | 3 | Please email [@ljharb](https://github.com/ljharb) or see https://tidelift.com/security if you have a potential security vulnerability to report. 4 | -------------------------------------------------------------------------------- /api/node_modules/function-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 | -------------------------------------------------------------------------------- /api/node_modules/function-bind/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var implementation = require('./implementation'); 4 | 5 | module.exports = Function.prototype.bind || implementation; 6 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/node_modules/generate-function/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | -------------------------------------------------------------------------------- /api/node_modules/generate-function/example.js: -------------------------------------------------------------------------------- 1 | const genfun = require('./') 2 | const { d } = genfun.formats 3 | 4 | function multiply (a, b) { 5 | return a * b 6 | } 7 | 8 | function addAndMultiplyNumber (val) { 9 | const fn = genfun(` 10 | function (n) { 11 | if (typeof n !== 'number') { 12 | throw new Error('argument should be a number') 13 | } 14 | const result = multiply(${d(val)}, n + ${d(val)}) 15 | return result 16 | } 17 | `) 18 | 19 | // use fn.toString() if you want to see the generated source 20 | 21 | return fn.toFunction({multiply}) 22 | } 23 | 24 | const addAndMultiply2 = addAndMultiplyNumber(2) 25 | 26 | console.log(addAndMultiply2.toString()) 27 | console.log('(3 + 2) * 2 =', addAndMultiply2(3)) 28 | -------------------------------------------------------------------------------- /api/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": 0, 21 | "max-lines-per-function": [2, 90], 22 | "max-params": [2, 4], 23 | "max-statements": 0, 24 | "max-statements-per-line": [2, { "max": 2 }], 25 | "multiline-comment-style": 0, 26 | "no-magic-numbers": 0, 27 | "sort-keys": 0, 28 | }, 29 | 30 | "overrides": [ 31 | { 32 | "files": "test/**", 33 | "rules": { 34 | "new-cap": 0, 35 | }, 36 | }, 37 | ], 38 | } 39 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/node_modules/glob-parent/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) 2015, 2019 Elan Shanker 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /api/node_modules/gopd/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "rules": { 7 | "func-style": [2, "declaration"], 8 | "id-length": 0, 9 | "multiline-comment-style": 0, 10 | "new-cap": [2, { 11 | "capIsNewExceptions": [ 12 | "GetIntrinsic", 13 | ], 14 | }], 15 | }, 16 | } 17 | -------------------------------------------------------------------------------- /api/node_modules/gopd/.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/gopd 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 | -------------------------------------------------------------------------------- /api/node_modules/gopd/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var GetIntrinsic = require('get-intrinsic'); 4 | 5 | var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true); 6 | 7 | if ($gOPD) { 8 | try { 9 | $gOPD([], 'length'); 10 | } catch (e) { 11 | // IE 8 has a broken gOPD 12 | $gOPD = null; 13 | } 14 | } 15 | 16 | module.exports = $gOPD; 17 | -------------------------------------------------------------------------------- /api/node_modules/gopd/test/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var test = require('tape'); 4 | var gOPD = require('../'); 5 | 6 | test('gOPD', function (t) { 7 | t.test('supported', { skip: !gOPD }, function (st) { 8 | st.equal(typeof gOPD, 'function', 'is a function'); 9 | 10 | var obj = { x: 1 }; 11 | st.ok('x' in obj, 'property exists'); 12 | 13 | var desc = gOPD(obj, 'x'); 14 | st.deepEqual( 15 | desc, 16 | { 17 | configurable: true, 18 | enumerable: true, 19 | value: 1, 20 | writable: true 21 | }, 22 | 'descriptor is as expected' 23 | ); 24 | 25 | st.end(); 26 | }); 27 | 28 | t.test('not supported', { skip: gOPD }, function (st) { 29 | st.notOk(gOPD, 'is falsy'); 30 | 31 | st.end(); 32 | }); 33 | 34 | t.end(); 35 | }); 36 | -------------------------------------------------------------------------------- /api/node_modules/has-flag/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = (flag, argv) => { 3 | argv = argv || process.argv; 4 | const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--'); 5 | const pos = argv.indexOf(prefix + flag); 6 | const terminatorPos = argv.indexOf('--'); 7 | return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos); 8 | }; 9 | -------------------------------------------------------------------------------- /api/node_modules/has-property-descriptors/.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": ["GetIntrinsic"], 11 | }], 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /api/node_modules/has-property-descriptors/.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-property-descriptors 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 | -------------------------------------------------------------------------------- /api/node_modules/has-property-descriptors/.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 | -------------------------------------------------------------------------------- /api/node_modules/has-proto/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | } 6 | -------------------------------------------------------------------------------- /api/node_modules/has-proto/.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-proto 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 | -------------------------------------------------------------------------------- /api/node_modules/has-proto/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var test = { 4 | foo: {} 5 | }; 6 | 7 | var $Object = Object; 8 | 9 | module.exports = function hasProto() { 10 | return { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object); 11 | }; 12 | -------------------------------------------------------------------------------- /api/node_modules/has-proto/test/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var test = require('tape'); 4 | var hasProto = require('../'); 5 | 6 | test('hasProto', function (t) { 7 | var result = hasProto(); 8 | t.equal(typeof result, 'boolean', 'returns a boolean (' + result + ')'); 9 | 10 | var obj = { __proto__: null }; 11 | if (result) { 12 | t.notOk('toString' in obj, 'null object lacks toString'); 13 | } else { 14 | t.ok('toString' in obj, 'without proto, null object has toString'); 15 | t.equal(obj.__proto__, null); // eslint-disable-line no-proto 16 | } 17 | 18 | t.end(); 19 | }); 20 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/node_modules/hasown/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | } 6 | -------------------------------------------------------------------------------- /api/node_modules/hasown/.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/hasown 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 | -------------------------------------------------------------------------------- /api/node_modules/hasown/.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 | -------------------------------------------------------------------------------- /api/node_modules/hasown/index.d.ts: -------------------------------------------------------------------------------- 1 | declare const _exports: (o: {}, p: PropertyKey) => p is never; 2 | export = _exports; 3 | //# sourceMappingURL=index.d.ts.map -------------------------------------------------------------------------------- /api/node_modules/hasown/index.d.ts.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"4BAMe,EAAE,KAAK,WAAW"} -------------------------------------------------------------------------------- /api/node_modules/hasown/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var call = Function.prototype.call; 4 | var $hasOwn = Object.prototype.hasOwnProperty; 5 | var bind = require('function-bind'); 6 | 7 | /** @type {(o: {}, p: PropertyKey) => p is keyof o} */ 8 | module.exports = bind.call(call, $hasOwn); 9 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/node_modules/ignore-by-default/LICENSE: -------------------------------------------------------------------------------- 1 | ISC License (ISC) 2 | Copyright (c) 2016, Mark Wubben 3 | 4 | Permission to use, copy, modify, and/or distribute this software for any purpose 5 | with or without fee is hereby granted, provided that the above copyright notice 6 | and this permission notice appear in all copies. 7 | 8 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 9 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 10 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 11 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS 12 | OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 13 | TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF 14 | THIS SOFTWARE. 15 | -------------------------------------------------------------------------------- /api/node_modules/ignore-by-default/README.md: -------------------------------------------------------------------------------- 1 | # ignore-by-default 2 | 3 | This is a package aimed at Node.js development tools. It provides a list of 4 | directories that should probably be ignored by such tools, e.g. when watching 5 | for file changes. 6 | 7 | It's used by [AVA](https://www.npmjs.com/package/ava) and 8 | [nodemon](https://www.npmjs.com/package/nodemon). 9 | 10 | [Please contribute!](./CONTRIBUTING.md) 11 | 12 | ## Installation 13 | 14 | ``` 15 | npm install --save ignore-by-default 16 | ``` 17 | 18 | ## Usage 19 | 20 | The `ignore-by-default` module exports a `directories()` function, which will 21 | return an array of directory names. These are the ones you should ignore. 22 | 23 | ```js 24 | // ['.git', '.sass_cache', …] 25 | var ignoredDirectories = require('ignore-by-default').directories() 26 | ``` 27 | -------------------------------------------------------------------------------- /api/node_modules/ignore-by-default/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | exports.directories = function () { 4 | return [ 5 | '.git', // Git repository files, see 6 | '.nyc_output', // Temporary directory where nyc stores coverage data, see 7 | '.sass-cache', // Cache folder for node-sass, see 8 | 'bower_components', // Where Bower packages are installed, see 9 | 'coverage', // Standard output directory for code coverage reports, see 10 | 'node_modules' // Where Node modules are installed, see 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/node_modules/is-binary-path/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | Check if a file path is a binary file. 3 | 4 | @example 5 | ``` 6 | import isBinaryPath = require('is-binary-path'); 7 | 8 | isBinaryPath('source/unicorn.png'); 9 | //=> true 10 | 11 | isBinaryPath('source/unicorn.txt'); 12 | //=> false 13 | ``` 14 | */ 15 | declare function isBinaryPath(filePath: string): boolean; 16 | 17 | export = isBinaryPath; 18 | -------------------------------------------------------------------------------- /api/node_modules/is-binary-path/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const path = require('path'); 3 | const binaryExtensions = require('binary-extensions'); 4 | 5 | const extensions = new Set(binaryExtensions); 6 | 7 | module.exports = filePath => extensions.has(path.extname(filePath).slice(1).toLowerCase()); 8 | -------------------------------------------------------------------------------- /api/node_modules/is-binary-path/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "is-binary-path", 3 | "version": "2.1.0", 4 | "description": "Check if a file path is a binary file", 5 | "license": "MIT", 6 | "repository": "sindresorhus/is-binary-path", 7 | "author": { 8 | "name": "Sindre Sorhus", 9 | "email": "sindresorhus@gmail.com", 10 | "url": "sindresorhus.com" 11 | }, 12 | "engines": { 13 | "node": ">=8" 14 | }, 15 | "scripts": { 16 | "test": "xo && ava && tsd" 17 | }, 18 | "files": [ 19 | "index.js", 20 | "index.d.ts" 21 | ], 22 | "keywords": [ 23 | "binary", 24 | "extensions", 25 | "extension", 26 | "file", 27 | "path", 28 | "check", 29 | "detect", 30 | "is" 31 | ], 32 | "dependencies": { 33 | "binary-extensions": "^2.0.0" 34 | }, 35 | "devDependencies": { 36 | "ava": "^1.4.1", 37 | "tsd": "^0.7.2", 38 | "xo": "^0.24.0" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /api/node_modules/is-extglob/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * is-extglob 3 | * 4 | * Copyright (c) 2014-2016, Jon Schlinkert. 5 | * Licensed under the MIT License. 6 | */ 7 | 8 | module.exports = function isExtglob(str) { 9 | if (typeof str !== 'string' || str === '') { 10 | return false; 11 | } 12 | 13 | var match; 14 | while ((match = /(\\).|([@?!+*]\(.*\))/g.exec(str))) { 15 | if (match[2]) return true; 16 | str = str.slice(match.index + match[0].length); 17 | } 18 | 19 | return false; 20 | }; 21 | -------------------------------------------------------------------------------- /api/node_modules/is-number/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * is-number 3 | * 4 | * Copyright (c) 2014-present, Jon Schlinkert. 5 | * Released under the MIT License. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | module.exports = function(num) { 11 | if (typeof num === 'number') { 12 | return num - num === 0; 13 | } 14 | if (typeof num === 'string' && num.trim() !== '') { 15 | return Number.isFinite ? Number.isFinite(+num) : isFinite(+num); 16 | } 17 | return false; 18 | }; 19 | -------------------------------------------------------------------------------- /api/node_modules/is-property/.npmignore: -------------------------------------------------------------------------------- 1 | lib-cov 2 | *.seed 3 | *.log 4 | *.csv 5 | *.dat 6 | *.out 7 | *.pid 8 | *.gz 9 | 10 | pids 11 | logs 12 | results 13 | 14 | npm-debug.log 15 | node_modules/* 16 | *.DS_Store 17 | test/* -------------------------------------------------------------------------------- /api/node_modules/is-property/README.md: -------------------------------------------------------------------------------- 1 | is-property 2 | =========== 3 | Tests if a property of a JavaScript object can be accessed using the dot (.) notation or if it must be enclosed in brackets, (ie use x[" ... "]) 4 | 5 | Example 6 | ------- 7 | 8 | ```javascript 9 | var isProperty = require("is-property") 10 | 11 | console.log(isProperty("foo")) //Prints true 12 | console.log(isProperty("0")) //Prints false 13 | ``` 14 | 15 | Install 16 | ------- 17 | 18 | npm install is-property 19 | 20 | ### `require("is-property")(str)` 21 | Checks if str is a property 22 | 23 | * `str` is a string which we will test if it is a property or not 24 | 25 | **Returns** true or false depending if str is a property 26 | 27 | ## Credits 28 | (c) 2013 Mikola Lysenko. MIT License -------------------------------------------------------------------------------- /api/node_modules/isarray/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /api/node_modules/isarray/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | -------------------------------------------------------------------------------- /api/node_modules/isarray/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @node_modules/.bin/tape test.js 4 | 5 | .PHONY: test 6 | 7 | -------------------------------------------------------------------------------- /api/node_modules/isarray/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "isarray", 3 | "description" : "Array#isArray for older browsers", 4 | "version" : "0.0.1", 5 | "repository" : "juliangruber/isarray", 6 | "homepage": "https://github.com/juliangruber/isarray", 7 | "main" : "index.js", 8 | "scripts" : [ 9 | "index.js" 10 | ], 11 | "dependencies" : {}, 12 | "keywords": ["browser","isarray","array"], 13 | "author": { 14 | "name": "Julian Gruber", 15 | "email": "mail@juliangruber.com", 16 | "url": "http://juliangruber.com" 17 | }, 18 | "license": "MIT" 19 | } 20 | -------------------------------------------------------------------------------- /api/node_modules/isarray/index.js: -------------------------------------------------------------------------------- 1 | var toString = {}.toString; 2 | 3 | module.exports = Array.isArray || function (arr) { 4 | return toString.call(arr) == '[object Array]'; 5 | }; 6 | -------------------------------------------------------------------------------- /api/node_modules/isarray/test.js: -------------------------------------------------------------------------------- 1 | var isArray = require('./'); 2 | var test = require('tape'); 3 | 4 | test('is array', function(t){ 5 | t.ok(isArray([])); 6 | t.notOk(isArray({})); 7 | t.notOk(isArray(null)); 8 | t.notOk(isArray(false)); 9 | 10 | var obj = {}; 11 | obj[0] = true; 12 | t.notOk(isArray(obj)); 13 | 14 | var arr = []; 15 | arr.foo = 'bar'; 16 | t.ok(isArray(arr)); 17 | 18 | t.end(); 19 | }); 20 | 21 | -------------------------------------------------------------------------------- /api/node_modules/jsonwebtoken/index.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | decode: require('./decode'), 3 | verify: require('./verify'), 4 | sign: require('./sign'), 5 | JsonWebTokenError: require('./lib/JsonWebTokenError'), 6 | NotBeforeError: require('./lib/NotBeforeError'), 7 | TokenExpiredError: require('./lib/TokenExpiredError'), 8 | }; 9 | -------------------------------------------------------------------------------- /api/node_modules/jsonwebtoken/lib/JsonWebTokenError.js: -------------------------------------------------------------------------------- 1 | var JsonWebTokenError = function (message, error) { 2 | Error.call(this, message); 3 | if(Error.captureStackTrace) { 4 | Error.captureStackTrace(this, this.constructor); 5 | } 6 | this.name = 'JsonWebTokenError'; 7 | this.message = message; 8 | if (error) this.inner = error; 9 | }; 10 | 11 | JsonWebTokenError.prototype = Object.create(Error.prototype); 12 | JsonWebTokenError.prototype.constructor = JsonWebTokenError; 13 | 14 | module.exports = JsonWebTokenError; 15 | -------------------------------------------------------------------------------- /api/node_modules/jsonwebtoken/lib/NotBeforeError.js: -------------------------------------------------------------------------------- 1 | var JsonWebTokenError = require('./JsonWebTokenError'); 2 | 3 | var NotBeforeError = function (message, date) { 4 | JsonWebTokenError.call(this, message); 5 | this.name = 'NotBeforeError'; 6 | this.date = date; 7 | }; 8 | 9 | NotBeforeError.prototype = Object.create(JsonWebTokenError.prototype); 10 | 11 | NotBeforeError.prototype.constructor = NotBeforeError; 12 | 13 | module.exports = NotBeforeError; -------------------------------------------------------------------------------- /api/node_modules/jsonwebtoken/lib/TokenExpiredError.js: -------------------------------------------------------------------------------- 1 | var JsonWebTokenError = require('./JsonWebTokenError'); 2 | 3 | var TokenExpiredError = function (message, expiredAt) { 4 | JsonWebTokenError.call(this, message); 5 | this.name = 'TokenExpiredError'; 6 | this.expiredAt = expiredAt; 7 | }; 8 | 9 | TokenExpiredError.prototype = Object.create(JsonWebTokenError.prototype); 10 | 11 | TokenExpiredError.prototype.constructor = TokenExpiredError; 12 | 13 | module.exports = TokenExpiredError; -------------------------------------------------------------------------------- /api/node_modules/jsonwebtoken/lib/asymmetricKeyDetailsSupported.js: -------------------------------------------------------------------------------- 1 | const semver = require('semver'); 2 | 3 | module.exports = semver.satisfies(process.version, '>=15.7.0'); 4 | -------------------------------------------------------------------------------- /api/node_modules/jsonwebtoken/lib/psSupported.js: -------------------------------------------------------------------------------- 1 | var semver = require('semver'); 2 | 3 | module.exports = semver.satisfies(process.version, '^6.12.0 || >=8.0.0'); 4 | -------------------------------------------------------------------------------- /api/node_modules/jsonwebtoken/lib/rsaPssKeyDetailsSupported.js: -------------------------------------------------------------------------------- 1 | const semver = require('semver'); 2 | 3 | module.exports = semver.satisfies(process.version, '>=16.9.0'); 4 | -------------------------------------------------------------------------------- /api/node_modules/jsonwebtoken/lib/timespan.js: -------------------------------------------------------------------------------- 1 | var ms = require('ms'); 2 | 3 | module.exports = function (time, iat) { 4 | var timestamp = iat || Math.floor(Date.now() / 1000); 5 | 6 | if (typeof time === 'string') { 7 | var milliseconds = ms(time); 8 | if (typeof milliseconds === 'undefined') { 9 | return; 10 | } 11 | return Math.floor(timestamp + milliseconds / 1000); 12 | } else if (typeof time === 'number') { 13 | return timestamp + time; 14 | } else { 15 | return; 16 | } 17 | 18 | }; -------------------------------------------------------------------------------- /api/node_modules/jws/index.js: -------------------------------------------------------------------------------- 1 | /*global exports*/ 2 | var SignStream = require('./lib/sign-stream'); 3 | var VerifyStream = require('./lib/verify-stream'); 4 | 5 | var ALGORITHMS = [ 6 | 'HS256', 'HS384', 'HS512', 7 | 'RS256', 'RS384', 'RS512', 8 | 'PS256', 'PS384', 'PS512', 9 | 'ES256', 'ES384', 'ES512' 10 | ]; 11 | 12 | exports.ALGORITHMS = ALGORITHMS; 13 | exports.sign = SignStream.sign; 14 | exports.verify = VerifyStream.verify; 15 | exports.decode = VerifyStream.decode; 16 | exports.isValid = VerifyStream.isValid; 17 | exports.createSign = function createSign(opts) { 18 | return new SignStream(opts); 19 | }; 20 | exports.createVerify = function createVerify(opts) { 21 | return new VerifyStream(opts); 22 | }; 23 | -------------------------------------------------------------------------------- /api/node_modules/jws/lib/tostring.js: -------------------------------------------------------------------------------- 1 | /*global module*/ 2 | var Buffer = require('buffer').Buffer; 3 | 4 | module.exports = function toString(obj) { 5 | if (typeof obj === 'string') 6 | return obj; 7 | if (typeof obj === 'number' || Buffer.isBuffer(obj)) 8 | return obj.toString(); 9 | return JSON.stringify(obj); 10 | }; 11 | -------------------------------------------------------------------------------- /api/node_modules/jws/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jws", 3 | "version": "3.2.2", 4 | "description": "Implementation of JSON Web Signatures", 5 | "main": "index.js", 6 | "directories": { 7 | "test": "test" 8 | }, 9 | "scripts": { 10 | "test": "make test" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "git://github.com/brianloveswords/node-jws.git" 15 | }, 16 | "keywords": [ 17 | "jws", 18 | "json", 19 | "web", 20 | "signatures" 21 | ], 22 | "author": "Brian J Brennan", 23 | "license": "MIT", 24 | "readmeFilename": "readme.md", 25 | "gitHead": "c0f6b27bcea5a2ad2e304d91c2e842e4076a6b03", 26 | "dependencies": { 27 | "jwa": "^1.4.1", 28 | "safe-buffer": "^5.0.1" 29 | }, 30 | "devDependencies": { 31 | "semver": "^5.1.0", 32 | "tape": "~2.14.0" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /api/node_modules/lodash.includes/README.md: -------------------------------------------------------------------------------- 1 | # lodash.includes v4.3.0 2 | 3 | The [lodash](https://lodash.com/) method `_.includes` exported as a [Node.js](https://nodejs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | ```bash 9 | $ {sudo -H} npm i -g npm 10 | $ npm i --save lodash.includes 11 | ``` 12 | 13 | In Node.js: 14 | ```js 15 | var includes = require('lodash.includes'); 16 | ``` 17 | 18 | See the [documentation](https://lodash.com/docs#includes) or [package source](https://github.com/lodash/lodash/blob/4.3.0-npm-packages/lodash.includes) for more details. 19 | -------------------------------------------------------------------------------- /api/node_modules/lodash.includes/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lodash.includes", 3 | "version": "4.3.0", 4 | "description": "The lodash method `_.includes` exported as a module.", 5 | "homepage": "https://lodash.com/", 6 | "icon": "https://lodash.com/icon.svg", 7 | "license": "MIT", 8 | "keywords": "lodash-modularized, includes", 9 | "author": "John-David Dalton (http://allyoucanleet.com/)", 10 | "contributors": [ 11 | "John-David Dalton (http://allyoucanleet.com/)", 12 | "Blaine Bublitz (https://github.com/phated)", 13 | "Mathias Bynens (https://mathiasbynens.be/)" 14 | ], 15 | "repository": "lodash/lodash", 16 | "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" } 17 | } 18 | -------------------------------------------------------------------------------- /api/node_modules/lodash.isboolean/README.md: -------------------------------------------------------------------------------- 1 | # lodash.isboolean v3.0.3 2 | 3 | The [lodash](https://lodash.com/) method `_.isBoolean` exported as a [Node.js](https://nodejs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | ```bash 9 | $ {sudo -H} npm i -g npm 10 | $ npm i --save lodash.isboolean 11 | ``` 12 | 13 | In Node.js: 14 | ```js 15 | var isBoolean = require('lodash.isboolean'); 16 | ``` 17 | 18 | See the [documentation](https://lodash.com/docs#isBoolean) or [package source](https://github.com/lodash/lodash/blob/3.0.3-npm-packages/lodash.isboolean) for more details. 19 | -------------------------------------------------------------------------------- /api/node_modules/lodash.isboolean/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lodash.isboolean", 3 | "version": "3.0.3", 4 | "description": "The lodash method `_.isBoolean` exported as a module.", 5 | "homepage": "https://lodash.com/", 6 | "icon": "https://lodash.com/icon.svg", 7 | "license": "MIT", 8 | "keywords": "lodash-modularized, isboolean", 9 | "author": "John-David Dalton (http://allyoucanleet.com/)", 10 | "contributors": [ 11 | "John-David Dalton (http://allyoucanleet.com/)", 12 | "Blaine Bublitz (https://github.com/phated)", 13 | "Mathias Bynens (https://mathiasbynens.be/)" 14 | ], 15 | "repository": "lodash/lodash", 16 | "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" } 17 | } 18 | -------------------------------------------------------------------------------- /api/node_modules/lodash.isinteger/README.md: -------------------------------------------------------------------------------- 1 | # lodash.isinteger v4.0.4 2 | 3 | The [lodash](https://lodash.com/) method `_.isInteger` exported as a [Node.js](https://nodejs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | ```bash 9 | $ {sudo -H} npm i -g npm 10 | $ npm i --save lodash.isinteger 11 | ``` 12 | 13 | In Node.js: 14 | ```js 15 | var isInteger = require('lodash.isinteger'); 16 | ``` 17 | 18 | See the [documentation](https://lodash.com/docs#isInteger) or [package source](https://github.com/lodash/lodash/blob/4.0.4-npm-packages/lodash.isinteger) for more details. 19 | -------------------------------------------------------------------------------- /api/node_modules/lodash.isinteger/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lodash.isinteger", 3 | "version": "4.0.4", 4 | "description": "The lodash method `_.isInteger` exported as a module.", 5 | "homepage": "https://lodash.com/", 6 | "icon": "https://lodash.com/icon.svg", 7 | "license": "MIT", 8 | "keywords": "lodash-modularized, isinteger", 9 | "author": "John-David Dalton (http://allyoucanleet.com/)", 10 | "contributors": [ 11 | "John-David Dalton (http://allyoucanleet.com/)", 12 | "Blaine Bublitz (https://github.com/phated)", 13 | "Mathias Bynens (https://mathiasbynens.be/)" 14 | ], 15 | "repository": "lodash/lodash", 16 | "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" } 17 | } 18 | -------------------------------------------------------------------------------- /api/node_modules/lodash.isnumber/README.md: -------------------------------------------------------------------------------- 1 | # lodash.isnumber v3.0.3 2 | 3 | The [lodash](https://lodash.com/) method `_.isNumber` exported as a [Node.js](https://nodejs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | ```bash 9 | $ {sudo -H} npm i -g npm 10 | $ npm i --save lodash.isnumber 11 | ``` 12 | 13 | In Node.js: 14 | ```js 15 | var isNumber = require('lodash.isnumber'); 16 | ``` 17 | 18 | See the [documentation](https://lodash.com/docs#isNumber) or [package source](https://github.com/lodash/lodash/blob/3.0.3-npm-packages/lodash.isnumber) for more details. 19 | -------------------------------------------------------------------------------- /api/node_modules/lodash.isnumber/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lodash.isnumber", 3 | "version": "3.0.3", 4 | "description": "The lodash method `_.isNumber` exported as a module.", 5 | "homepage": "https://lodash.com/", 6 | "icon": "https://lodash.com/icon.svg", 7 | "license": "MIT", 8 | "keywords": "lodash-modularized, isnumber", 9 | "author": "John-David Dalton (http://allyoucanleet.com/)", 10 | "contributors": [ 11 | "John-David Dalton (http://allyoucanleet.com/)", 12 | "Blaine Bublitz (https://github.com/phated)", 13 | "Mathias Bynens (https://mathiasbynens.be/)" 14 | ], 15 | "repository": "lodash/lodash", 16 | "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" } 17 | } 18 | -------------------------------------------------------------------------------- /api/node_modules/lodash.isplainobject/README.md: -------------------------------------------------------------------------------- 1 | # lodash.isplainobject v4.0.6 2 | 3 | The [lodash](https://lodash.com/) method `_.isPlainObject` exported as a [Node.js](https://nodejs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | ```bash 9 | $ {sudo -H} npm i -g npm 10 | $ npm i --save lodash.isplainobject 11 | ``` 12 | 13 | In Node.js: 14 | ```js 15 | var isPlainObject = require('lodash.isplainobject'); 16 | ``` 17 | 18 | See the [documentation](https://lodash.com/docs#isPlainObject) or [package source](https://github.com/lodash/lodash/blob/4.0.6-npm-packages/lodash.isplainobject) for more details. 19 | -------------------------------------------------------------------------------- /api/node_modules/lodash.isstring/README.md: -------------------------------------------------------------------------------- 1 | # lodash.isstring v4.0.1 2 | 3 | The [lodash](https://lodash.com/) method `_.isString` exported as a [Node.js](https://nodejs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | ```bash 9 | $ {sudo -H} npm i -g npm 10 | $ npm i --save lodash.isstring 11 | ``` 12 | 13 | In Node.js: 14 | ```js 15 | var isString = require('lodash.isstring'); 16 | ``` 17 | 18 | See the [documentation](https://lodash.com/docs#isString) or [package source](https://github.com/lodash/lodash/blob/4.0.1-npm-packages/lodash.isstring) for more details. 19 | -------------------------------------------------------------------------------- /api/node_modules/lodash.isstring/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lodash.isstring", 3 | "version": "4.0.1", 4 | "description": "The lodash method `_.isString` exported as a module.", 5 | "homepage": "https://lodash.com/", 6 | "icon": "https://lodash.com/icon.svg", 7 | "license": "MIT", 8 | "keywords": "lodash-modularized, isstring", 9 | "author": "John-David Dalton (http://allyoucanleet.com/)", 10 | "contributors": [ 11 | "John-David Dalton (http://allyoucanleet.com/)", 12 | "Blaine Bublitz (https://github.com/phated)", 13 | "Mathias Bynens (https://mathiasbynens.be/)" 14 | ], 15 | "repository": "lodash/lodash", 16 | "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" } 17 | } 18 | -------------------------------------------------------------------------------- /api/node_modules/lodash.once/README.md: -------------------------------------------------------------------------------- 1 | # lodash.once v4.1.1 2 | 3 | The [lodash](https://lodash.com/) method `_.once` exported as a [Node.js](https://nodejs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | ```bash 9 | $ {sudo -H} npm i -g npm 10 | $ npm i --save lodash.once 11 | ``` 12 | 13 | In Node.js: 14 | ```js 15 | var once = require('lodash.once'); 16 | ``` 17 | 18 | See the [documentation](https://lodash.com/docs#once) or [package source](https://github.com/lodash/lodash/blob/4.1.1-npm-packages/lodash.once) for more details. 19 | -------------------------------------------------------------------------------- /api/node_modules/lodash.once/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lodash.once", 3 | "version": "4.1.1", 4 | "description": "The lodash method `_.once` exported as a module.", 5 | "homepage": "https://lodash.com/", 6 | "icon": "https://lodash.com/icon.svg", 7 | "license": "MIT", 8 | "keywords": "lodash-modularized, once", 9 | "author": "John-David Dalton (http://allyoucanleet.com/)", 10 | "contributors": [ 11 | "John-David Dalton (http://allyoucanleet.com/)", 12 | "Blaine Bublitz (https://github.com/phated)", 13 | "Mathias Bynens (https://mathiasbynens.be/)" 14 | ], 15 | "repository": "lodash/lodash", 16 | "scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" } 17 | } 18 | -------------------------------------------------------------------------------- /api/node_modules/long/umd/index.d.ts: -------------------------------------------------------------------------------- 1 | import Long from "../index.js"; 2 | export = Long; 3 | -------------------------------------------------------------------------------- /api/node_modules/long/umd/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "commonjs" 3 | } 4 | -------------------------------------------------------------------------------- /api/node_modules/lru-cache/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/node_modules/mime/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hongspell/ReactBlog/76e2d7ab60ccfd4211994e7f6b06ad67df48d8b3/api/node_modules/mime/.npmignore -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/node_modules/minimatch/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /api/node_modules/minimist/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb/eslint-config/node/0.4", 5 | 6 | "rules": { 7 | "array-element-newline": 0, 8 | "complexity": 0, 9 | "func-style": [2, "declaration"], 10 | "max-lines-per-function": 0, 11 | "max-nested-callbacks": 1, 12 | "max-statements-per-line": 1, 13 | "max-statements": 0, 14 | "multiline-comment-style": 0, 15 | "no-continue": 1, 16 | "no-param-reassign": 1, 17 | "no-restricted-syntax": 1, 18 | "object-curly-newline": 0, 19 | }, 20 | 21 | "overrides": [ 22 | { 23 | "files": "test/**", 24 | "rules": { 25 | "camelcase": 0, 26 | }, 27 | }, 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /api/node_modules/minimist/.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/minimist 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 | -------------------------------------------------------------------------------- /api/node_modules/minimist/.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 | "example", 12 | "test" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /api/node_modules/minimist/example/parse.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var argv = require('../')(process.argv.slice(2)); 4 | console.log(argv); 5 | -------------------------------------------------------------------------------- /api/node_modules/minimist/test/all_bool.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var parse = require('../'); 4 | var test = require('tape'); 5 | 6 | test('flag boolean true (default all --args to boolean)', function (t) { 7 | var argv = parse(['moo', '--honk', 'cow'], { 8 | boolean: true, 9 | }); 10 | 11 | t.deepEqual(argv, { 12 | honk: true, 13 | _: ['moo', 'cow'], 14 | }); 15 | 16 | t.deepEqual(typeof argv.honk, 'boolean'); 17 | t.end(); 18 | }); 19 | 20 | test('flag boolean true only affects double hyphen arguments without equals signs', function (t) { 21 | var argv = parse(['moo', '--honk', 'cow', '-p', '55', '--tacos=good'], { 22 | boolean: true, 23 | }); 24 | 25 | t.deepEqual(argv, { 26 | honk: true, 27 | tacos: 'good', 28 | p: 55, 29 | _: ['moo', 'cow'], 30 | }); 31 | 32 | t.deepEqual(typeof argv.honk, 'boolean'); 33 | t.end(); 34 | }); 35 | -------------------------------------------------------------------------------- /api/node_modules/minimist/test/dotted.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var parse = require('../'); 4 | var test = require('tape'); 5 | 6 | test('dotted alias', function (t) { 7 | var argv = parse(['--a.b', '22'], { default: { 'a.b': 11 }, alias: { 'a.b': 'aa.bb' } }); 8 | t.equal(argv.a.b, 22); 9 | t.equal(argv.aa.bb, 22); 10 | t.end(); 11 | }); 12 | 13 | test('dotted default', function (t) { 14 | var argv = parse('', { default: { 'a.b': 11 }, alias: { 'a.b': 'aa.bb' } }); 15 | t.equal(argv.a.b, 11); 16 | t.equal(argv.aa.bb, 11); 17 | t.end(); 18 | }); 19 | 20 | test('dotted default with no alias', function (t) { 21 | var argv = parse('', { default: { 'a.b': 11 } }); 22 | t.equal(argv.a.b, 11); 23 | t.end(); 24 | }); 25 | -------------------------------------------------------------------------------- /api/node_modules/minimist/test/kv_short.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var parse = require('../'); 4 | var test = require('tape'); 5 | 6 | test('short -k=v', function (t) { 7 | t.plan(1); 8 | 9 | var argv = parse(['-b=123']); 10 | t.deepEqual(argv, { b: 123, _: [] }); 11 | }); 12 | 13 | test('multi short -k=v', function (t) { 14 | t.plan(1); 15 | 16 | var argv = parse(['-a=whatever', '-b=robots']); 17 | t.deepEqual(argv, { a: 'whatever', b: 'robots', _: [] }); 18 | }); 19 | 20 | test('short with embedded equals -k=a=b', function (t) { 21 | t.plan(1); 22 | 23 | var argv = parse(['-k=a=b']); 24 | t.deepEqual(argv, { k: 'a=b', _: [] }); 25 | }); 26 | 27 | test('short with later equals like -ab=c', function (t) { 28 | t.plan(1); 29 | 30 | var argv = parse(['-ab=c']); 31 | t.deepEqual(argv, { a: true, b: 'c', _: [] }); 32 | }); 33 | -------------------------------------------------------------------------------- /api/node_modules/minimist/test/long.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var test = require('tape'); 4 | var parse = require('../'); 5 | 6 | test('long opts', function (t) { 7 | t.deepEqual( 8 | parse(['--bool']), 9 | { bool: true, _: [] }, 10 | 'long boolean' 11 | ); 12 | t.deepEqual( 13 | parse(['--pow', 'xixxle']), 14 | { pow: 'xixxle', _: [] }, 15 | 'long capture sp' 16 | ); 17 | t.deepEqual( 18 | parse(['--pow=xixxle']), 19 | { pow: 'xixxle', _: [] }, 20 | 'long capture eq' 21 | ); 22 | t.deepEqual( 23 | parse(['--host', 'localhost', '--port', '555']), 24 | { host: 'localhost', port: 555, _: [] }, 25 | 'long captures sp' 26 | ); 27 | t.deepEqual( 28 | parse(['--host=localhost', '--port=555']), 29 | { host: 'localhost', port: 555, _: [] }, 30 | 'long captures eq' 31 | ); 32 | t.end(); 33 | }); 34 | -------------------------------------------------------------------------------- /api/node_modules/minimist/test/parse_modified.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var parse = require('../'); 4 | var test = require('tape'); 5 | 6 | test('parse with modifier functions', function (t) { 7 | t.plan(1); 8 | 9 | var argv = parse(['-b', '123'], { boolean: 'b' }); 10 | t.deepEqual(argv, { b: true, _: [123] }); 11 | }); 12 | -------------------------------------------------------------------------------- /api/node_modules/minimist/test/stop_early.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var parse = require('../'); 4 | var test = require('tape'); 5 | 6 | test('stops parsing on the first non-option when stopEarly is set', function (t) { 7 | var argv = parse(['--aaa', 'bbb', 'ccc', '--ddd'], { 8 | stopEarly: true, 9 | }); 10 | 11 | t.deepEqual(argv, { 12 | aaa: 'bbb', 13 | _: ['ccc', '--ddd'], 14 | }); 15 | 16 | t.end(); 17 | }); 18 | -------------------------------------------------------------------------------- /api/node_modules/minimist/test/whitespace.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var parse = require('../'); 4 | var test = require('tape'); 5 | 6 | test('whitespace should be whitespace', function (t) { 7 | t.plan(1); 8 | var x = parse(['-x', '\t']).x; 9 | t.equal(x, '\t'); 10 | }); 11 | -------------------------------------------------------------------------------- /api/node_modules/mkdirp/bin/usage.txt: -------------------------------------------------------------------------------- 1 | usage: mkdirp [DIR1,DIR2..] {OPTIONS} 2 | 3 | Create each supplied directory including any necessary parent directories that 4 | don't yet exist. 5 | 6 | If the directory already exists, do nothing. 7 | 8 | OPTIONS are: 9 | 10 | -m, --mode If a directory needs to be created, set the mode as an octal 11 | permission string. 12 | 13 | -------------------------------------------------------------------------------- /api/node_modules/mkdirp/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mkdirp", 3 | "description": "Recursively mkdir, like `mkdir -p`", 4 | "version": "0.5.6", 5 | "publishConfig": { 6 | "tag": "legacy" 7 | }, 8 | "author": "James Halliday (http://substack.net)", 9 | "main": "index.js", 10 | "keywords": [ 11 | "mkdir", 12 | "directory" 13 | ], 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/substack/node-mkdirp.git" 17 | }, 18 | "scripts": { 19 | "test": "tap test/*.js" 20 | }, 21 | "dependencies": { 22 | "minimist": "^1.2.6" 23 | }, 24 | "devDependencies": { 25 | "tap": "^16.0.1" 26 | }, 27 | "bin": "bin/cmd.js", 28 | "license": "MIT", 29 | "files": [ 30 | "bin", 31 | "index.js" 32 | ] 33 | } 34 | -------------------------------------------------------------------------------- /api/node_modules/multer/lib/counter.js: -------------------------------------------------------------------------------- 1 | var EventEmitter = require('events').EventEmitter 2 | 3 | function Counter () { 4 | EventEmitter.call(this) 5 | this.value = 0 6 | } 7 | 8 | Counter.prototype = Object.create(EventEmitter.prototype) 9 | 10 | Counter.prototype.increment = function increment () { 11 | this.value++ 12 | } 13 | 14 | Counter.prototype.decrement = function decrement () { 15 | if (--this.value === 0) this.emit('zero') 16 | } 17 | 18 | Counter.prototype.isZero = function isZero () { 19 | return (this.value === 0) 20 | } 21 | 22 | Counter.prototype.onceZero = function onceZero (fn) { 23 | if (this.isZero()) return fn() 24 | 25 | this.once('zero', fn) 26 | } 27 | 28 | module.exports = Counter 29 | -------------------------------------------------------------------------------- /api/node_modules/multer/lib/multer-error.js: -------------------------------------------------------------------------------- 1 | var util = require('util') 2 | 3 | var errorMessages = { 4 | LIMIT_PART_COUNT: 'Too many parts', 5 | LIMIT_FILE_SIZE: 'File too large', 6 | LIMIT_FILE_COUNT: 'Too many files', 7 | LIMIT_FIELD_KEY: 'Field name too long', 8 | LIMIT_FIELD_VALUE: 'Field value too long', 9 | LIMIT_FIELD_COUNT: 'Too many fields', 10 | LIMIT_UNEXPECTED_FILE: 'Unexpected field', 11 | MISSING_FIELD_NAME: 'Field name missing' 12 | } 13 | 14 | function MulterError (code, field) { 15 | Error.captureStackTrace(this, this.constructor) 16 | this.name = this.constructor.name 17 | this.message = errorMessages[code] 18 | this.code = code 19 | if (field) this.field = field 20 | } 21 | 22 | util.inherits(MulterError, Error) 23 | 24 | module.exports = MulterError 25 | -------------------------------------------------------------------------------- /api/node_modules/multer/lib/remove-uploaded-files.js: -------------------------------------------------------------------------------- 1 | function removeUploadedFiles (uploadedFiles, remove, cb) { 2 | var length = uploadedFiles.length 3 | var errors = [] 4 | 5 | if (length === 0) return cb(null, errors) 6 | 7 | function handleFile (idx) { 8 | var file = uploadedFiles[idx] 9 | 10 | remove(file, function (err) { 11 | if (err) { 12 | err.file = file 13 | err.field = file.fieldname 14 | errors.push(err) 15 | } 16 | 17 | if (idx < length - 1) { 18 | handleFile(idx + 1) 19 | } else { 20 | cb(null, errors) 21 | } 22 | }) 23 | } 24 | 25 | handleFile(0) 26 | } 27 | 28 | module.exports = removeUploadedFiles 29 | -------------------------------------------------------------------------------- /api/node_modules/multer/storage/memory.js: -------------------------------------------------------------------------------- 1 | var concat = require('concat-stream') 2 | 3 | function MemoryStorage (opts) {} 4 | 5 | MemoryStorage.prototype._handleFile = function _handleFile (req, file, cb) { 6 | file.stream.pipe(concat({ encoding: 'buffer' }, function (data) { 7 | cb(null, { 8 | buffer: data, 9 | size: data.length 10 | }) 11 | })) 12 | } 13 | 14 | MemoryStorage.prototype._removeFile = function _removeFile (req, file, cb) { 15 | delete file.buffer 16 | cb(null) 17 | } 18 | 19 | module.exports = function (opts) { 20 | return new MemoryStorage(opts) 21 | } 22 | -------------------------------------------------------------------------------- /api/node_modules/mysql/lib/PoolSelector.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * PoolSelector 4 | */ 5 | var PoolSelector = module.exports = {}; 6 | 7 | PoolSelector.RR = function PoolSelectorRoundRobin() { 8 | var index = 0; 9 | 10 | return function(clusterIds) { 11 | if (index >= clusterIds.length) { 12 | index = 0; 13 | } 14 | 15 | var clusterId = clusterIds[index++]; 16 | 17 | return clusterId; 18 | }; 19 | }; 20 | 21 | PoolSelector.RANDOM = function PoolSelectorRandom() { 22 | return function(clusterIds) { 23 | return clusterIds[Math.floor(Math.random() * clusterIds.length)]; 24 | }; 25 | }; 26 | 27 | PoolSelector.ORDER = function PoolSelectorOrder() { 28 | return function(clusterIds) { 29 | return clusterIds[0]; 30 | }; 31 | }; 32 | -------------------------------------------------------------------------------- /api/node_modules/mysql/lib/protocol/BufferList.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = BufferList; 3 | function BufferList() { 4 | this.bufs = []; 5 | this.size = 0; 6 | } 7 | 8 | BufferList.prototype.shift = function shift() { 9 | var buf = this.bufs.shift(); 10 | 11 | if (buf) { 12 | this.size -= buf.length; 13 | } 14 | 15 | return buf; 16 | }; 17 | 18 | BufferList.prototype.push = function push(buf) { 19 | if (!buf || !buf.length) { 20 | return; 21 | } 22 | 23 | this.bufs.push(buf); 24 | this.size += buf.length; 25 | }; 26 | -------------------------------------------------------------------------------- /api/node_modules/mysql/lib/protocol/PacketHeader.js: -------------------------------------------------------------------------------- 1 | module.exports = PacketHeader; 2 | function PacketHeader(length, number) { 3 | this.length = length; 4 | this.number = number; 5 | } 6 | -------------------------------------------------------------------------------- /api/node_modules/mysql/lib/protocol/ResultSet.js: -------------------------------------------------------------------------------- 1 | module.exports = ResultSet; 2 | function ResultSet(resultSetHeaderPacket) { 3 | this.resultSetHeaderPacket = resultSetHeaderPacket; 4 | this.fieldPackets = []; 5 | this.eofPackets = []; 6 | this.rows = []; 7 | } 8 | -------------------------------------------------------------------------------- /api/node_modules/mysql/lib/protocol/SqlString.js: -------------------------------------------------------------------------------- 1 | module.exports = require('sqlstring'); 2 | -------------------------------------------------------------------------------- /api/node_modules/mysql/lib/protocol/packets/AuthSwitchRequestPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = AuthSwitchRequestPacket; 2 | function AuthSwitchRequestPacket(options) { 3 | options = options || {}; 4 | 5 | this.status = 0xfe; 6 | this.authMethodName = options.authMethodName; 7 | this.authMethodData = options.authMethodData; 8 | } 9 | 10 | AuthSwitchRequestPacket.prototype.parse = function parse(parser) { 11 | this.status = parser.parseUnsignedNumber(1); 12 | this.authMethodName = parser.parseNullTerminatedString(); 13 | this.authMethodData = parser.parsePacketTerminatedBuffer(); 14 | }; 15 | 16 | AuthSwitchRequestPacket.prototype.write = function write(writer) { 17 | writer.writeUnsignedNumber(1, this.status); 18 | writer.writeNullTerminatedString(this.authMethodName); 19 | writer.writeBuffer(this.authMethodData); 20 | }; 21 | -------------------------------------------------------------------------------- /api/node_modules/mysql/lib/protocol/packets/AuthSwitchResponsePacket.js: -------------------------------------------------------------------------------- 1 | module.exports = AuthSwitchResponsePacket; 2 | function AuthSwitchResponsePacket(options) { 3 | options = options || {}; 4 | 5 | this.data = options.data; 6 | } 7 | 8 | AuthSwitchResponsePacket.prototype.parse = function parse(parser) { 9 | this.data = parser.parsePacketTerminatedBuffer(); 10 | }; 11 | 12 | AuthSwitchResponsePacket.prototype.write = function write(writer) { 13 | writer.writeBuffer(this.data); 14 | }; 15 | -------------------------------------------------------------------------------- /api/node_modules/mysql/lib/protocol/packets/ComPingPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = ComPingPacket; 2 | function ComPingPacket() { 3 | this.command = 0x0e; 4 | } 5 | 6 | ComPingPacket.prototype.write = function(writer) { 7 | writer.writeUnsignedNumber(1, this.command); 8 | }; 9 | 10 | ComPingPacket.prototype.parse = function(parser) { 11 | this.command = parser.parseUnsignedNumber(1); 12 | }; 13 | -------------------------------------------------------------------------------- /api/node_modules/mysql/lib/protocol/packets/ComQueryPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = ComQueryPacket; 2 | function ComQueryPacket(sql) { 3 | this.command = 0x03; 4 | this.sql = sql; 5 | } 6 | 7 | ComQueryPacket.prototype.write = function(writer) { 8 | writer.writeUnsignedNumber(1, this.command); 9 | writer.writeString(this.sql); 10 | }; 11 | 12 | ComQueryPacket.prototype.parse = function(parser) { 13 | this.command = parser.parseUnsignedNumber(1); 14 | this.sql = parser.parsePacketTerminatedString(); 15 | }; 16 | -------------------------------------------------------------------------------- /api/node_modules/mysql/lib/protocol/packets/ComQuitPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = ComQuitPacket; 2 | function ComQuitPacket() { 3 | this.command = 0x01; 4 | } 5 | 6 | ComQuitPacket.prototype.parse = function parse(parser) { 7 | this.command = parser.parseUnsignedNumber(1); 8 | }; 9 | 10 | ComQuitPacket.prototype.write = function write(writer) { 11 | writer.writeUnsignedNumber(1, this.command); 12 | }; 13 | -------------------------------------------------------------------------------- /api/node_modules/mysql/lib/protocol/packets/ComStatisticsPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = ComStatisticsPacket; 2 | function ComStatisticsPacket() { 3 | this.command = 0x09; 4 | } 5 | 6 | ComStatisticsPacket.prototype.write = function(writer) { 7 | writer.writeUnsignedNumber(1, this.command); 8 | }; 9 | 10 | ComStatisticsPacket.prototype.parse = function(parser) { 11 | this.command = parser.parseUnsignedNumber(1); 12 | }; 13 | -------------------------------------------------------------------------------- /api/node_modules/mysql/lib/protocol/packets/EmptyPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = EmptyPacket; 2 | function EmptyPacket() { 3 | } 4 | 5 | EmptyPacket.prototype.parse = function parse() { 6 | }; 7 | 8 | EmptyPacket.prototype.write = function write() { 9 | }; 10 | -------------------------------------------------------------------------------- /api/node_modules/mysql/lib/protocol/packets/Field.js: -------------------------------------------------------------------------------- 1 | var Types = require('../constants/types'); 2 | 3 | module.exports = Field; 4 | function Field(options) { 5 | options = options || {}; 6 | 7 | this.parser = options.parser; 8 | this.packet = options.packet; 9 | this.db = options.packet.db; 10 | this.table = options.packet.table; 11 | this.name = options.packet.name; 12 | this.type = Types[options.packet.type]; 13 | this.length = options.packet.length; 14 | } 15 | 16 | Field.prototype.string = function () { 17 | return this.parser.parseLengthCodedString(); 18 | }; 19 | 20 | Field.prototype.buffer = function () { 21 | return this.parser.parseLengthCodedBuffer(); 22 | }; 23 | 24 | Field.prototype.geometry = function () { 25 | return this.parser.parseGeometryValue(); 26 | }; 27 | -------------------------------------------------------------------------------- /api/node_modules/mysql/lib/protocol/packets/LocalDataFilePacket.js: -------------------------------------------------------------------------------- 1 | module.exports = LocalDataFilePacket; 2 | 3 | /** 4 | * Create a new LocalDataFilePacket 5 | * @constructor 6 | * @param {Buffer} data The data contents of the packet 7 | * @public 8 | */ 9 | function LocalDataFilePacket(data) { 10 | this.data = data; 11 | } 12 | 13 | LocalDataFilePacket.prototype.write = function(writer) { 14 | writer.writeBuffer(this.data); 15 | }; 16 | -------------------------------------------------------------------------------- /api/node_modules/mysql/lib/protocol/packets/LocalInfileRequestPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = LocalInfileRequestPacket; 2 | function LocalInfileRequestPacket(options) { 3 | options = options || {}; 4 | 5 | this.filename = options.filename; 6 | } 7 | 8 | LocalInfileRequestPacket.prototype.parse = function parse(parser) { 9 | if (parser.parseLengthCodedNumber() !== null) { 10 | var err = new TypeError('Received invalid field length'); 11 | err.code = 'PARSER_INVALID_FIELD_LENGTH'; 12 | throw err; 13 | } 14 | 15 | this.filename = parser.parsePacketTerminatedString(); 16 | }; 17 | 18 | LocalInfileRequestPacket.prototype.write = function write(writer) { 19 | writer.writeLengthCodedNumber(null); 20 | writer.writeString(this.filename); 21 | }; 22 | -------------------------------------------------------------------------------- /api/node_modules/mysql/lib/protocol/packets/OldPasswordPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = OldPasswordPacket; 2 | function OldPasswordPacket(options) { 3 | options = options || {}; 4 | 5 | this.scrambleBuff = options.scrambleBuff; 6 | } 7 | 8 | OldPasswordPacket.prototype.parse = function(parser) { 9 | this.scrambleBuff = parser.parsePacketTerminatedBuffer(); 10 | }; 11 | 12 | OldPasswordPacket.prototype.write = function(writer) { 13 | writer.writeBuffer(this.scrambleBuff); 14 | }; 15 | -------------------------------------------------------------------------------- /api/node_modules/mysql/lib/protocol/packets/ResultSetHeaderPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = ResultSetHeaderPacket; 2 | function ResultSetHeaderPacket(options) { 3 | options = options || {}; 4 | 5 | this.fieldCount = options.fieldCount; 6 | } 7 | 8 | ResultSetHeaderPacket.prototype.parse = function(parser) { 9 | this.fieldCount = parser.parseLengthCodedNumber(); 10 | }; 11 | 12 | ResultSetHeaderPacket.prototype.write = function(writer) { 13 | writer.writeLengthCodedNumber(this.fieldCount); 14 | }; 15 | -------------------------------------------------------------------------------- /api/node_modules/mysql/lib/protocol/packets/StatisticsPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = StatisticsPacket; 2 | function StatisticsPacket() { 3 | this.message = undefined; 4 | } 5 | 6 | StatisticsPacket.prototype.parse = function(parser) { 7 | this.message = parser.parsePacketTerminatedString(); 8 | 9 | var items = this.message.split(/\s\s/); 10 | for (var i = 0; i < items.length; i++) { 11 | var m = items[i].match(/^(.+)\:\s+(.+)$/); 12 | if (m !== null) { 13 | this[m[1].toLowerCase().replace(/\s/g, '_')] = Number(m[2]); 14 | } 15 | } 16 | }; 17 | 18 | StatisticsPacket.prototype.write = function(writer) { 19 | writer.writeString(this.message); 20 | }; 21 | -------------------------------------------------------------------------------- /api/node_modules/mysql/lib/protocol/packets/UseOldPasswordPacket.js: -------------------------------------------------------------------------------- 1 | module.exports = UseOldPasswordPacket; 2 | function UseOldPasswordPacket(options) { 3 | options = options || {}; 4 | 5 | this.firstByte = options.firstByte || 0xfe; 6 | } 7 | 8 | UseOldPasswordPacket.prototype.parse = function(parser) { 9 | this.firstByte = parser.parseUnsignedNumber(1); 10 | }; 11 | 12 | UseOldPasswordPacket.prototype.write = function(writer) { 13 | writer.writeUnsignedNumber(1, this.firstByte); 14 | }; 15 | -------------------------------------------------------------------------------- /api/node_modules/mysql/lib/protocol/sequences/Ping.js: -------------------------------------------------------------------------------- 1 | var Sequence = require('./Sequence'); 2 | var Util = require('util'); 3 | var Packets = require('../packets'); 4 | 5 | module.exports = Ping; 6 | Util.inherits(Ping, Sequence); 7 | 8 | function Ping(options, callback) { 9 | if (!callback && typeof options === 'function') { 10 | callback = options; 11 | options = {}; 12 | } 13 | 14 | Sequence.call(this, options, callback); 15 | } 16 | 17 | Ping.prototype.start = function() { 18 | this.emit('packet', new Packets.ComPingPacket()); 19 | }; 20 | -------------------------------------------------------------------------------- /api/node_modules/mysql/lib/protocol/sequences/index.js: -------------------------------------------------------------------------------- 1 | exports.ChangeUser = require('./ChangeUser'); 2 | exports.Handshake = require('./Handshake'); 3 | exports.Ping = require('./Ping'); 4 | exports.Query = require('./Query'); 5 | exports.Quit = require('./Quit'); 6 | exports.Sequence = require('./Sequence'); 7 | exports.Statistics = require('./Statistics'); 8 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './typings/mysql/index.js'; 2 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/lib/auth_plugins/caching_sha2_password.md: -------------------------------------------------------------------------------- 1 | ## 2 | 3 | https://mysqlserverteam.com/mysql-8-0-4-new-default-authentication-plugin-caching_sha2_password/ 4 | 5 | ```js 6 | const mysql = require('mysql'); 7 | mysql.createConnection({ 8 | authPlugins: { 9 | caching_sha2_password: mysql.authPlugins.caching_sha2_password({ 10 | onServerPublikKey: function(key) { 11 | console.log(key); 12 | }, 13 | serverPublicKey: 'xxxyyy', 14 | overrideIsSecure: true // 15 | }) 16 | } 17 | }); 18 | ``` 19 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/lib/auth_plugins/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = { 4 | caching_sha2_password: require('./caching_sha2_password'), 5 | mysql_clear_password: require('./mysql_clear_password'), 6 | mysql_native_password: require('./mysql_native_password'), 7 | sha256_password: require('./sha256_password'), 8 | }; 9 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/lib/auth_plugins/mysql_clear_password.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | function bufferFromStr(str) { 4 | return Buffer.from(`${str}\0`); 5 | } 6 | 7 | const create_mysql_clear_password_plugin = pluginOptions => 8 | function mysql_clear_password_plugin({ connection, command }) { 9 | const password = 10 | command.password || pluginOptions.password || connection.config.password; 11 | 12 | return function (/* pluginData */) { 13 | return bufferFromStr(password); 14 | }; 15 | }; 16 | 17 | module.exports = create_mysql_clear_password_plugin; 18 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/lib/commands/close_statement.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const Command = require('./command'); 4 | const Packets = require('../packets/index.js'); 5 | 6 | class CloseStatement extends Command { 7 | constructor(id) { 8 | super(); 9 | this.id = id; 10 | } 11 | 12 | start(packet, connection) { 13 | connection.writePacket(new Packets.CloseStatement(this.id).toPacket(1)); 14 | return null; 15 | } 16 | } 17 | 18 | module.exports = CloseStatement; 19 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/lib/commands/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const ClientHandshake = require('./client_handshake.js'); 4 | const ServerHandshake = require('./server_handshake.js'); 5 | const Query = require('./query.js'); 6 | const Prepare = require('./prepare.js'); 7 | const CloseStatement = require('./close_statement.js'); 8 | const Execute = require('./execute.js'); 9 | const Ping = require('./ping.js'); 10 | const RegisterSlave = require('./register_slave.js'); 11 | const BinlogDump = require('./binlog_dump.js'); 12 | const ChangeUser = require('./change_user.js'); 13 | const Quit = require('./quit.js'); 14 | 15 | module.exports = { 16 | ClientHandshake, 17 | ServerHandshake, 18 | Query, 19 | Prepare, 20 | CloseStatement, 21 | Execute, 22 | Ping, 23 | RegisterSlave, 24 | BinlogDump, 25 | ChangeUser, 26 | Quit 27 | }; 28 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/lib/commands/quit.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const Command = require('./command.js'); 4 | const CommandCode = require('../constants/commands.js'); 5 | const Packet = require('../packets/packet.js'); 6 | 7 | class Quit extends Command { 8 | constructor(callback) { 9 | super(); 10 | this.onResult = callback; 11 | } 12 | 13 | start(packet, connection) { 14 | connection._closing = true; 15 | const quit = new Packet( 16 | 0, 17 | Buffer.from([1, 0, 0, 0, CommandCode.QUIT]), 18 | 0, 19 | 5 20 | ); 21 | if (this.onResult) { 22 | this.onResult(); 23 | } 24 | connection.writePacket(quit); 25 | return null; 26 | } 27 | } 28 | 29 | module.exports = Quit; 30 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/lib/commands/register_slave.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const Command = require('./command'); 4 | const Packets = require('../packets'); 5 | 6 | class RegisterSlave extends Command { 7 | constructor(opts, callback) { 8 | super(); 9 | this.onResult = callback; 10 | this.opts = opts; 11 | } 12 | 13 | start(packet, connection) { 14 | const newPacket = new Packets.RegisterSlave(this.opts); 15 | connection.writePacket(newPacket.toPacket(1)); 16 | return RegisterSlave.prototype.registerResponse; 17 | } 18 | 19 | registerResponse() { 20 | if (this.onResult) { 21 | process.nextTick(this.onResult.bind(this)); 22 | } 23 | return null; 24 | } 25 | } 26 | 27 | module.exports = RegisterSlave; 28 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/lib/constants/cursor.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = { 4 | NO_CURSOR: 0, 5 | READ_ONLY: 1, 6 | FOR_UPDATE: 2, 7 | SCROLLABLE: 3 8 | }; 9 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/lib/constants/session_track.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.SYSTEM_VARIABLES = 0; 4 | exports.SCHEMA = 1; 5 | exports.STATE_CHANGE = 2; 6 | exports.STATE_GTIDS = 3; 7 | exports.TRANSACTION_CHARACTERISTICS = 4; 8 | exports.TRANSACTION_STATE = 5; 9 | 10 | exports.FIRST_KEY = exports.SYSTEM_VARIABLES; 11 | exports.LAST_KEY = exports.TRANSACTION_STATE; 12 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/lib/packets/close_statement.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const Packet = require('../packets/packet'); 4 | const CommandCodes = require('../constants/commands'); 5 | 6 | class CloseStatement { 7 | constructor(id) { 8 | this.id = id; 9 | } 10 | 11 | // note: no response sent back 12 | toPacket() { 13 | const packet = new Packet(0, Buffer.allocUnsafe(9), 0, 9); 14 | packet.offset = 4; 15 | packet.writeInt8(CommandCodes.STMT_CLOSE); 16 | packet.writeInt32(this.id); 17 | return packet; 18 | } 19 | } 20 | 21 | module.exports = CloseStatement; 22 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/lib/packets/prepared_statement_header.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | class PreparedStatementHeader { 4 | constructor(packet) { 5 | packet.skip(1); // should be 0 6 | this.id = packet.readInt32(); 7 | this.fieldCount = packet.readInt16(); 8 | this.parameterCount = packet.readInt16(); 9 | packet.skip(1); // should be 0 10 | this.warningCount = packet.readInt16(); 11 | } 12 | } 13 | 14 | // TODO: toPacket 15 | 16 | module.exports = PreparedStatementHeader; 17 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/lib/packets/ssl_request.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const ClientConstants = require('../constants/client'); 4 | const Packet = require('../packets/packet'); 5 | 6 | class SSLRequest { 7 | constructor(flags, charset) { 8 | this.clientFlags = flags | ClientConstants.SSL; 9 | this.charset = charset; 10 | } 11 | 12 | toPacket() { 13 | const length = 36; 14 | const buffer = Buffer.allocUnsafe(length); 15 | const packet = new Packet(0, buffer, 0, length); 16 | buffer.fill(0); 17 | packet.offset = 4; 18 | packet.writeInt32(this.clientFlags); 19 | packet.writeInt32(0); // max packet size. todo: move to config 20 | packet.writeInt8(this.charset); 21 | return packet; 22 | } 23 | } 24 | 25 | module.exports = SSLRequest; 26 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/node_modules/iconv-lite/.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # Please see the documentation for all configuration options: 2 | # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 3 | 4 | version: 2 5 | updates: 6 | - package-ecosystem: "npm" 7 | directory: "/" 8 | schedule: 9 | interval: "daily" 10 | allow: 11 | - dependency-type: production 12 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/node_modules/iconv-lite/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/node_modules/iconv-lite/.idea/iconv-lite.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/node_modules/iconv-lite/.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/node_modules/iconv-lite/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/node_modules/iconv-lite/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/node_modules/lru-cache/dist/cjs/index-cjs.d.ts: -------------------------------------------------------------------------------- 1 | import LRUCache from './index.js'; 2 | declare const _default: typeof LRUCache & { 3 | default: typeof LRUCache; 4 | LRUCache: typeof LRUCache; 5 | }; 6 | export = _default; 7 | //# sourceMappingURL=index-cjs.d.ts.map -------------------------------------------------------------------------------- /api/node_modules/mysql2/node_modules/lru-cache/dist/cjs/index-cjs.d.ts.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"index-cjs.d.ts","sourceRoot":"","sources":["../../src/index-cjs.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAA;;;;;AAEjC,kBAAiE"} -------------------------------------------------------------------------------- /api/node_modules/mysql2/node_modules/lru-cache/dist/cjs/index-cjs.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __importDefault = (this && this.__importDefault) || function (mod) { 3 | return (mod && mod.__esModule) ? mod : { "default": mod }; 4 | }; 5 | const index_js_1 = __importDefault(require("./index.js")); 6 | module.exports = Object.assign(index_js_1.default, { default: index_js_1.default, LRUCache: index_js_1.default }); 7 | //# sourceMappingURL=index-cjs.js.map -------------------------------------------------------------------------------- /api/node_modules/mysql2/node_modules/lru-cache/dist/cjs/index-cjs.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"index-cjs.js","sourceRoot":"","sources":["../../src/index-cjs.ts"],"names":[],"mappings":";;;;AAAA,0DAAiC;AAEjC,iBAAS,MAAM,CAAC,MAAM,CAAC,kBAAQ,EAAE,EAAE,OAAO,EAAE,kBAAQ,EAAE,QAAQ,EAAR,kBAAQ,EAAE,CAAC,CAAA","sourcesContent":["import LRUCache from './index.js'\n\nexport = Object.assign(LRUCache, { default: LRUCache, LRUCache })\n"]} -------------------------------------------------------------------------------- /api/node_modules/mysql2/node_modules/lru-cache/dist/cjs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "commonjs" 3 | } 4 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/node_modules/lru-cache/dist/mjs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module" 3 | } 4 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/node_modules/sqlstring/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/SqlString'); 2 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/typings/mysql/LICENSE.txt: -------------------------------------------------------------------------------- 1 | ISC License 2 | 3 | Copyright (c) 2016, Felix Frederick Becker 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/typings/mysql/info.txt: -------------------------------------------------------------------------------- 1 | temporary workaround, see https://github.com/sidorares/node-mysql2/issues/1210 2 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/typings/mysql/lib/PoolConnection.d.ts: -------------------------------------------------------------------------------- 1 | import { Connection } from './Connection.js'; 2 | import { Pool as PromisePool } from '../../../promise.js'; 3 | 4 | declare class PoolConnection extends Connection { 5 | connection: Connection; 6 | release(): void; 7 | promise(promiseImpl?: PromiseConstructor): PromisePool; 8 | } 9 | 10 | export { PoolConnection }; 11 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/typings/mysql/lib/Server.d.ts: -------------------------------------------------------------------------------- 1 | import { EventEmitter } from 'events'; 2 | import { Connection } from './Connection.js'; 3 | 4 | declare class Server extends EventEmitter { 5 | connections: Array; 6 | 7 | listen(port: number): Server; 8 | close(callback: (error: Error, count: number) => any): void; 9 | } 10 | 11 | export { Server }; 12 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/typings/mysql/lib/constants/CharsetToEncoding.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Constant `CharsetToEncoding`. 3 | * 4 | * Please note that `CharsetToEncoding` can only be accessed from the `mysql` object and not imported directly. 5 | */ 6 | declare const CharsetToEncoding: string[]; 7 | 8 | export { CharsetToEncoding }; 9 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/typings/mysql/lib/constants/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Types } from './Types.js'; 2 | import { Charsets } from './Charsets.js'; 3 | import { CharsetToEncoding } from './CharsetToEncoding.js'; 4 | 5 | export { Types, Charsets, CharsetToEncoding }; 6 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/typings/mysql/lib/parsers/ParserCache.d.ts: -------------------------------------------------------------------------------- 1 | declare function setMaxParserCache(max: number): void; 2 | declare function clearParserCache(): void; 3 | 4 | export { setMaxParserCache, clearParserCache }; 5 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/typings/mysql/lib/parsers/index.d.ts: -------------------------------------------------------------------------------- 1 | import { setMaxParserCache, clearParserCache } from './ParserCache.js'; 2 | 3 | export { setMaxParserCache, clearParserCache }; 4 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/typings/mysql/lib/protocol/packets/Field.d.ts: -------------------------------------------------------------------------------- 1 | declare interface Field { 2 | constructor: { 3 | name: 'Field'; 4 | }; 5 | db: string; 6 | table: string; 7 | name: string; 8 | type: string; 9 | length: number; 10 | string: () => any; 11 | buffer: () => any; 12 | geometry: () => any; 13 | } 14 | 15 | export { Field }; 16 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/typings/mysql/lib/protocol/packets/FieldPacket.d.ts: -------------------------------------------------------------------------------- 1 | declare interface FieldPacket { 2 | constructor: { 3 | name: 'FieldPacket'; 4 | }; 5 | catalog: string; 6 | charsetNr?: number; 7 | db?: string; 8 | schema?: string; 9 | characterSet?: number; 10 | decimals: number; 11 | default?: any; 12 | flags: number | string[]; 13 | length?: number; 14 | name: string; 15 | orgName: string; 16 | orgTable: string; 17 | protocol41?: boolean; 18 | table: string; 19 | type?: number; 20 | columnType?: number 21 | zerofill?: boolean; 22 | typeName?: string; 23 | encoding?: string; 24 | columnLength?: number; 25 | } 26 | 27 | export { FieldPacket }; 28 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/typings/mysql/lib/protocol/packets/OkPacket.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @deprecated 3 | * `OkPacket` is deprecated and might be removed in the future major release. Please use `ResultSetHeader` instead. 4 | */ 5 | declare interface OkPacket { 6 | constructor: { 7 | name: 'OkPacket'; 8 | }; 9 | fieldCount: number; 10 | affectedRows: number; 11 | /** 12 | * @deprecated 13 | * `changedRows` is deprecated and might be removed in the future major release. Please use `affectedRows` property instead. 14 | */ 15 | changedRows: number; 16 | insertId: number; 17 | serverStatus: number; 18 | warningCount: number; 19 | message: string; 20 | procotol41: boolean; 21 | } 22 | 23 | export { OkPacket }; 24 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/typings/mysql/lib/protocol/packets/ProcedurePacket.d.ts: -------------------------------------------------------------------------------- 1 | import { OkPacket } from './OkPacket.js'; 2 | import { ResultSetHeader } from './ResultSetHeader.js'; 3 | import { RowDataPacket } from './RowDataPacket.js'; 4 | 5 | declare type ProcedureCallPacket< 6 | T = [RowDataPacket[], ResultSetHeader] | ResultSetHeader, 7 | > = T extends RowDataPacket[] 8 | ? [T, ResultSetHeader] 9 | : T extends ResultSetHeader | OkPacket 10 | ? ResultSetHeader 11 | : [RowDataPacket[], ResultSetHeader] | ResultSetHeader; 12 | 13 | export { ProcedureCallPacket }; 14 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/typings/mysql/lib/protocol/packets/ResultSetHeader.d.ts: -------------------------------------------------------------------------------- 1 | declare interface ResultSetHeader { 2 | constructor: { 3 | name: 'ResultSetHeader'; 4 | }; 5 | affectedRows: number; 6 | fieldCount: number; 7 | info: string; 8 | insertId: number; 9 | serverStatus: number; 10 | warningStatus: number; 11 | /** 12 | * @deprecated 13 | * `changedRows` is deprecated and might be removed in the future major release. Please use `affectedRows` property instead. 14 | */ 15 | changedRows: number; 16 | } 17 | 18 | export { ResultSetHeader }; 19 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/typings/mysql/lib/protocol/packets/RowDataPacket.d.ts: -------------------------------------------------------------------------------- 1 | declare interface RowDataPacket { 2 | constructor: { 3 | name: 'RowDataPacket'; 4 | }; 5 | [column: string]: any; 6 | [column: number]: any; 7 | } 8 | 9 | export { RowDataPacket }; 10 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/typings/mysql/lib/protocol/packets/index.d.ts: -------------------------------------------------------------------------------- 1 | import { OkPacket } from './OkPacket.js'; 2 | import { RowDataPacket } from './RowDataPacket.js'; 3 | import { FieldPacket } from './FieldPacket.js'; 4 | import { Field } from './Field.js'; 5 | import { ProcedureCallPacket } from './ProcedurePacket.js'; 6 | import { ResultSetHeader } from './ResultSetHeader.js'; 7 | import { OkPacketParams } from './params/OkPacketParams.js'; 8 | import { ErrorPacketParams } from './params/ErrorPacketParams.js'; 9 | 10 | export { 11 | OkPacket, 12 | RowDataPacket, 13 | FieldPacket, 14 | Field, 15 | ProcedureCallPacket, 16 | ResultSetHeader, 17 | OkPacketParams, 18 | ErrorPacketParams, 19 | }; 20 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/typings/mysql/lib/protocol/packets/params/ErrorPacketParams.d.ts: -------------------------------------------------------------------------------- 1 | declare interface ErrorPacketParams { 2 | message?: string; 3 | code?: number | string; 4 | } 5 | 6 | export { ErrorPacketParams }; 7 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/typings/mysql/lib/protocol/packets/params/OkPacketParams.d.ts: -------------------------------------------------------------------------------- 1 | declare interface OkPacketParams { 2 | affectedRows?: number; 3 | insertId?: number; 4 | serverStatus?: number; 5 | warningCount?: number; 6 | message?: string; 7 | } 8 | 9 | export { OkPacketParams }; 10 | -------------------------------------------------------------------------------- /api/node_modules/mysql2/typings/mysql/lib/protocol/sequences/Sequence.d.ts: -------------------------------------------------------------------------------- 1 | import { EventEmitter } from 'events'; 2 | 3 | declare class Sequence extends EventEmitter {} 4 | 5 | export { Sequence }; 6 | -------------------------------------------------------------------------------- /api/node_modules/named-placeholders/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "named-placeholders", 3 | "version": "1.1.3", 4 | "description": "sql named placeholders to unnamed compiler", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "mocha" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/sidorares/named-placeholders" 12 | }, 13 | "keywords": [ 14 | "sql", 15 | "pdo", 16 | "named", 17 | "placeholders" 18 | ], 19 | "engines": { 20 | "node": ">=12.0.0" 21 | }, 22 | "author": "Andrey Sidorov ", 23 | "files": [], 24 | "license": "MIT", 25 | "devDependencies": { 26 | "mocha": "^5.2.0", 27 | "should": "^13.2.3" 28 | }, 29 | "dependencies": { 30 | "lru-cache": "^7.14.1" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /api/node_modules/nodemon/.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true 3 | } 4 | -------------------------------------------------------------------------------- /api/node_modules/nodemon/bin/nodemon.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const cli = require('../lib/cli'); 4 | const nodemon = require('../lib/'); 5 | const options = cli.parse(process.argv); 6 | 7 | nodemon(options); 8 | 9 | const fs = require('fs'); 10 | 11 | // checks for available update and returns an instance 12 | const pkg = JSON.parse(fs.readFileSync(__dirname + '/../package.json')); 13 | 14 | if (pkg.version.indexOf('0.0.0') !== 0 && options.noUpdateNotifier !== true) { 15 | require('simple-update-notifier')({ pkg }); 16 | } 17 | -------------------------------------------------------------------------------- /api/node_modules/nodemon/bin/windows-kill.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hongspell/ReactBlog/76e2d7ab60ccfd4211994e7f6b06ad67df48d8b3/api/node_modules/nodemon/bin/windows-kill.exe -------------------------------------------------------------------------------- /api/node_modules/nodemon/doc/cli/authors.txt: -------------------------------------------------------------------------------- 1 | 2 | Remy Sharp - author and maintainer 3 | https://github.com/remy 4 | https://twitter.com/rem 5 | 6 | Contributors: https://github.com/remy/nodemon/graphs/contributors ❤︎ 7 | 8 | Please help make nodemon better: https://github.com/remy/nodemon/ 9 | -------------------------------------------------------------------------------- /api/node_modules/nodemon/doc/cli/topics.txt: -------------------------------------------------------------------------------- 1 | 2 | options .................. show all available nodemon options 3 | config ................... default config options using nodemon.json 4 | authors .................. contributors to this project 5 | logo ..................... <3 6 | whoami ................... I, AM, NODEMON \o/ 7 | 8 | Please support https://github.com/remy/nodemon/ 9 | -------------------------------------------------------------------------------- /api/node_modules/nodemon/doc/cli/usage.txt: -------------------------------------------------------------------------------- 1 | Usage: nodemon [nodemon options] [script.js] [args] 2 | 3 | See "nodemon --help" for more. 4 | -------------------------------------------------------------------------------- /api/node_modules/nodemon/lib/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./nodemon'); -------------------------------------------------------------------------------- /api/node_modules/nodemon/lib/monitor/index.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | run: require('./run'), 3 | watch: require('./watch').watch, 4 | }; 5 | -------------------------------------------------------------------------------- /api/node_modules/nodemon/lib/monitor/signals.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | SIGHUP: 1, 3 | SIGINT: 2, 4 | SIGQUIT: 3, 5 | SIGILL: 4, 6 | SIGTRAP: 5, 7 | SIGABRT: 6, 8 | SIGBUS: 7, 9 | SIGFPE: 8, 10 | SIGKILL: 9, 11 | SIGUSR1: 10, 12 | SIGSEGV: 11, 13 | SIGUSR2: 12, 14 | SIGPIPE: 13, 15 | SIGALRM: 14, 16 | SIGTERM: 15, 17 | SIGSTKFLT: 16, 18 | SIGCHLD: 17, 19 | SIGCONT: 18, 20 | SIGSTOP: 19, 21 | SIGTSTP: 20, 22 | SIGTTIN: 21, 23 | SIGTTOU: 22, 24 | SIGURG: 23, 25 | SIGXCPU: 24, 26 | SIGXFSZ: 25, 27 | SIGVTALRM: 26, 28 | SIGPROF: 27, 29 | SIGWINCH: 28, 30 | SIGIO: 29, 31 | SIGPWR: 30, 32 | SIGSYS: 31, 33 | SIGRTMIN: 35, 34 | } 35 | -------------------------------------------------------------------------------- /api/node_modules/nodemon/lib/utils/colour.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Encodes a string in a colour: red, yellow or green 3 | * @param {String} c colour to highlight in 4 | * @param {String} str the string to encode 5 | * @return {String} coloured string for terminal printing 6 | */ 7 | function colour(c, str) { 8 | return (colour[c] || colour.black) + str + colour.black; 9 | } 10 | 11 | function strip(str) { 12 | re.lastIndex = 0; // reset position 13 | return str.replace(re, ''); 14 | } 15 | 16 | colour.red = '\x1B[31m'; 17 | colour.yellow = '\x1B[33m'; 18 | colour.green = '\x1B[32m'; 19 | colour.black = '\x1B[39m'; 20 | 21 | var reStr = Object.keys(colour).map(key => colour[key]).join('|'); 22 | var re = new RegExp(('(' + reStr + ')').replace(/\[/g, '\\['), 'g'); 23 | 24 | colour.strip = strip; 25 | 26 | module.exports = colour; 27 | -------------------------------------------------------------------------------- /api/node_modules/nodemon/node_modules/debug/src/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Detect Electron renderer / nwjs process, which is node, but we should 3 | * treat as a browser. 4 | */ 5 | 6 | if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) { 7 | module.exports = require('./browser.js'); 8 | } else { 9 | module.exports = require('./node.js'); 10 | } 11 | -------------------------------------------------------------------------------- /api/node_modules/nopt/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hongspell/ReactBlog/76e2d7ab60ccfd4211994e7f6b06ad67df48d8b3/api/node_modules/nopt/.npmignore -------------------------------------------------------------------------------- /api/node_modules/nopt/package.json: -------------------------------------------------------------------------------- 1 | { "name" : "nopt" 2 | , "version" : "1.0.10" 3 | , "description" : "Option parsing for Node, supporting types, shorthands, etc. Used by npm." 4 | , "author" : "Isaac Z. Schlueter (http://blog.izs.me/)" 5 | , "main" : "lib/nopt.js" 6 | , "scripts" : { "test" : "node lib/nopt.js" } 7 | , "repository" : "http://github.com/isaacs/nopt" 8 | , "bin" : "./bin/nopt.js" 9 | , "license" : 10 | { "type" : "MIT" 11 | , "url" : "https://github.com/isaacs/nopt/raw/master/LICENSE" } 12 | , "dependencies" : { "abbrev" : "1" }} 13 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/node_modules/object-inspect/test/global.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var inspect = require('../'); 4 | 5 | var test = require('tape'); 6 | var globalThis = require('globalthis')(); 7 | 8 | test('global object', function (t) { 9 | /* eslint-env browser */ 10 | var expected = typeof window === 'undefined' ? 'globalThis' : 'Window'; 11 | t.equal( 12 | inspect([globalThis]), 13 | '[ { [object ' + expected + '] } ]' 14 | ); 15 | 16 | t.end(); 17 | }); 18 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/node_modules/object-inspect/util.inspect.js: -------------------------------------------------------------------------------- 1 | module.exports = require('util').inspect; 2 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/node_modules/picomatch/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('./lib/picomatch'); 4 | -------------------------------------------------------------------------------- /api/node_modules/process-nextick-args/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "process-nextick-args", 3 | "version": "2.0.1", 4 | "description": "process.nextTick but always with args", 5 | "main": "index.js", 6 | "files": [ 7 | "index.js" 8 | ], 9 | "scripts": { 10 | "test": "node test.js" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "https://github.com/calvinmetcalf/process-nextick-args.git" 15 | }, 16 | "author": "", 17 | "license": "MIT", 18 | "bugs": { 19 | "url": "https://github.com/calvinmetcalf/process-nextick-args/issues" 20 | }, 21 | "homepage": "https://github.com/calvinmetcalf/process-nextick-args", 22 | "devDependencies": { 23 | "tap": "~0.2.6" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /api/node_modules/process-nextick-args/readme.md: -------------------------------------------------------------------------------- 1 | process-nextick-args 2 | ===== 3 | 4 | [![Build Status](https://travis-ci.org/calvinmetcalf/process-nextick-args.svg?branch=master)](https://travis-ci.org/calvinmetcalf/process-nextick-args) 5 | 6 | ```bash 7 | npm install --save process-nextick-args 8 | ``` 9 | 10 | Always be able to pass arguments to process.nextTick, no matter the platform 11 | 12 | ```js 13 | var pna = require('process-nextick-args'); 14 | 15 | pna.nextTick(function (a, b, c) { 16 | console.log(a, b, c); 17 | }, 'step', 3, 'profit'); 18 | ``` 19 | -------------------------------------------------------------------------------- /api/node_modules/pstree.remy/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | cache: 3 | directories: 4 | - ~/.npm 5 | notifications: 6 | email: false 7 | node_js: 8 | - '8' 9 | -------------------------------------------------------------------------------- /api/node_modules/pstree.remy/README.md: -------------------------------------------------------------------------------- 1 | # pstree.remy 2 | 3 | > Cross platform ps-tree (including unix flavours without ps) 4 | 5 | ## Installation 6 | 7 | ```shel 8 | npm install pstree.remy 9 | ``` 10 | 11 | ## Usage 12 | 13 | ```js 14 | const psTree = psTree require('pstree.remy'); 15 | 16 | psTree(PID, (err, pids) => { 17 | if (err) { 18 | console.error(err); 19 | } 20 | console.log(pids) 21 | }); 22 | 23 | console.log(psTree.hasPS 24 | ? "This platform has the ps shell command" 25 | : "This platform does not have the ps shell command"); 26 | ``` 27 | -------------------------------------------------------------------------------- /api/node_modules/pstree.remy/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pstree.remy", 3 | "version": "1.1.8", 4 | "main": "lib/index.js", 5 | "prettier": { 6 | "trailingComma": "es5", 7 | "semi": true, 8 | "singleQuote": true 9 | }, 10 | "scripts": { 11 | "test": "tap tests/*.test.js", 12 | "_prepublish": "npm test" 13 | }, 14 | "keywords": [ 15 | "ps", 16 | "pstree", 17 | "ps tree" 18 | ], 19 | "author": "Remy Sharp", 20 | "license": "MIT", 21 | "repository": { 22 | "type": "git", 23 | "url": "https://github.com/remy/pstree.git" 24 | }, 25 | "devDependencies": { 26 | "tap": "^11.0.0" 27 | }, 28 | "directories": { 29 | "test": "tests" 30 | }, 31 | "dependencies": {}, 32 | "description": "Collects the full tree of processes from /proc" 33 | } 34 | -------------------------------------------------------------------------------- /api/node_modules/pstree.remy/tests/fixtures/index.js: -------------------------------------------------------------------------------- 1 | const spawn = require('child_process').spawn; 2 | function run() { 3 | spawn( 4 | 'sh', 5 | ['-c', 'node -e "setInterval(() => console.log(`running`), 200)"'], 6 | { 7 | stdio: 'pipe', 8 | } 9 | ); 10 | } 11 | 12 | var runCallCount = process.argv[2] || 1; 13 | for (var i = 0; i < runCallCount; i++) run(); 14 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/node_modules/readable-stream/duplex-browser.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/_stream_duplex.js'); 2 | -------------------------------------------------------------------------------- /api/node_modules/readable-stream/duplex.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./readable').Duplex 2 | -------------------------------------------------------------------------------- /api/node_modules/readable-stream/lib/internal/streams/stream-browser.js: -------------------------------------------------------------------------------- 1 | module.exports = require('events').EventEmitter; 2 | -------------------------------------------------------------------------------- /api/node_modules/readable-stream/lib/internal/streams/stream.js: -------------------------------------------------------------------------------- 1 | module.exports = require('stream'); 2 | -------------------------------------------------------------------------------- /api/node_modules/readable-stream/passthrough.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./readable').PassThrough 2 | -------------------------------------------------------------------------------- /api/node_modules/readable-stream/readable-browser.js: -------------------------------------------------------------------------------- 1 | exports = module.exports = require('./lib/_stream_readable.js'); 2 | exports.Stream = exports; 3 | exports.Readable = exports; 4 | exports.Writable = require('./lib/_stream_writable.js'); 5 | exports.Duplex = require('./lib/_stream_duplex.js'); 6 | exports.Transform = require('./lib/_stream_transform.js'); 7 | exports.PassThrough = require('./lib/_stream_passthrough.js'); 8 | -------------------------------------------------------------------------------- /api/node_modules/readable-stream/transform.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./readable').Transform 2 | -------------------------------------------------------------------------------- /api/node_modules/readable-stream/writable-browser.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/_stream_writable.js'); 2 | -------------------------------------------------------------------------------- /api/node_modules/readable-stream/writable.js: -------------------------------------------------------------------------------- 1 | var Stream = require("stream") 2 | var Writable = require("./lib/_stream_writable.js") 3 | 4 | if (process.env.READABLE_STREAM === 'disable') { 5 | module.exports = Stream && Stream.Writable || Writable 6 | } else { 7 | module.exports = Writable 8 | } 9 | -------------------------------------------------------------------------------- /api/node_modules/semver/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /api/node_modules/semver/classes/index.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | SemVer: require('./semver.js'), 3 | Range: require('./range.js'), 4 | Comparator: require('./comparator.js'), 5 | } 6 | -------------------------------------------------------------------------------- /api/node_modules/semver/functions/clean.js: -------------------------------------------------------------------------------- 1 | const parse = require('./parse') 2 | const clean = (version, options) => { 3 | const s = parse(version.trim().replace(/^[=v]+/, ''), options) 4 | return s ? s.version : null 5 | } 6 | module.exports = clean 7 | -------------------------------------------------------------------------------- /api/node_modules/semver/functions/compare-build.js: -------------------------------------------------------------------------------- 1 | const SemVer = require('../classes/semver') 2 | const compareBuild = (a, b, loose) => { 3 | const versionA = new SemVer(a, loose) 4 | const versionB = new SemVer(b, loose) 5 | return versionA.compare(versionB) || versionA.compareBuild(versionB) 6 | } 7 | module.exports = compareBuild 8 | -------------------------------------------------------------------------------- /api/node_modules/semver/functions/compare-loose.js: -------------------------------------------------------------------------------- 1 | const compare = require('./compare') 2 | const compareLoose = (a, b) => compare(a, b, true) 3 | module.exports = compareLoose 4 | -------------------------------------------------------------------------------- /api/node_modules/semver/functions/compare.js: -------------------------------------------------------------------------------- 1 | const SemVer = require('../classes/semver') 2 | const compare = (a, b, loose) => 3 | new SemVer(a, loose).compare(new SemVer(b, loose)) 4 | 5 | module.exports = compare 6 | -------------------------------------------------------------------------------- /api/node_modules/semver/functions/eq.js: -------------------------------------------------------------------------------- 1 | const compare = require('./compare') 2 | const eq = (a, b, loose) => compare(a, b, loose) === 0 3 | module.exports = eq 4 | -------------------------------------------------------------------------------- /api/node_modules/semver/functions/gt.js: -------------------------------------------------------------------------------- 1 | const compare = require('./compare') 2 | const gt = (a, b, loose) => compare(a, b, loose) > 0 3 | module.exports = gt 4 | -------------------------------------------------------------------------------- /api/node_modules/semver/functions/gte.js: -------------------------------------------------------------------------------- 1 | const compare = require('./compare') 2 | const gte = (a, b, loose) => compare(a, b, loose) >= 0 3 | module.exports = gte 4 | -------------------------------------------------------------------------------- /api/node_modules/semver/functions/inc.js: -------------------------------------------------------------------------------- 1 | const SemVer = require('../classes/semver') 2 | 3 | const inc = (version, release, options, identifier, identifierBase) => { 4 | if (typeof (options) === 'string') { 5 | identifierBase = identifier 6 | identifier = options 7 | options = undefined 8 | } 9 | 10 | try { 11 | return new SemVer( 12 | version instanceof SemVer ? version.version : version, 13 | options 14 | ).inc(release, identifier, identifierBase).version 15 | } catch (er) { 16 | return null 17 | } 18 | } 19 | module.exports = inc 20 | -------------------------------------------------------------------------------- /api/node_modules/semver/functions/lt.js: -------------------------------------------------------------------------------- 1 | const compare = require('./compare') 2 | const lt = (a, b, loose) => compare(a, b, loose) < 0 3 | module.exports = lt 4 | -------------------------------------------------------------------------------- /api/node_modules/semver/functions/lte.js: -------------------------------------------------------------------------------- 1 | const compare = require('./compare') 2 | const lte = (a, b, loose) => compare(a, b, loose) <= 0 3 | module.exports = lte 4 | -------------------------------------------------------------------------------- /api/node_modules/semver/functions/major.js: -------------------------------------------------------------------------------- 1 | const SemVer = require('../classes/semver') 2 | const major = (a, loose) => new SemVer(a, loose).major 3 | module.exports = major 4 | -------------------------------------------------------------------------------- /api/node_modules/semver/functions/minor.js: -------------------------------------------------------------------------------- 1 | const SemVer = require('../classes/semver') 2 | const minor = (a, loose) => new SemVer(a, loose).minor 3 | module.exports = minor 4 | -------------------------------------------------------------------------------- /api/node_modules/semver/functions/neq.js: -------------------------------------------------------------------------------- 1 | const compare = require('./compare') 2 | const neq = (a, b, loose) => compare(a, b, loose) !== 0 3 | module.exports = neq 4 | -------------------------------------------------------------------------------- /api/node_modules/semver/functions/parse.js: -------------------------------------------------------------------------------- 1 | const SemVer = require('../classes/semver') 2 | const parse = (version, options, throwErrors = false) => { 3 | if (version instanceof SemVer) { 4 | return version 5 | } 6 | try { 7 | return new SemVer(version, options) 8 | } catch (er) { 9 | if (!throwErrors) { 10 | return null 11 | } 12 | throw er 13 | } 14 | } 15 | 16 | module.exports = parse 17 | -------------------------------------------------------------------------------- /api/node_modules/semver/functions/patch.js: -------------------------------------------------------------------------------- 1 | const SemVer = require('../classes/semver') 2 | const patch = (a, loose) => new SemVer(a, loose).patch 3 | module.exports = patch 4 | -------------------------------------------------------------------------------- /api/node_modules/semver/functions/prerelease.js: -------------------------------------------------------------------------------- 1 | const parse = require('./parse') 2 | const prerelease = (version, options) => { 3 | const parsed = parse(version, options) 4 | return (parsed && parsed.prerelease.length) ? parsed.prerelease : null 5 | } 6 | module.exports = prerelease 7 | -------------------------------------------------------------------------------- /api/node_modules/semver/functions/rcompare.js: -------------------------------------------------------------------------------- 1 | const compare = require('./compare') 2 | const rcompare = (a, b, loose) => compare(b, a, loose) 3 | module.exports = rcompare 4 | -------------------------------------------------------------------------------- /api/node_modules/semver/functions/rsort.js: -------------------------------------------------------------------------------- 1 | const compareBuild = require('./compare-build') 2 | const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose)) 3 | module.exports = rsort 4 | -------------------------------------------------------------------------------- /api/node_modules/semver/functions/satisfies.js: -------------------------------------------------------------------------------- 1 | const Range = require('../classes/range') 2 | const satisfies = (version, range, options) => { 3 | try { 4 | range = new Range(range, options) 5 | } catch (er) { 6 | return false 7 | } 8 | return range.test(version) 9 | } 10 | module.exports = satisfies 11 | -------------------------------------------------------------------------------- /api/node_modules/semver/functions/sort.js: -------------------------------------------------------------------------------- 1 | const compareBuild = require('./compare-build') 2 | const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose)) 3 | module.exports = sort 4 | -------------------------------------------------------------------------------- /api/node_modules/semver/functions/valid.js: -------------------------------------------------------------------------------- 1 | const parse = require('./parse') 2 | const valid = (version, options) => { 3 | const v = parse(version, options) 4 | return v ? v.version : null 5 | } 6 | module.exports = valid 7 | -------------------------------------------------------------------------------- /api/node_modules/semver/internal/debug.js: -------------------------------------------------------------------------------- 1 | const debug = ( 2 | typeof process === 'object' && 3 | process.env && 4 | process.env.NODE_DEBUG && 5 | /\bsemver\b/i.test(process.env.NODE_DEBUG) 6 | ) ? (...args) => console.error('SEMVER', ...args) 7 | : () => {} 8 | 9 | module.exports = debug 10 | -------------------------------------------------------------------------------- /api/node_modules/semver/internal/identifiers.js: -------------------------------------------------------------------------------- 1 | const numeric = /^[0-9]+$/ 2 | const compareIdentifiers = (a, b) => { 3 | const anum = numeric.test(a) 4 | const bnum = numeric.test(b) 5 | 6 | if (anum && bnum) { 7 | a = +a 8 | b = +b 9 | } 10 | 11 | return a === b ? 0 12 | : (anum && !bnum) ? -1 13 | : (bnum && !anum) ? 1 14 | : a < b ? -1 15 | : 1 16 | } 17 | 18 | const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a) 19 | 20 | module.exports = { 21 | compareIdentifiers, 22 | rcompareIdentifiers, 23 | } 24 | -------------------------------------------------------------------------------- /api/node_modules/semver/internal/parse-options.js: -------------------------------------------------------------------------------- 1 | // parse out just the options we care about 2 | const looseOption = Object.freeze({ loose: true }) 3 | const emptyOpts = Object.freeze({ }) 4 | const parseOptions = options => { 5 | if (!options) { 6 | return emptyOpts 7 | } 8 | 9 | if (typeof options !== 'object') { 10 | return looseOption 11 | } 12 | 13 | return options 14 | } 15 | module.exports = parseOptions 16 | -------------------------------------------------------------------------------- /api/node_modules/semver/preload.js: -------------------------------------------------------------------------------- 1 | // XXX remove in v8 or beyond 2 | module.exports = require('./index.js') 3 | -------------------------------------------------------------------------------- /api/node_modules/semver/range.bnf: -------------------------------------------------------------------------------- 1 | range-set ::= range ( logical-or range ) * 2 | logical-or ::= ( ' ' ) * '||' ( ' ' ) * 3 | range ::= hyphen | simple ( ' ' simple ) * | '' 4 | hyphen ::= partial ' - ' partial 5 | simple ::= primitive | partial | tilde | caret 6 | primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial 7 | partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )? 8 | xr ::= 'x' | 'X' | '*' | nr 9 | nr ::= '0' | [1-9] ( [0-9] ) * 10 | tilde ::= '~' partial 11 | caret ::= '^' partial 12 | qualifier ::= ( '-' pre )? ( '+' build )? 13 | pre ::= parts 14 | build ::= parts 15 | parts ::= part ( '.' part ) * 16 | part ::= nr | [-0-9A-Za-z]+ 17 | -------------------------------------------------------------------------------- /api/node_modules/semver/ranges/gtr.js: -------------------------------------------------------------------------------- 1 | // Determine if version is greater than all the versions possible in the range. 2 | const outside = require('./outside') 3 | const gtr = (version, range, options) => outside(version, range, '>', options) 4 | module.exports = gtr 5 | -------------------------------------------------------------------------------- /api/node_modules/semver/ranges/intersects.js: -------------------------------------------------------------------------------- 1 | const Range = require('../classes/range') 2 | const intersects = (r1, r2, options) => { 3 | r1 = new Range(r1, options) 4 | r2 = new Range(r2, options) 5 | return r1.intersects(r2, options) 6 | } 7 | module.exports = intersects 8 | -------------------------------------------------------------------------------- /api/node_modules/semver/ranges/ltr.js: -------------------------------------------------------------------------------- 1 | const outside = require('./outside') 2 | // Determine if version is less than all the versions possible in the range 3 | const ltr = (version, range, options) => outside(version, range, '<', options) 4 | module.exports = ltr 5 | -------------------------------------------------------------------------------- /api/node_modules/semver/ranges/max-satisfying.js: -------------------------------------------------------------------------------- 1 | const SemVer = require('../classes/semver') 2 | const Range = require('../classes/range') 3 | 4 | const maxSatisfying = (versions, range, options) => { 5 | let max = null 6 | let maxSV = null 7 | let rangeObj = null 8 | try { 9 | rangeObj = new Range(range, options) 10 | } catch (er) { 11 | return null 12 | } 13 | versions.forEach((v) => { 14 | if (rangeObj.test(v)) { 15 | // satisfies(v, range, options) 16 | if (!max || maxSV.compare(v) === -1) { 17 | // compare(max, v, true) 18 | max = v 19 | maxSV = new SemVer(max, options) 20 | } 21 | } 22 | }) 23 | return max 24 | } 25 | module.exports = maxSatisfying 26 | -------------------------------------------------------------------------------- /api/node_modules/semver/ranges/min-satisfying.js: -------------------------------------------------------------------------------- 1 | const SemVer = require('../classes/semver') 2 | const Range = require('../classes/range') 3 | const minSatisfying = (versions, range, options) => { 4 | let min = null 5 | let minSV = null 6 | let rangeObj = null 7 | try { 8 | rangeObj = new Range(range, options) 9 | } catch (er) { 10 | return null 11 | } 12 | versions.forEach((v) => { 13 | if (rangeObj.test(v)) { 14 | // satisfies(v, range, options) 15 | if (!min || minSV.compare(v) === 1) { 16 | // compare(min, v, true) 17 | min = v 18 | minSV = new SemVer(min, options) 19 | } 20 | } 21 | }) 22 | return min 23 | } 24 | module.exports = minSatisfying 25 | -------------------------------------------------------------------------------- /api/node_modules/semver/ranges/to-comparators.js: -------------------------------------------------------------------------------- 1 | const Range = require('../classes/range') 2 | 3 | // Mostly just for testing and legacy API reasons 4 | const toComparators = (range, options) => 5 | new Range(range, options).set 6 | .map(comp => comp.map(c => c.value).join(' ').trim().split(' ')) 7 | 8 | module.exports = toComparators 9 | -------------------------------------------------------------------------------- /api/node_modules/semver/ranges/valid.js: -------------------------------------------------------------------------------- 1 | const Range = require('../classes/range') 2 | const validRange = (range, options) => { 3 | try { 4 | // Return '*' instead of '' so that truthiness works. 5 | // This will throw if it's invalid anyway 6 | return new Range(range, options).range || '*' 7 | } catch (er) { 8 | return null 9 | } 10 | } 11 | module.exports = validRange 12 | -------------------------------------------------------------------------------- /api/node_modules/seq-queue/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "predef": [ 3 | "describe", 4 | "it", 5 | "before", 6 | "after", 7 | "window", 8 | "__resources__" 9 | ], 10 | "es5": true, 11 | "node": true, 12 | "eqeqeq": true, 13 | "undef": true, 14 | "curly": true, 15 | "bitwise": true, 16 | "immed": false, 17 | "newcap": true, 18 | "nonew": true 19 | } 20 | -------------------------------------------------------------------------------- /api/node_modules/seq-queue/.npmignore: -------------------------------------------------------------------------------- 1 | .project 2 | node_modules/ 3 | lib/doc/ 4 | -------------------------------------------------------------------------------- /api/node_modules/seq-queue/AUTHORS: -------------------------------------------------------------------------------- 1 | * Yongchang Zhou -------------------------------------------------------------------------------- /api/node_modules/seq-queue/Makefile: -------------------------------------------------------------------------------- 1 | TESTS = test/*.js 2 | REPORTER = spec 3 | TIMEOUT = 5000 4 | 5 | test: 6 | @./node_modules/.bin/mocha \ 7 | --reporter $(REPORTER) --timeout $(TIMEOUT) $(TESTS) 8 | 9 | .PHONY: test -------------------------------------------------------------------------------- /api/node_modules/seq-queue/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/seq-queue'); -------------------------------------------------------------------------------- /api/node_modules/seq-queue/lib/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hongspell/ReactBlog/76e2d7ab60ccfd4211994e7f6b06ad67df48d8b3/api/node_modules/seq-queue/lib/.npmignore -------------------------------------------------------------------------------- /api/node_modules/seq-queue/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "seq-queue", 3 | "author": "changchang ", 4 | "version": "0.0.5", 5 | "description": "A simple tool to keep requests to be executed in order.", 6 | "homepage": "https://github.com/changchang/seq-queue", 7 | "repository": { 8 | "type": "git", 9 | "url": "git@github.com:changchang/seq-queue.git" 10 | }, 11 | "dependencies": { 12 | }, 13 | "devDependencies": { 14 | "mocha": ">=0.0.1", 15 | "should": ">=0.0.1" 16 | } 17 | } -------------------------------------------------------------------------------- /api/node_modules/set-function-length/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "rules": { 7 | "id-length": "off", 8 | "new-cap": ["error", { 9 | "capIsNewExceptions": [ 10 | "GetIntrinsic" 11 | ], 12 | }], 13 | "no-extra-parens": "off", 14 | }, 15 | 16 | "overrides": [ 17 | { 18 | "files": ["test/**/*.js"], 19 | "rules": { 20 | "id-length": "off", 21 | "max-lines-per-function": "off", 22 | "multiline-comment-style": "off", 23 | "no-empty-function": "off", 24 | }, 25 | }, 26 | ], 27 | } 28 | -------------------------------------------------------------------------------- /api/node_modules/set-function-length/.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/set-function-name 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 | -------------------------------------------------------------------------------- /api/node_modules/set-function-length/.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 | -------------------------------------------------------------------------------- /api/node_modules/set-function-length/env.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var gOPD = require('gopd'); 4 | 5 | var functionsHaveConfigurableLengths = gOPD && gOPD(function () {}, 'length').configurable; 6 | 7 | var functionsHaveWritableLengths = gOPD && gOPD(function () {}, 'length').writable; 8 | 9 | var boundFnsHaveConfigurableLengths = gOPD && gOPD(function () {}.bind(), 'length').configurable; 10 | 11 | var boundFnsHaveWritableLengths = gOPD && gOPD(function () {}.bind(), 'length').writable; 12 | 13 | module.exports = { 14 | __proto__: null, 15 | boundFnsHaveConfigurableLengths: boundFnsHaveConfigurableLengths, 16 | boundFnsHaveWritableLengths: boundFnsHaveWritableLengths, 17 | functionsHaveConfigurableLengths: functionsHaveConfigurableLengths, 18 | functionsHaveWritableLengths: functionsHaveWritableLengths 19 | }; 20 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/node_modules/setprototypeof/index.d.ts: -------------------------------------------------------------------------------- 1 | declare function setPrototypeOf(o: any, proto: object | null): any; 2 | export = setPrototypeOf; 3 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/node_modules/side-channel/.eslintignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/node_modules/simple-update-notifier/build/index.d.ts: -------------------------------------------------------------------------------- 1 | interface IUpdate { 2 | pkg: { 3 | name: string; 4 | version: string; 5 | }; 6 | updateCheckInterval?: number; 7 | shouldNotifyInNpmScript?: boolean; 8 | distTag?: string; 9 | alwaysRun?: boolean; 10 | debug?: boolean; 11 | } 12 | declare const simpleUpdateNotifier: (args: IUpdate) => Promise; 13 | export { simpleUpdateNotifier as default }; 14 | -------------------------------------------------------------------------------- /api/node_modules/simple-update-notifier/src/borderedText.ts: -------------------------------------------------------------------------------- 1 | const borderedText = (text: string) => { 2 | const lines = text.split('\n'); 3 | const width = Math.max(...lines.map((l) => l.length)); 4 | const res = [`┌${'─'.repeat(width + 2)}┐`]; 5 | for (const line of lines) { 6 | res.push(`│ ${line.padEnd(width)} │`); 7 | } 8 | res.push(`└${'─'.repeat(width + 2)}┘`); 9 | return res.join('\n'); 10 | }; 11 | 12 | export default borderedText; 13 | -------------------------------------------------------------------------------- /api/node_modules/simple-update-notifier/src/cache.spec.ts: -------------------------------------------------------------------------------- 1 | import { createConfigDir, getLastUpdate, saveLastUpdate } from './cache'; 2 | 3 | createConfigDir(); 4 | 5 | jest.useFakeTimers().setSystemTime(new Date('2022-01-01')); 6 | 7 | const fakeTime = new Date('2022-01-01').getTime(); 8 | 9 | test('can save update then get the update details', () => { 10 | saveLastUpdate('test'); 11 | expect(getLastUpdate('test')).toBe(fakeTime); 12 | }); 13 | 14 | test('prefixed module can save update then get the update details', () => { 15 | saveLastUpdate('@alexbrazier/test'); 16 | expect(getLastUpdate('@alexbrazier/test')).toBe(fakeTime); 17 | }); 18 | -------------------------------------------------------------------------------- /api/node_modules/simple-update-notifier/src/isNpmOrYarn.ts: -------------------------------------------------------------------------------- 1 | import process from 'process'; 2 | 3 | const packageJson = process.env.npm_package_json; 4 | const userAgent = process.env.npm_config_user_agent; 5 | const isNpm6 = Boolean(userAgent && userAgent.startsWith('npm')); 6 | const isNpm7 = Boolean(packageJson && packageJson.endsWith('package.json')); 7 | 8 | const isNpm = isNpm6 || isNpm7; 9 | const isYarn = Boolean(userAgent && userAgent.startsWith('yarn')); 10 | const isNpmOrYarn = isNpm || isYarn; 11 | 12 | export default isNpmOrYarn; 13 | -------------------------------------------------------------------------------- /api/node_modules/simple-update-notifier/src/types.ts: -------------------------------------------------------------------------------- 1 | export interface IUpdate { 2 | pkg: { name: string; version: string }; 3 | updateCheckInterval?: number; 4 | shouldNotifyInNpmScript?: boolean; 5 | distTag?: string; 6 | alwaysRun?: boolean; 7 | debug?: boolean; 8 | } 9 | -------------------------------------------------------------------------------- /api/node_modules/sqlstring/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/SqlString'); 2 | -------------------------------------------------------------------------------- /api/node_modules/streamsearch/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = { 4 | extends: '@mscdex/eslint-config', 5 | }; 6 | -------------------------------------------------------------------------------- /api/node_modules/streamsearch/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | pull_request: 5 | push: 6 | branches: [ master ] 7 | 8 | jobs: 9 | tests-linux: 10 | runs-on: ubuntu-latest 11 | strategy: 12 | fail-fast: false 13 | matrix: 14 | node-version: [10.x, 12.x, 14.x, 16.x] 15 | steps: 16 | - uses: actions/checkout@v2 17 | - name: Use Node.js ${{ matrix.node-version }} 18 | uses: actions/setup-node@v1 19 | with: 20 | node-version: ${{ matrix.node-version }} 21 | - name: Install module 22 | run: npm install 23 | - name: Run tests 24 | run: npm test 25 | -------------------------------------------------------------------------------- /api/node_modules/streamsearch/.github/workflows/lint.yml: -------------------------------------------------------------------------------- 1 | name: lint 2 | 3 | on: 4 | pull_request: 5 | push: 6 | branches: [ master ] 7 | 8 | env: 9 | NODE_VERSION: 16.x 10 | 11 | jobs: 12 | lint-js: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - uses: actions/checkout@v2 16 | - name: Use Node.js ${{ env.NODE_VERSION }} 17 | uses: actions/setup-node@v1 18 | with: 19 | node-version: ${{ env.NODE_VERSION }} 20 | - name: Install ESLint + ESLint configs/plugins 21 | run: npm install --only=dev 22 | - name: Lint files 23 | run: npm run lint 24 | -------------------------------------------------------------------------------- /api/node_modules/supports-color/browser.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | stdout: false, 4 | stderr: false 5 | }; 6 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/node_modules/touch/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 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /api/node_modules/touch/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Isaac Z. Schlueter (http://blog.izs.me/)", 3 | "name": "touch", 4 | "description": "like touch(1) in node", 5 | "version": "3.1.0", 6 | "repository": "git://github.com/isaacs/node-touch.git", 7 | "bin": { 8 | "nodetouch": "./bin/nodetouch.js" 9 | }, 10 | "dependencies": { 11 | "nopt": "~1.0.10" 12 | }, 13 | "license": "ISC", 14 | "scripts": { 15 | "test": "tap test/*.js --100 -J", 16 | "preversion": "npm test", 17 | "postversion": "npm publish", 18 | "postpublish": "git push origin --all; git push origin --tags" 19 | }, 20 | "devDependencies": { 21 | "mutate-fs": "^1.1.0", 22 | "tap": "^10.7.0" 23 | }, 24 | "files": [ 25 | "index.js", 26 | "bin/nodetouch.js" 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /api/node_modules/typedarray/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | -------------------------------------------------------------------------------- /api/node_modules/typedarray/example/tarray.js: -------------------------------------------------------------------------------- 1 | var Uint8Array = require('../').Uint8Array; 2 | var ua = new Uint8Array(5); 3 | ua[1] = 256 + 55; 4 | console.log(ua[1]); 5 | -------------------------------------------------------------------------------- /api/node_modules/typedarray/test/server/undef_globals.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var vm = require('vm'); 3 | var fs = require('fs'); 4 | var src = fs.readFileSync(__dirname + '/../../index.js', 'utf8'); 5 | 6 | test('u8a without globals', function (t) { 7 | var c = { 8 | module: { exports: {} }, 9 | }; 10 | c.exports = c.module.exports; 11 | vm.runInNewContext(src, c); 12 | var TA = c.module.exports; 13 | var ua = new(TA.Uint8Array)(5); 14 | 15 | t.equal(ua.length, 5); 16 | ua[1] = 256 + 55; 17 | t.equal(ua[1], 55); 18 | t.end(); 19 | }); 20 | -------------------------------------------------------------------------------- /api/node_modules/typedarray/test/tarray.js: -------------------------------------------------------------------------------- 1 | var TA = require('../'); 2 | var test = require('tape'); 3 | 4 | test('tiny u8a test', function (t) { 5 | var ua = new(TA.Uint8Array)(5); 6 | t.equal(ua.length, 5); 7 | ua[1] = 256 + 55; 8 | t.equal(ua[1], 55); 9 | t.end(); 10 | }); 11 | -------------------------------------------------------------------------------- /api/node_modules/undefsafe/.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | on: 3 | push: 4 | branches: 5 | - master 6 | jobs: 7 | release: 8 | name: Release 9 | runs-on: ubuntu-18.04 10 | steps: 11 | - name: Checkout 12 | uses: actions/checkout@v1 13 | - name: Setup Node.js 14 | uses: actions/setup-node@v1 15 | with: 16 | node-version: 16 17 | - name: Install dependencies 18 | run: npm ci 19 | - name: Test 20 | run: npm run test 21 | - name: Release 22 | env: 23 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 24 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 25 | run: npx semantic-release 26 | -------------------------------------------------------------------------------- /api/node_modules/undefsafe/.jscsrc: -------------------------------------------------------------------------------- 1 | { 2 | "preset": "node-style-guide", 3 | "requireCapitalizedComments": null, 4 | "requireSpacesInAnonymousFunctionExpression": { 5 | "beforeOpeningCurlyBrace": true, 6 | "beforeOpeningRoundBrace": true 7 | }, 8 | "disallowSpacesInNamedFunctionExpression": { 9 | "beforeOpeningRoundBrace": true 10 | }, 11 | "excludeFiles": ["node_modules/**"], 12 | "disallowSpacesInFunction": null 13 | } 14 | -------------------------------------------------------------------------------- /api/node_modules/undefsafe/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "browser": false, 3 | "camelcase": true, 4 | "curly": true, 5 | "devel": true, 6 | "eqeqeq": true, 7 | "forin": true, 8 | "indent": 2, 9 | "noarg": true, 10 | "node": true, 11 | "quotmark": "single", 12 | "undef": true, 13 | "strict": false, 14 | "unused": true 15 | } 16 | 17 | -------------------------------------------------------------------------------- /api/node_modules/undefsafe/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: node_js 3 | cache: 4 | directories: 5 | - node_modules 6 | notifications: 7 | email: false 8 | node_js: 9 | - '4' 10 | before_install: 11 | - npm i -g npm@^2.0.0 12 | before_script: 13 | - npm prune 14 | after_success: 15 | - npm run semantic-release 16 | branches: 17 | except: 18 | - "/^v\\d+\\.\\d+\\.\\d+$/" 19 | -------------------------------------------------------------------------------- /api/node_modules/undefsafe/example.js: -------------------------------------------------------------------------------- 1 | var undefsafe = require('undefsafe'); 2 | 3 | var object = { 4 | a: { 5 | b: { 6 | c: 1, 7 | d: [1, 2, 3], 8 | e: 'remy' 9 | } 10 | } 11 | }; 12 | 13 | console.log(undefsafe(object, 'a.b.e')); // "remy" 14 | console.log(undefsafe(object, 'a.b.not.found')); // undefined 15 | -------------------------------------------------------------------------------- /api/node_modules/unpipe/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.0 / 2015-06-14 2 | ================== 3 | 4 | * Initial release 5 | -------------------------------------------------------------------------------- /api/node_modules/util-deprecate/History.md: -------------------------------------------------------------------------------- 1 | 2 | 1.0.2 / 2015-10-07 3 | ================== 4 | 5 | * use try/catch when checking `localStorage` (#3, @kumavis) 6 | 7 | 1.0.1 / 2014-11-25 8 | ================== 9 | 10 | * browser: use `console.warn()` for deprecation calls 11 | * browser: more jsdocs 12 | 13 | 1.0.0 / 2014-04-30 14 | ================== 15 | 16 | * initial commit 17 | -------------------------------------------------------------------------------- /api/node_modules/util-deprecate/node.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * For Node.js, simply re-export the core `util.deprecate` function. 4 | */ 5 | 6 | module.exports = require('util').deprecate; 7 | -------------------------------------------------------------------------------- /api/node_modules/util-deprecate/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "util-deprecate", 3 | "version": "1.0.2", 4 | "description": "The Node.js `util.deprecate()` function with browser support", 5 | "main": "node.js", 6 | "browser": "browser.js", 7 | "scripts": { 8 | "test": "echo \"Error: no test specified\" && exit 1" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "git://github.com/TooTallNate/util-deprecate.git" 13 | }, 14 | "keywords": [ 15 | "util", 16 | "deprecate", 17 | "browserify", 18 | "browser", 19 | "node" 20 | ], 21 | "author": "Nathan Rajlich (http://n8.io/)", 22 | "license": "MIT", 23 | "bugs": { 24 | "url": "https://github.com/TooTallNate/util-deprecate/issues" 25 | }, 26 | "homepage": "https://github.com/TooTallNate/util-deprecate" 27 | } 28 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/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 | -------------------------------------------------------------------------------- /api/node_modules/xtend/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "maxdepth": 4, 3 | "maxstatements": 200, 4 | "maxcomplexity": 12, 5 | "maxlen": 80, 6 | "maxparams": 5, 7 | 8 | "curly": true, 9 | "eqeqeq": true, 10 | "immed": true, 11 | "latedef": false, 12 | "noarg": true, 13 | "noempty": true, 14 | "nonew": true, 15 | "undef": true, 16 | "unused": "vars", 17 | "trailing": true, 18 | 19 | "quotmark": true, 20 | "expr": true, 21 | "asi": true, 22 | 23 | "browser": false, 24 | "esnext": true, 25 | "devel": false, 26 | "node": false, 27 | "nonstandard": false, 28 | 29 | "predef": ["require", "module", "__dirname", "__filename"] 30 | } 31 | -------------------------------------------------------------------------------- /api/node_modules/xtend/immutable.js: -------------------------------------------------------------------------------- 1 | module.exports = extend 2 | 3 | var hasOwnProperty = Object.prototype.hasOwnProperty; 4 | 5 | function extend() { 6 | var target = {} 7 | 8 | for (var i = 0; i < arguments.length; i++) { 9 | var source = arguments[i] 10 | 11 | for (var key in source) { 12 | if (hasOwnProperty.call(source, key)) { 13 | target[key] = source[key] 14 | } 15 | } 16 | } 17 | 18 | return target 19 | } 20 | -------------------------------------------------------------------------------- /api/node_modules/xtend/mutable.js: -------------------------------------------------------------------------------- 1 | module.exports = extend 2 | 3 | var hasOwnProperty = Object.prototype.hasOwnProperty; 4 | 5 | function extend(target) { 6 | for (var i = 1; i < arguments.length; i++) { 7 | var source = arguments[i] 8 | 9 | for (var key in source) { 10 | if (hasOwnProperty.call(source, key)) { 11 | target[key] = source[key] 12 | } 13 | } 14 | } 15 | 16 | return target 17 | } 18 | -------------------------------------------------------------------------------- /api/node_modules/yallist/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /api/node_modules/yallist/iterator.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | module.exports = function (Yallist) { 3 | Yallist.prototype[Symbol.iterator] = function* () { 4 | for (let walker = this.head; walker; walker = walker.next) { 5 | yield walker.value 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /api/node_modules/yallist/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "yallist", 3 | "version": "4.0.0", 4 | "description": "Yet Another Linked List", 5 | "main": "yallist.js", 6 | "directories": { 7 | "test": "test" 8 | }, 9 | "files": [ 10 | "yallist.js", 11 | "iterator.js" 12 | ], 13 | "dependencies": {}, 14 | "devDependencies": { 15 | "tap": "^12.1.0" 16 | }, 17 | "scripts": { 18 | "test": "tap test/*.js --100", 19 | "preversion": "npm test", 20 | "postversion": "npm publish", 21 | "postpublish": "git push origin --all; git push origin --tags" 22 | }, 23 | "repository": { 24 | "type": "git", 25 | "url": "git+https://github.com/isaacs/yallist.git" 26 | }, 27 | "author": "Isaac Z. Schlueter (http://blog.izs.me/)", 28 | "license": "ISC" 29 | } 30 | -------------------------------------------------------------------------------- /api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "myblog", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "type": "module", 7 | "scripts": { 8 | "start": "nodemon index.js" 9 | }, 10 | "keywords": [], 11 | "author": "", 12 | "license": "ISC", 13 | "dependencies": { 14 | "bcryptjs": "^2.4.3", 15 | "cookie-parser": "^1.4.6", 16 | "express": "^4.18.2", 17 | "jsonwebtoken": "^9.0.2", 18 | "multer": "^1.4.5-lts.1", 19 | "mysql": "^2.18.1", 20 | "mysql2": "^3.6.5", 21 | "nodemon": "^3.0.2" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /api/routes/auth.js: -------------------------------------------------------------------------------- 1 | import express from 'express'; 2 | import { register, login, logout } from '../controllers/auth.js'; 3 | 4 | const router = express.Router(); 5 | 6 | router.post('/register', register) 7 | router.post('/login', login) 8 | router.post('/logout', logout) 9 | 10 | export default router; -------------------------------------------------------------------------------- /api/routes/posts.js: -------------------------------------------------------------------------------- 1 | import express from 'express'; 2 | import { getPosts, addPost, deletePost, getPost, updatePost } from '../controllers/post.js'; 3 | 4 | const router = express.Router(); 5 | 6 | router.get('/', getPosts) 7 | router.get('/:id', getPost) 8 | router.post('/', addPost) 9 | router.delete('/:id', deletePost) 10 | router.put('/:id', updatePost) 11 | 12 | 13 | export default router; -------------------------------------------------------------------------------- /api/routes/users.js: -------------------------------------------------------------------------------- 1 | import express from 'express'; 2 | 3 | const router = express.Router(); 4 | 5 | router.get('/test', (req, res) => { 6 | res.json('Hello World!') 7 | }) 8 | 9 | export default router; -------------------------------------------------------------------------------- /client/.env: -------------------------------------------------------------------------------- 1 | # To solve the problem of the failed to parse source map from X error in React 2 | GENERATE_SOURCEMAP=false -------------------------------------------------------------------------------- /client/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | -------------------------------------------------------------------------------- /client/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | }, 10 | { 11 | "src": "logo192.png", 12 | "type": "image/png", 13 | "sizes": "192x192" 14 | }, 15 | { 16 | "src": "logo512.png", 17 | "type": "image/png", 18 | "sizes": "512x512" 19 | } 20 | ], 21 | "start_url": ".", 22 | "display": "standalone", 23 | "theme_color": "#000000", 24 | "background_color": "#ffffff" 25 | } 26 | -------------------------------------------------------------------------------- /client/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /client/src/components/Footer.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import Logo from '../img/DSC05742.png' 3 | 4 | const Footer = () => { 5 | return ( 6 |
7 | 8 | 9 | Made with ❤ and React.js 10 | 11 |
12 | ) 13 | } 14 | 15 | export default Footer -------------------------------------------------------------------------------- /client/src/img/DSC05742.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hongspell/ReactBlog/76e2d7ab60ccfd4211994e7f6b06ad67df48d8b3/client/src/img/DSC05742.png -------------------------------------------------------------------------------- /client/src/img/delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hongspell/ReactBlog/76e2d7ab60ccfd4211994e7f6b06ad67df48d8b3/client/src/img/delete.png -------------------------------------------------------------------------------- /client/src/img/edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hongspell/ReactBlog/76e2d7ab60ccfd4211994e7f6b06ad67df48d8b3/client/src/img/edit.png -------------------------------------------------------------------------------- /client/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom/client'; 3 | import App from './App'; 4 | import { AuthContextProvider } from './context/authContext'; 5 | 6 | 7 | const root = ReactDOM.createRoot(document.getElementById('root')); 8 | root.render( 9 | 10 | 11 | 12 | 13 | 14 | ); 15 | 16 | --------------------------------------------------------------------------------