├── .txt ├── Backend ├── .env ├── SocketIO │ └── server.js ├── controller │ ├── message.controller.js │ └── user.controller.js ├── index.js ├── jwt │ └── generateToken.js ├── middleware │ └── secureRoute.js ├── models │ ├── conversation.model.js │ ├── message.model.js │ └── user.model.js ├── node_modules │ ├── .bin │ │ ├── mime │ │ ├── mime.cmd │ │ ├── mime.ps1 │ │ ├── nodemon │ │ ├── nodemon.cmd │ │ ├── nodemon.ps1 │ │ ├── nodetouch │ │ ├── nodetouch.cmd │ │ ├── nodetouch.ps1 │ │ ├── nopt │ │ ├── nopt.cmd │ │ ├── nopt.ps1 │ │ ├── semver │ │ ├── semver.cmd │ │ └── semver.ps1 │ ├── .package-lock.json │ ├── @mongodb-js │ │ └── saslprep │ │ │ ├── LICENSE │ │ │ ├── dist │ │ │ ├── .esm-wrapper.mjs │ │ │ ├── browser.d.ts │ │ │ ├── browser.d.ts.map │ │ │ ├── browser.js │ │ │ ├── browser.js.map │ │ │ ├── code-points-data-browser.d.ts │ │ │ ├── code-points-data-browser.d.ts.map │ │ │ ├── code-points-data-browser.js │ │ │ ├── code-points-data-browser.js.map │ │ │ ├── code-points-data.d.ts │ │ │ ├── code-points-data.d.ts.map │ │ │ ├── code-points-data.js │ │ │ ├── code-points-data.js.map │ │ │ ├── code-points-src.d.ts │ │ │ ├── code-points-src.d.ts.map │ │ │ ├── code-points-src.js │ │ │ ├── code-points-src.js.map │ │ │ ├── generate-code-points.d.ts │ │ │ ├── generate-code-points.d.ts.map │ │ │ ├── generate-code-points.js │ │ │ ├── generate-code-points.js.map │ │ │ ├── index.d.ts │ │ │ ├── index.d.ts.map │ │ │ ├── index.js │ │ │ ├── index.js.map │ │ │ ├── memory-code-points.d.ts │ │ │ ├── memory-code-points.d.ts.map │ │ │ ├── memory-code-points.js │ │ │ ├── memory-code-points.js.map │ │ │ ├── node.d.ts │ │ │ ├── node.d.ts.map │ │ │ ├── node.js │ │ │ ├── node.js.map │ │ │ ├── util.d.ts │ │ │ ├── util.d.ts.map │ │ │ ├── util.js │ │ │ └── util.js.map │ │ │ ├── package.json │ │ │ └── readme.md │ ├── @socket.io │ │ └── component-emitter │ │ │ ├── LICENSE │ │ │ ├── Readme.md │ │ │ ├── lib │ │ │ ├── cjs │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ └── esm │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ └── package.json │ ├── @types │ │ ├── cookie │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.d.ts │ │ │ └── package.json │ │ ├── cors │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.d.ts │ │ │ └── package.json │ │ ├── node │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── assert.d.ts │ │ │ ├── assert │ │ │ │ └── strict.d.ts │ │ │ ├── async_hooks.d.ts │ │ │ ├── buffer.d.ts │ │ │ ├── child_process.d.ts │ │ │ ├── cluster.d.ts │ │ │ ├── console.d.ts │ │ │ ├── constants.d.ts │ │ │ ├── crypto.d.ts │ │ │ ├── dgram.d.ts │ │ │ ├── diagnostics_channel.d.ts │ │ │ ├── dns.d.ts │ │ │ ├── dns │ │ │ │ └── promises.d.ts │ │ │ ├── dom-events.d.ts │ │ │ ├── domain.d.ts │ │ │ ├── events.d.ts │ │ │ ├── fs.d.ts │ │ │ ├── fs │ │ │ │ └── promises.d.ts │ │ │ ├── globals.d.ts │ │ │ ├── globals.global.d.ts │ │ │ ├── http.d.ts │ │ │ ├── http2.d.ts │ │ │ ├── https.d.ts │ │ │ ├── index.d.ts │ │ │ ├── inspector.d.ts │ │ │ ├── module.d.ts │ │ │ ├── net.d.ts │ │ │ ├── os.d.ts │ │ │ ├── package.json │ │ │ ├── path.d.ts │ │ │ ├── perf_hooks.d.ts │ │ │ ├── process.d.ts │ │ │ ├── punycode.d.ts │ │ │ ├── querystring.d.ts │ │ │ ├── readline.d.ts │ │ │ ├── readline │ │ │ │ └── promises.d.ts │ │ │ ├── repl.d.ts │ │ │ ├── sea.d.ts │ │ │ ├── stream.d.ts │ │ │ ├── stream │ │ │ │ ├── consumers.d.ts │ │ │ │ ├── promises.d.ts │ │ │ │ └── web.d.ts │ │ │ ├── string_decoder.d.ts │ │ │ ├── test.d.ts │ │ │ ├── timers.d.ts │ │ │ ├── timers │ │ │ │ └── promises.d.ts │ │ │ ├── tls.d.ts │ │ │ ├── trace_events.d.ts │ │ │ ├── tty.d.ts │ │ │ ├── url.d.ts │ │ │ ├── util.d.ts │ │ │ ├── v8.d.ts │ │ │ ├── vm.d.ts │ │ │ ├── wasi.d.ts │ │ │ ├── worker_threads.d.ts │ │ │ └── zlib.d.ts │ │ ├── webidl-conversions │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.d.ts │ │ │ └── package.json │ │ └── whatwg-url │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.d.ts │ │ │ ├── lib │ │ │ ├── URL-impl.d.ts │ │ │ ├── URL.d.ts │ │ │ ├── URLSearchParams-impl.d.ts │ │ │ └── URLSearchParams.d.ts │ │ │ ├── package.json │ │ │ └── webidl2js-wrapper.d.ts │ ├── 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 │ ├── array-flatten │ │ ├── LICENSE │ │ ├── README.md │ │ ├── array-flatten.js │ │ └── package.json │ ├── balanced-match │ │ ├── .github │ │ │ └── FUNDING.yml │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── base64id │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── lib │ │ │ └── base64id.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 │ ├── 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 │ ├── bson │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── bson.d.ts │ │ ├── etc │ │ │ └── prepare.js │ │ ├── lib │ │ │ ├── bson.bundle.js │ │ │ ├── bson.bundle.js.map │ │ │ ├── bson.cjs │ │ │ ├── bson.cjs.map │ │ │ ├── bson.mjs │ │ │ ├── bson.mjs.map │ │ │ ├── bson.rn.cjs │ │ │ └── bson.rn.cjs.map │ │ ├── package.json │ │ ├── src │ │ │ ├── binary.ts │ │ │ ├── bson.ts │ │ │ ├── bson_value.ts │ │ │ ├── code.ts │ │ │ ├── constants.ts │ │ │ ├── db_ref.ts │ │ │ ├── decimal128.ts │ │ │ ├── double.ts │ │ │ ├── error.ts │ │ │ ├── extended_json.ts │ │ │ ├── index.ts │ │ │ ├── int_32.ts │ │ │ ├── long.ts │ │ │ ├── max_key.ts │ │ │ ├── min_key.ts │ │ │ ├── objectid.ts │ │ │ ├── parser │ │ │ │ ├── calculate_size.ts │ │ │ │ ├── deserializer.ts │ │ │ │ ├── on_demand │ │ │ │ │ ├── index.ts │ │ │ │ │ └── parse_to_elements.ts │ │ │ │ ├── serializer.ts │ │ │ │ └── utils.ts │ │ │ ├── regexp.ts │ │ │ ├── symbol.ts │ │ │ ├── timestamp.ts │ │ │ ├── utils │ │ │ │ ├── byte_utils.ts │ │ │ │ ├── latin.ts │ │ │ │ ├── node_byte_utils.ts │ │ │ │ ├── number_utils.ts │ │ │ │ └── web_byte_utils.ts │ │ │ └── validate_utf8.ts │ │ └── vendor │ │ │ ├── base64 │ │ │ ├── LICENSE-MIT.txt │ │ │ ├── README.md │ │ │ ├── base64.js │ │ │ └── package.json │ │ │ └── text-encoding │ │ │ ├── LICENSE.md │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── lib │ │ │ ├── encoding-indexes.js │ │ │ └── encoding.js │ │ │ └── package.json │ ├── buffer-equal-constant-time │ │ ├── .npmignore │ │ ├── .travis.yml │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── 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 │ ├── 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 │ ├── cors │ │ ├── CONTRIBUTING.md │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── lib │ │ │ └── index.js │ │ └── package.json │ ├── debug │ │ ├── .coveralls.yml │ │ ├── .eslintrc │ │ ├── .npmignore │ │ ├── .travis.yml │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── component.json │ │ ├── karma.conf.js │ │ ├── node.js │ │ ├── package.json │ │ └── src │ │ │ ├── browser.js │ │ │ ├── debug.js │ │ │ ├── index.js │ │ │ ├── inspector-log.js │ │ │ └── node.js │ ├── define-data-property │ │ ├── .eslintrc │ │ ├── .github │ │ │ └── FUNDING.yml │ │ ├── .nycrc │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── package.json │ │ ├── test │ │ │ └── index.js │ │ └── tsconfig.json │ ├── depd │ │ ├── History.md │ │ ├── LICENSE │ │ ├── Readme.md │ │ ├── index.js │ │ ├── lib │ │ │ └── browser │ │ │ │ └── index.js │ │ └── package.json │ ├── destroy │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── dotenv │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README-es.md │ │ ├── README.md │ │ ├── config.d.ts │ │ ├── config.js │ │ ├── lib │ │ │ ├── cli-options.js │ │ │ ├── env-options.js │ │ │ ├── main.d.ts │ │ │ └── main.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 │ ├── engine.io-parser │ │ ├── LICENSE │ │ ├── Readme.md │ │ ├── build │ │ │ ├── cjs │ │ │ │ ├── commons.d.ts │ │ │ │ ├── commons.js │ │ │ │ ├── contrib │ │ │ │ │ ├── base64-arraybuffer.d.ts │ │ │ │ │ └── base64-arraybuffer.js │ │ │ │ ├── decodePacket.browser.d.ts │ │ │ │ ├── decodePacket.browser.js │ │ │ │ ├── decodePacket.d.ts │ │ │ │ ├── decodePacket.js │ │ │ │ ├── encodePacket.browser.d.ts │ │ │ │ ├── encodePacket.browser.js │ │ │ │ ├── encodePacket.d.ts │ │ │ │ ├── encodePacket.js │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ └── esm │ │ │ │ ├── commons.d.ts │ │ │ │ ├── commons.js │ │ │ │ ├── contrib │ │ │ │ ├── base64-arraybuffer.d.ts │ │ │ │ └── base64-arraybuffer.js │ │ │ │ ├── decodePacket.browser.d.ts │ │ │ │ ├── decodePacket.browser.js │ │ │ │ ├── decodePacket.d.ts │ │ │ │ ├── decodePacket.js │ │ │ │ ├── encodePacket.browser.d.ts │ │ │ │ ├── encodePacket.browser.js │ │ │ │ ├── encodePacket.d.ts │ │ │ │ ├── encodePacket.js │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ └── package.json │ ├── engine.io │ │ ├── LICENSE │ │ ├── README.md │ │ ├── build │ │ │ ├── engine.io.d.ts │ │ │ ├── engine.io.js │ │ │ ├── parser-v3 │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── utf8.d.ts │ │ │ │ └── utf8.js │ │ │ ├── server.d.ts │ │ │ ├── server.js │ │ │ ├── socket.d.ts │ │ │ ├── socket.js │ │ │ ├── transport.d.ts │ │ │ ├── transport.js │ │ │ ├── transports-uws │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── polling.d.ts │ │ │ │ ├── polling.js │ │ │ │ ├── websocket.d.ts │ │ │ │ └── websocket.js │ │ │ ├── transports │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── polling-jsonp.d.ts │ │ │ │ ├── polling-jsonp.js │ │ │ │ ├── polling.d.ts │ │ │ │ ├── polling.js │ │ │ │ ├── websocket.d.ts │ │ │ │ ├── websocket.js │ │ │ │ ├── webtransport.d.ts │ │ │ │ └── webtransport.js │ │ │ ├── userver.d.ts │ │ │ └── userver.js │ │ ├── node_modules │ │ │ ├── cookie │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── 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 │ │ └── wrapper.mjs │ ├── es-define-property │ │ ├── .eslintrc │ │ ├── .github │ │ │ └── FUNDING.yml │ │ ├── .nycrc │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── package.json │ │ ├── test │ │ │ └── index.js │ │ └── tsconfig.json │ ├── es-errors │ │ ├── .eslintrc │ │ ├── .github │ │ │ └── FUNDING.yml │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── eval.d.ts │ │ ├── eval.js │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── package.json │ │ ├── range.d.ts │ │ ├── range.js │ │ ├── ref.d.ts │ │ ├── ref.js │ │ ├── syntax.d.ts │ │ ├── syntax.js │ │ ├── test │ │ │ └── index.js │ │ ├── tsconfig.json │ │ ├── type.d.ts │ │ ├── type.js │ │ ├── uri.d.ts │ │ └── uri.js │ ├── 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 │ ├── 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.d.ts │ │ ├── index.js │ │ ├── package.json │ │ ├── test │ │ │ └── index.js │ │ └── tsconfig.json │ ├── 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.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 │ ├── 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 │ ├── kareem │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── SECURITY.md │ │ ├── index.d.ts │ │ ├── index.js │ │ └── package.json │ ├── 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 │ ├── lru-cache │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── media-typer │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── memory-pager │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test.js │ ├── 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 │ ├── mongodb-connection-string-url │ │ ├── .esm-wrapper.mjs │ │ ├── LICENSE │ │ ├── README.md │ │ ├── lib │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── index.js.map │ │ │ ├── redact.d.ts │ │ │ ├── redact.js │ │ │ └── redact.js.map │ │ └── package.json │ ├── mongodb │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── etc │ │ │ └── prepare.js │ │ ├── lib │ │ │ ├── admin.js │ │ │ ├── admin.js.map │ │ │ ├── bson.js │ │ │ ├── bson.js.map │ │ │ ├── bulk │ │ │ │ ├── common.js │ │ │ │ ├── common.js.map │ │ │ │ ├── ordered.js │ │ │ │ ├── ordered.js.map │ │ │ │ ├── unordered.js │ │ │ │ └── unordered.js.map │ │ │ ├── change_stream.js │ │ │ ├── change_stream.js.map │ │ │ ├── client-side-encryption │ │ │ │ ├── auto_encrypter.js │ │ │ │ ├── auto_encrypter.js.map │ │ │ │ ├── client_encryption.js │ │ │ │ ├── client_encryption.js.map │ │ │ │ ├── crypto_callbacks.js │ │ │ │ ├── crypto_callbacks.js.map │ │ │ │ ├── errors.js │ │ │ │ ├── errors.js.map │ │ │ │ ├── mongocryptd_manager.js │ │ │ │ ├── mongocryptd_manager.js.map │ │ │ │ ├── providers │ │ │ │ │ ├── aws.js │ │ │ │ │ ├── aws.js.map │ │ │ │ │ ├── azure.js │ │ │ │ │ ├── azure.js.map │ │ │ │ │ ├── gcp.js │ │ │ │ │ ├── gcp.js.map │ │ │ │ │ ├── index.js │ │ │ │ │ ├── index.js.map │ │ │ │ │ ├── utils.js │ │ │ │ │ └── utils.js.map │ │ │ │ ├── state_machine.js │ │ │ │ └── state_machine.js.map │ │ │ ├── cmap │ │ │ │ ├── auth │ │ │ │ │ ├── auth_provider.js │ │ │ │ │ ├── auth_provider.js.map │ │ │ │ │ ├── gssapi.js │ │ │ │ │ ├── gssapi.js.map │ │ │ │ │ ├── mongo_credentials.js │ │ │ │ │ ├── mongo_credentials.js.map │ │ │ │ │ ├── mongocr.js │ │ │ │ │ ├── mongocr.js.map │ │ │ │ │ ├── mongodb_aws.js │ │ │ │ │ ├── mongodb_aws.js.map │ │ │ │ │ ├── mongodb_oidc.js │ │ │ │ │ ├── mongodb_oidc.js.map │ │ │ │ │ ├── mongodb_oidc │ │ │ │ │ │ ├── aws_service_workflow.js │ │ │ │ │ │ ├── aws_service_workflow.js.map │ │ │ │ │ │ ├── azure_service_workflow.js │ │ │ │ │ │ ├── azure_service_workflow.js.map │ │ │ │ │ │ ├── azure_token_cache.js │ │ │ │ │ │ ├── azure_token_cache.js.map │ │ │ │ │ │ ├── cache.js │ │ │ │ │ │ ├── cache.js.map │ │ │ │ │ │ ├── callback_lock_cache.js │ │ │ │ │ │ ├── callback_lock_cache.js.map │ │ │ │ │ │ ├── callback_workflow.js │ │ │ │ │ │ ├── callback_workflow.js.map │ │ │ │ │ │ ├── service_workflow.js │ │ │ │ │ │ ├── service_workflow.js.map │ │ │ │ │ │ ├── token_entry_cache.js │ │ │ │ │ │ └── token_entry_cache.js.map │ │ │ │ │ ├── plain.js │ │ │ │ │ ├── plain.js.map │ │ │ │ │ ├── providers.js │ │ │ │ │ ├── providers.js.map │ │ │ │ │ ├── scram.js │ │ │ │ │ ├── scram.js.map │ │ │ │ │ ├── x509.js │ │ │ │ │ └── x509.js.map │ │ │ │ ├── command_monitoring_events.js │ │ │ │ ├── command_monitoring_events.js.map │ │ │ │ ├── commands.js │ │ │ │ ├── commands.js.map │ │ │ │ ├── connect.js │ │ │ │ ├── connect.js.map │ │ │ │ ├── connection.js │ │ │ │ ├── connection.js.map │ │ │ │ ├── connection_pool.js │ │ │ │ ├── connection_pool.js.map │ │ │ │ ├── connection_pool_events.js │ │ │ │ ├── connection_pool_events.js.map │ │ │ │ ├── errors.js │ │ │ │ ├── errors.js.map │ │ │ │ ├── handshake │ │ │ │ │ ├── client_metadata.js │ │ │ │ │ └── client_metadata.js.map │ │ │ │ ├── metrics.js │ │ │ │ ├── metrics.js.map │ │ │ │ ├── stream_description.js │ │ │ │ ├── stream_description.js.map │ │ │ │ └── wire_protocol │ │ │ │ │ ├── compression.js │ │ │ │ │ ├── compression.js.map │ │ │ │ │ ├── constants.js │ │ │ │ │ ├── constants.js.map │ │ │ │ │ ├── on_data.js │ │ │ │ │ ├── on_data.js.map │ │ │ │ │ ├── shared.js │ │ │ │ │ └── shared.js.map │ │ │ ├── collection.js │ │ │ ├── collection.js.map │ │ │ ├── connection_string.js │ │ │ ├── connection_string.js.map │ │ │ ├── constants.js │ │ │ ├── constants.js.map │ │ │ ├── cursor │ │ │ │ ├── abstract_cursor.js │ │ │ │ ├── abstract_cursor.js.map │ │ │ │ ├── aggregation_cursor.js │ │ │ │ ├── aggregation_cursor.js.map │ │ │ │ ├── change_stream_cursor.js │ │ │ │ ├── change_stream_cursor.js.map │ │ │ │ ├── find_cursor.js │ │ │ │ ├── find_cursor.js.map │ │ │ │ ├── list_collections_cursor.js │ │ │ │ ├── list_collections_cursor.js.map │ │ │ │ ├── list_indexes_cursor.js │ │ │ │ ├── list_indexes_cursor.js.map │ │ │ │ ├── list_search_indexes_cursor.js │ │ │ │ ├── list_search_indexes_cursor.js.map │ │ │ │ ├── run_command_cursor.js │ │ │ │ └── run_command_cursor.js.map │ │ │ ├── db.js │ │ │ ├── db.js.map │ │ │ ├── deps.js │ │ │ ├── deps.js.map │ │ │ ├── encrypter.js │ │ │ ├── encrypter.js.map │ │ │ ├── error.js │ │ │ ├── error.js.map │ │ │ ├── explain.js │ │ │ ├── explain.js.map │ │ │ ├── gridfs │ │ │ │ ├── download.js │ │ │ │ ├── download.js.map │ │ │ │ ├── index.js │ │ │ │ ├── index.js.map │ │ │ │ ├── upload.js │ │ │ │ └── upload.js.map │ │ │ ├── index.js │ │ │ ├── index.js.map │ │ │ ├── mongo_client.js │ │ │ ├── mongo_client.js.map │ │ │ ├── mongo_client_auth_providers.js │ │ │ ├── mongo_client_auth_providers.js.map │ │ │ ├── mongo_logger.js │ │ │ ├── mongo_logger.js.map │ │ │ ├── mongo_types.js │ │ │ ├── mongo_types.js.map │ │ │ ├── operations │ │ │ │ ├── aggregate.js │ │ │ │ ├── aggregate.js.map │ │ │ │ ├── bulk_write.js │ │ │ │ ├── bulk_write.js.map │ │ │ │ ├── collections.js │ │ │ │ ├── collections.js.map │ │ │ │ ├── command.js │ │ │ │ ├── command.js.map │ │ │ │ ├── common_functions.js │ │ │ │ ├── common_functions.js.map │ │ │ │ ├── count.js │ │ │ │ ├── count.js.map │ │ │ │ ├── count_documents.js │ │ │ │ ├── count_documents.js.map │ │ │ │ ├── create_collection.js │ │ │ │ ├── create_collection.js.map │ │ │ │ ├── delete.js │ │ │ │ ├── delete.js.map │ │ │ │ ├── distinct.js │ │ │ │ ├── distinct.js.map │ │ │ │ ├── drop.js │ │ │ │ ├── drop.js.map │ │ │ │ ├── estimated_document_count.js │ │ │ │ ├── estimated_document_count.js.map │ │ │ │ ├── execute_operation.js │ │ │ │ ├── execute_operation.js.map │ │ │ │ ├── find.js │ │ │ │ ├── find.js.map │ │ │ │ ├── find_and_modify.js │ │ │ │ ├── find_and_modify.js.map │ │ │ │ ├── get_more.js │ │ │ │ ├── get_more.js.map │ │ │ │ ├── indexes.js │ │ │ │ ├── indexes.js.map │ │ │ │ ├── insert.js │ │ │ │ ├── insert.js.map │ │ │ │ ├── is_capped.js │ │ │ │ ├── is_capped.js.map │ │ │ │ ├── kill_cursors.js │ │ │ │ ├── kill_cursors.js.map │ │ │ │ ├── list_collections.js │ │ │ │ ├── list_collections.js.map │ │ │ │ ├── list_databases.js │ │ │ │ ├── list_databases.js.map │ │ │ │ ├── operation.js │ │ │ │ ├── operation.js.map │ │ │ │ ├── options_operation.js │ │ │ │ ├── options_operation.js.map │ │ │ │ ├── profiling_level.js │ │ │ │ ├── profiling_level.js.map │ │ │ │ ├── remove_user.js │ │ │ │ ├── remove_user.js.map │ │ │ │ ├── rename.js │ │ │ │ ├── rename.js.map │ │ │ │ ├── run_command.js │ │ │ │ ├── run_command.js.map │ │ │ │ ├── search_indexes │ │ │ │ │ ├── create.js │ │ │ │ │ ├── create.js.map │ │ │ │ │ ├── drop.js │ │ │ │ │ ├── drop.js.map │ │ │ │ │ ├── update.js │ │ │ │ │ └── update.js.map │ │ │ │ ├── set_profiling_level.js │ │ │ │ ├── set_profiling_level.js.map │ │ │ │ ├── stats.js │ │ │ │ ├── stats.js.map │ │ │ │ ├── update.js │ │ │ │ ├── update.js.map │ │ │ │ ├── validate_collection.js │ │ │ │ └── validate_collection.js.map │ │ │ ├── read_concern.js │ │ │ ├── read_concern.js.map │ │ │ ├── read_preference.js │ │ │ ├── read_preference.js.map │ │ │ ├── sdam │ │ │ │ ├── common.js │ │ │ │ ├── common.js.map │ │ │ │ ├── events.js │ │ │ │ ├── events.js.map │ │ │ │ ├── monitor.js │ │ │ │ ├── monitor.js.map │ │ │ │ ├── server.js │ │ │ │ ├── server.js.map │ │ │ │ ├── server_description.js │ │ │ │ ├── server_description.js.map │ │ │ │ ├── server_selection.js │ │ │ │ ├── server_selection.js.map │ │ │ │ ├── server_selection_events.js │ │ │ │ ├── server_selection_events.js.map │ │ │ │ ├── srv_polling.js │ │ │ │ ├── srv_polling.js.map │ │ │ │ ├── topology.js │ │ │ │ ├── topology.js.map │ │ │ │ ├── topology_description.js │ │ │ │ └── topology_description.js.map │ │ │ ├── sessions.js │ │ │ ├── sessions.js.map │ │ │ ├── sort.js │ │ │ ├── sort.js.map │ │ │ ├── transactions.js │ │ │ ├── transactions.js.map │ │ │ ├── utils.js │ │ │ ├── utils.js.map │ │ │ ├── write_concern.js │ │ │ └── write_concern.js.map │ │ ├── mongodb.d.ts │ │ ├── package.json │ │ ├── src │ │ │ ├── admin.ts │ │ │ ├── bson.ts │ │ │ ├── bulk │ │ │ │ ├── common.ts │ │ │ │ ├── ordered.ts │ │ │ │ └── unordered.ts │ │ │ ├── change_stream.ts │ │ │ ├── client-side-encryption │ │ │ │ ├── auto_encrypter.ts │ │ │ │ ├── client_encryption.ts │ │ │ │ ├── crypto_callbacks.ts │ │ │ │ ├── errors.ts │ │ │ │ ├── mongocryptd_manager.ts │ │ │ │ ├── providers │ │ │ │ │ ├── aws.ts │ │ │ │ │ ├── azure.ts │ │ │ │ │ ├── gcp.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── utils.ts │ │ │ │ └── state_machine.ts │ │ │ ├── cmap │ │ │ │ ├── auth │ │ │ │ │ ├── auth_provider.ts │ │ │ │ │ ├── gssapi.ts │ │ │ │ │ ├── mongo_credentials.ts │ │ │ │ │ ├── mongocr.ts │ │ │ │ │ ├── mongodb_aws.ts │ │ │ │ │ ├── mongodb_oidc.ts │ │ │ │ │ ├── mongodb_oidc │ │ │ │ │ │ ├── aws_service_workflow.ts │ │ │ │ │ │ ├── azure_service_workflow.ts │ │ │ │ │ │ ├── azure_token_cache.ts │ │ │ │ │ │ ├── cache.ts │ │ │ │ │ │ ├── callback_lock_cache.ts │ │ │ │ │ │ ├── callback_workflow.ts │ │ │ │ │ │ ├── service_workflow.ts │ │ │ │ │ │ └── token_entry_cache.ts │ │ │ │ │ ├── plain.ts │ │ │ │ │ ├── providers.ts │ │ │ │ │ ├── scram.ts │ │ │ │ │ └── x509.ts │ │ │ │ ├── command_monitoring_events.ts │ │ │ │ ├── commands.ts │ │ │ │ ├── connect.ts │ │ │ │ ├── connection.ts │ │ │ │ ├── connection_pool.ts │ │ │ │ ├── connection_pool_events.ts │ │ │ │ ├── errors.ts │ │ │ │ ├── handshake │ │ │ │ │ └── client_metadata.ts │ │ │ │ ├── metrics.ts │ │ │ │ ├── stream_description.ts │ │ │ │ └── wire_protocol │ │ │ │ │ ├── compression.ts │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── on_data.ts │ │ │ │ │ └── shared.ts │ │ │ ├── collection.ts │ │ │ ├── connection_string.ts │ │ │ ├── constants.ts │ │ │ ├── cursor │ │ │ │ ├── abstract_cursor.ts │ │ │ │ ├── aggregation_cursor.ts │ │ │ │ ├── change_stream_cursor.ts │ │ │ │ ├── find_cursor.ts │ │ │ │ ├── list_collections_cursor.ts │ │ │ │ ├── list_indexes_cursor.ts │ │ │ │ ├── list_search_indexes_cursor.ts │ │ │ │ └── run_command_cursor.ts │ │ │ ├── db.ts │ │ │ ├── deps.ts │ │ │ ├── encrypter.ts │ │ │ ├── error.ts │ │ │ ├── explain.ts │ │ │ ├── gridfs │ │ │ │ ├── download.ts │ │ │ │ ├── index.ts │ │ │ │ └── upload.ts │ │ │ ├── index.ts │ │ │ ├── mongo_client.ts │ │ │ ├── mongo_client_auth_providers.ts │ │ │ ├── mongo_logger.ts │ │ │ ├── mongo_types.ts │ │ │ ├── operations │ │ │ │ ├── aggregate.ts │ │ │ │ ├── bulk_write.ts │ │ │ │ ├── collections.ts │ │ │ │ ├── command.ts │ │ │ │ ├── common_functions.ts │ │ │ │ ├── count.ts │ │ │ │ ├── count_documents.ts │ │ │ │ ├── create_collection.ts │ │ │ │ ├── delete.ts │ │ │ │ ├── distinct.ts │ │ │ │ ├── drop.ts │ │ │ │ ├── estimated_document_count.ts │ │ │ │ ├── execute_operation.ts │ │ │ │ ├── find.ts │ │ │ │ ├── find_and_modify.ts │ │ │ │ ├── get_more.ts │ │ │ │ ├── indexes.ts │ │ │ │ ├── insert.ts │ │ │ │ ├── is_capped.ts │ │ │ │ ├── kill_cursors.ts │ │ │ │ ├── list_collections.ts │ │ │ │ ├── list_databases.ts │ │ │ │ ├── operation.ts │ │ │ │ ├── options_operation.ts │ │ │ │ ├── profiling_level.ts │ │ │ │ ├── remove_user.ts │ │ │ │ ├── rename.ts │ │ │ │ ├── run_command.ts │ │ │ │ ├── search_indexes │ │ │ │ │ ├── create.ts │ │ │ │ │ ├── drop.ts │ │ │ │ │ └── update.ts │ │ │ │ ├── set_profiling_level.ts │ │ │ │ ├── stats.ts │ │ │ │ ├── update.ts │ │ │ │ └── validate_collection.ts │ │ │ ├── read_concern.ts │ │ │ ├── read_preference.ts │ │ │ ├── sdam │ │ │ │ ├── common.ts │ │ │ │ ├── events.ts │ │ │ │ ├── monitor.ts │ │ │ │ ├── server.ts │ │ │ │ ├── server_description.ts │ │ │ │ ├── server_selection.ts │ │ │ │ ├── server_selection_events.ts │ │ │ │ ├── srv_polling.ts │ │ │ │ ├── topology.ts │ │ │ │ └── topology_description.ts │ │ │ ├── sessions.ts │ │ │ ├── sort.ts │ │ │ ├── transactions.ts │ │ │ ├── utils.ts │ │ │ └── write_concern.ts │ │ └── tsconfig.json │ ├── mongoose │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── SECURITY.md │ │ ├── browser.js │ │ ├── dist │ │ │ └── browser.umd.js │ │ ├── index.js │ │ ├── lib │ │ │ ├── aggregate.js │ │ │ ├── browser.js │ │ │ ├── browserDocument.js │ │ │ ├── cast.js │ │ │ ├── cast │ │ │ │ ├── bigint.js │ │ │ │ ├── boolean.js │ │ │ │ ├── date.js │ │ │ │ ├── decimal128.js │ │ │ │ ├── number.js │ │ │ │ ├── objectid.js │ │ │ │ └── string.js │ │ │ ├── collection.js │ │ │ ├── connection.js │ │ │ ├── connectionState.js │ │ │ ├── constants.js │ │ │ ├── cursor │ │ │ │ ├── aggregationCursor.js │ │ │ │ ├── changeStream.js │ │ │ │ └── queryCursor.js │ │ │ ├── document.js │ │ │ ├── documentProvider.js │ │ │ ├── driver.js │ │ │ ├── drivers │ │ │ │ ├── SPEC.md │ │ │ │ ├── browser │ │ │ │ │ ├── binary.js │ │ │ │ │ ├── decimal128.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── objectid.js │ │ │ │ └── node-mongodb-native │ │ │ │ │ ├── collection.js │ │ │ │ │ ├── connection.js │ │ │ │ │ └── index.js │ │ │ ├── error │ │ │ │ ├── browserMissingSchema.js │ │ │ │ ├── bulkWriteError.js │ │ │ │ ├── cast.js │ │ │ │ ├── createCollectionsError.js │ │ │ │ ├── divergentArray.js │ │ │ │ ├── eachAsyncMultiError.js │ │ │ │ ├── index.js │ │ │ │ ├── invalidSchemaOption.js │ │ │ │ ├── messages.js │ │ │ │ ├── missingSchema.js │ │ │ │ ├── mongooseError.js │ │ │ │ ├── notFound.js │ │ │ │ ├── objectExpected.js │ │ │ │ ├── objectParameter.js │ │ │ │ ├── overwriteModel.js │ │ │ │ ├── parallelSave.js │ │ │ │ ├── parallelValidate.js │ │ │ │ ├── serverSelection.js │ │ │ │ ├── setOptionError.js │ │ │ │ ├── strict.js │ │ │ │ ├── strictPopulate.js │ │ │ │ ├── syncIndexes.js │ │ │ │ ├── validation.js │ │ │ │ ├── validator.js │ │ │ │ └── version.js │ │ │ ├── helpers │ │ │ │ ├── aggregate │ │ │ │ │ ├── prepareDiscriminatorPipeline.js │ │ │ │ │ └── stringifyFunctionOperators.js │ │ │ │ ├── arrayDepth.js │ │ │ │ ├── clone.js │ │ │ │ ├── common.js │ │ │ │ ├── cursor │ │ │ │ │ └── eachAsync.js │ │ │ │ ├── discriminator │ │ │ │ │ ├── applyEmbeddedDiscriminators.js │ │ │ │ │ ├── areDiscriminatorValuesEqual.js │ │ │ │ │ ├── checkEmbeddedDiscriminatorKeyProjection.js │ │ │ │ │ ├── getConstructor.js │ │ │ │ │ ├── getDiscriminatorByValue.js │ │ │ │ │ ├── getSchemaDiscriminatorByValue.js │ │ │ │ │ └── mergeDiscriminatorSchema.js │ │ │ │ ├── document │ │ │ │ │ ├── applyDefaults.js │ │ │ │ │ ├── cleanModifiedSubpaths.js │ │ │ │ │ ├── compile.js │ │ │ │ │ ├── getDeepestSubdocumentForPath.js │ │ │ │ │ ├── getEmbeddedDiscriminatorPath.js │ │ │ │ │ └── handleSpreadDoc.js │ │ │ │ ├── each.js │ │ │ │ ├── error │ │ │ │ │ └── combinePathErrors.js │ │ │ │ ├── firstKey.js │ │ │ │ ├── get.js │ │ │ │ ├── getConstructorName.js │ │ │ │ ├── getDefaultBulkwriteResult.js │ │ │ │ ├── getFunctionName.js │ │ │ │ ├── immediate.js │ │ │ │ ├── indexes │ │ │ │ │ ├── applySchemaCollation.js │ │ │ │ │ ├── decorateDiscriminatorIndexOptions.js │ │ │ │ │ ├── getRelatedIndexes.js │ │ │ │ │ ├── isDefaultIdIndex.js │ │ │ │ │ ├── isIndexEqual.js │ │ │ │ │ └── isTextIndex.js │ │ │ │ ├── isAsyncFunction.js │ │ │ │ ├── isBsonType.js │ │ │ │ ├── isMongooseObject.js │ │ │ │ ├── isObject.js │ │ │ │ ├── isPOJO.js │ │ │ │ ├── isPromise.js │ │ │ │ ├── isSimpleValidator.js │ │ │ │ ├── minimize.js │ │ │ │ ├── model │ │ │ │ │ ├── applyDefaultsToPOJO.js │ │ │ │ │ ├── applyHooks.js │ │ │ │ │ ├── applyMethods.js │ │ │ │ │ ├── applyStaticHooks.js │ │ │ │ │ ├── applyStatics.js │ │ │ │ │ ├── castBulkWrite.js │ │ │ │ │ ├── discriminator.js │ │ │ │ │ └── pushNestedArrayPaths.js │ │ │ │ ├── once.js │ │ │ │ ├── parallelLimit.js │ │ │ │ ├── path │ │ │ │ │ ├── parentPaths.js │ │ │ │ │ └── setDottedPath.js │ │ │ │ ├── pluralize.js │ │ │ │ ├── populate │ │ │ │ │ ├── assignRawDocsToIdStructure.js │ │ │ │ │ ├── assignVals.js │ │ │ │ │ ├── createPopulateQueryFilter.js │ │ │ │ │ ├── getModelsMapForPopulate.js │ │ │ │ │ ├── getSchemaTypes.js │ │ │ │ │ ├── getVirtual.js │ │ │ │ │ ├── leanPopulateMap.js │ │ │ │ │ ├── lookupLocalFields.js │ │ │ │ │ ├── markArraySubdocsPopulated.js │ │ │ │ │ ├── modelNamesFromRefPath.js │ │ │ │ │ ├── removeDeselectedForeignField.js │ │ │ │ │ ├── setPopulatedVirtualValue.js │ │ │ │ │ ├── skipPopulateValue.js │ │ │ │ │ └── validateRef.js │ │ │ │ ├── printJestWarning.js │ │ │ │ ├── processConnectionOptions.js │ │ │ │ ├── projection │ │ │ │ │ ├── applyProjection.js │ │ │ │ │ ├── hasIncludedChildren.js │ │ │ │ │ ├── isDefiningProjection.js │ │ │ │ │ ├── isExclusive.js │ │ │ │ │ ├── isInclusive.js │ │ │ │ │ ├── isNestedProjection.js │ │ │ │ │ ├── isPathExcluded.js │ │ │ │ │ ├── isPathSelectedInclusive.js │ │ │ │ │ ├── isSubpath.js │ │ │ │ │ └── parseProjection.js │ │ │ │ ├── promiseOrCallback.js │ │ │ │ ├── query │ │ │ │ │ ├── applyGlobalOption.js │ │ │ │ │ ├── cast$expr.js │ │ │ │ │ ├── castFilterPath.js │ │ │ │ │ ├── castUpdate.js │ │ │ │ │ ├── getEmbeddedDiscriminatorPath.js │ │ │ │ │ ├── handleImmutable.js │ │ │ │ │ ├── handleReadPreferenceAliases.js │ │ │ │ │ ├── hasDollarKeys.js │ │ │ │ │ ├── isOperator.js │ │ │ │ │ ├── sanitizeFilter.js │ │ │ │ │ ├── sanitizeProjection.js │ │ │ │ │ ├── selectPopulatedFields.js │ │ │ │ │ ├── trusted.js │ │ │ │ │ └── validOps.js │ │ │ │ ├── schema │ │ │ │ │ ├── addAutoId.js │ │ │ │ │ ├── applyBuiltinPlugins.js │ │ │ │ │ ├── applyPlugins.js │ │ │ │ │ ├── applyWriteConcern.js │ │ │ │ │ ├── cleanPositionalOperators.js │ │ │ │ │ ├── getIndexes.js │ │ │ │ │ ├── getKeysInSchemaOrder.js │ │ │ │ │ ├── getPath.js │ │ │ │ │ ├── getSubdocumentStrictValue.js │ │ │ │ │ ├── handleIdOption.js │ │ │ │ │ ├── handleTimestampOption.js │ │ │ │ │ ├── idGetter.js │ │ │ │ │ └── merge.js │ │ │ │ ├── schematype │ │ │ │ │ └── handleImmutable.js │ │ │ │ ├── setDefaultsOnInsert.js │ │ │ │ ├── specialProperties.js │ │ │ │ ├── symbols.js │ │ │ │ ├── timers.js │ │ │ │ ├── timestamps │ │ │ │ │ ├── setDocumentTimestamps.js │ │ │ │ │ └── setupTimestamps.js │ │ │ │ ├── topology │ │ │ │ │ ├── allServersUnknown.js │ │ │ │ │ ├── isAtlas.js │ │ │ │ │ └── isSSLError.js │ │ │ │ ├── update │ │ │ │ │ ├── applyTimestampsToChildren.js │ │ │ │ │ ├── applyTimestampsToUpdate.js │ │ │ │ │ ├── castArrayFilters.js │ │ │ │ │ ├── decorateUpdateWithVersionKey.js │ │ │ │ │ ├── modifiedPaths.js │ │ │ │ │ ├── moveImmutableProperties.js │ │ │ │ │ ├── removeUnusedArrayFilters.js │ │ │ │ │ └── updatedPathsByArrayFilter.js │ │ │ │ └── updateValidators.js │ │ │ ├── index.js │ │ │ ├── internal.js │ │ │ ├── model.js │ │ │ ├── mongoose.js │ │ │ ├── options.js │ │ │ ├── options │ │ │ │ ├── populateOptions.js │ │ │ │ ├── propertyOptions.js │ │ │ │ ├── saveOptions.js │ │ │ │ ├── schemaArrayOptions.js │ │ │ │ ├── schemaBufferOptions.js │ │ │ │ ├── schemaDateOptions.js │ │ │ │ ├── schemaDocumentArrayOptions.js │ │ │ │ ├── schemaMapOptions.js │ │ │ │ ├── schemaNumberOptions.js │ │ │ │ ├── schemaObjectIdOptions.js │ │ │ │ ├── schemaStringOptions.js │ │ │ │ ├── schemaSubdocumentOptions.js │ │ │ │ ├── schemaTypeOptions.js │ │ │ │ └── virtualOptions.js │ │ │ ├── plugins │ │ │ │ ├── index.js │ │ │ │ ├── saveSubdocs.js │ │ │ │ ├── sharding.js │ │ │ │ ├── trackTransaction.js │ │ │ │ └── validateBeforeSave.js │ │ │ ├── query.js │ │ │ ├── queryHelpers.js │ │ │ ├── schema.js │ │ │ ├── schema │ │ │ │ ├── array.js │ │ │ │ ├── bigint.js │ │ │ │ ├── boolean.js │ │ │ │ ├── buffer.js │ │ │ │ ├── date.js │ │ │ │ ├── decimal128.js │ │ │ │ ├── documentArray.js │ │ │ │ ├── documentArrayElement.js │ │ │ │ ├── index.js │ │ │ │ ├── map.js │ │ │ │ ├── mixed.js │ │ │ │ ├── number.js │ │ │ │ ├── objectId.js │ │ │ │ ├── operators │ │ │ │ │ ├── bitwise.js │ │ │ │ │ ├── exists.js │ │ │ │ │ ├── geospatial.js │ │ │ │ │ ├── helpers.js │ │ │ │ │ ├── text.js │ │ │ │ │ └── type.js │ │ │ │ ├── string.js │ │ │ │ ├── subdocument.js │ │ │ │ ├── symbols.js │ │ │ │ └── uuid.js │ │ │ ├── schemaType.js │ │ │ ├── stateMachine.js │ │ │ ├── types │ │ │ │ ├── array │ │ │ │ │ ├── index.js │ │ │ │ │ ├── isMongooseArray.js │ │ │ │ │ └── methods │ │ │ │ │ │ └── index.js │ │ │ │ ├── arraySubdocument.js │ │ │ │ ├── buffer.js │ │ │ │ ├── decimal128.js │ │ │ │ ├── documentArray │ │ │ │ │ ├── index.js │ │ │ │ │ ├── isMongooseDocumentArray.js │ │ │ │ │ └── methods │ │ │ │ │ │ └── index.js │ │ │ │ ├── index.js │ │ │ │ ├── map.js │ │ │ │ ├── objectid.js │ │ │ │ ├── subdocument.js │ │ │ │ └── uuid.js │ │ │ ├── utils.js │ │ │ ├── validOptions.js │ │ │ └── virtualType.js │ │ ├── node_modules │ │ │ └── ms │ │ │ │ ├── index.js │ │ │ │ ├── license.md │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ ├── package.json │ │ └── types │ │ │ ├── aggregate.d.ts │ │ │ ├── augmentations.d.ts │ │ │ ├── callback.d.ts │ │ │ ├── collection.d.ts │ │ │ ├── connection.d.ts │ │ │ ├── cursor.d.ts │ │ │ ├── document.d.ts │ │ │ ├── error.d.ts │ │ │ ├── expressions.d.ts │ │ │ ├── helpers.d.ts │ │ │ ├── index.d.ts │ │ │ ├── indexes.d.ts │ │ │ ├── inferschematype.d.ts │ │ │ ├── middlewares.d.ts │ │ │ ├── models.d.ts │ │ │ ├── mongooseoptions.d.ts │ │ │ ├── pipelinestage.d.ts │ │ │ ├── populate.d.ts │ │ │ ├── query.d.ts │ │ │ ├── schemaoptions.d.ts │ │ │ ├── schematypes.d.ts │ │ │ ├── session.d.ts │ │ │ ├── types.d.ts │ │ │ ├── utility.d.ts │ │ │ ├── validation.d.ts │ │ │ └── virtuals.d.ts │ ├── mpath │ │ ├── .travis.yml │ │ ├── History.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── SECURITY.md │ │ ├── index.js │ │ ├── lib │ │ │ ├── index.js │ │ │ └── stringToParts.js │ │ ├── package.json │ │ └── test │ │ │ ├── .eslintrc.yml │ │ │ ├── index.js │ │ │ └── stringToParts.js │ ├── mquery │ │ ├── .github │ │ │ ├── ISSUE_TEMPLATE.md │ │ │ └── PULL_REQUEST_TEMPLATE.md │ │ ├── History.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── SECURITY.md │ │ ├── lib │ │ │ ├── collection │ │ │ │ ├── collection.js │ │ │ │ ├── index.js │ │ │ │ └── node.js │ │ │ ├── env.js │ │ │ ├── mquery.js │ │ │ ├── permissions.js │ │ │ └── utils.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 │ ├── ms │ │ ├── index.js │ │ ├── license.md │ │ ├── package.json │ │ └── readme.md │ ├── negotiator │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── lib │ │ │ ├── charset.js │ │ │ ├── encoding.js │ │ │ ├── language.js │ │ │ └── mediaType.js │ │ └── package.json │ ├── 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 │ ├── 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 │ ├── punycode │ │ ├── LICENSE-MIT.txt │ │ ├── README.md │ │ ├── package.json │ │ ├── punycode.es6.js │ │ └── punycode.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 │ ├── 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 │ ├── 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.d.ts │ │ ├── env.js │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── package.json │ │ └── tsconfig.json │ ├── setprototypeof │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.js │ ├── side-channel │ │ ├── .editorconfig │ │ ├── .eslintrc │ │ ├── .github │ │ │ └── FUNDING.yml │ │ ├── .nycrc │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── package.json │ │ ├── test │ │ │ └── index.js │ │ └── tsconfig.json │ ├── sift │ │ ├── MIT-LICENSE.txt │ │ ├── README.md │ │ ├── es │ │ │ ├── index.js │ │ │ └── index.js.map │ │ ├── es5m │ │ │ ├── index.js │ │ │ └── index.js.map │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── lib │ │ │ ├── core.d.ts │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── index.js.map │ │ │ ├── operations.d.ts │ │ │ └── utils.d.ts │ │ ├── package.json │ │ ├── sift.csp.min.js │ │ ├── sift.csp.min.js.map │ │ ├── sift.min.js │ │ ├── sift.min.js.map │ │ └── src │ │ │ ├── core.d.ts │ │ │ ├── core.js │ │ │ ├── core.js.map │ │ │ ├── core.ts │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── index.js.map │ │ │ ├── index.ts │ │ │ ├── operations.d.ts │ │ │ ├── operations.js │ │ │ ├── operations.js.map │ │ │ ├── operations.ts │ │ │ ├── utils.d.ts │ │ │ ├── utils.js │ │ │ ├── utils.js.map │ │ │ └── utils.ts │ ├── 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 │ ├── socket.io-adapter │ │ ├── LICENSE │ │ ├── Readme.md │ │ ├── dist │ │ │ ├── cluster-adapter.d.ts │ │ │ ├── cluster-adapter.js │ │ │ ├── contrib │ │ │ │ ├── yeast.d.ts │ │ │ │ └── yeast.js │ │ │ ├── in-memory-adapter.d.ts │ │ │ ├── in-memory-adapter.js │ │ │ ├── index.d.ts │ │ │ └── index.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 │ ├── socket.io-parser │ │ ├── LICENSE │ │ ├── Readme.md │ │ ├── build │ │ │ ├── cjs │ │ │ │ ├── binary.d.ts │ │ │ │ ├── binary.js │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── is-binary.d.ts │ │ │ │ ├── is-binary.js │ │ │ │ └── package.json │ │ │ ├── esm-debug │ │ │ │ ├── binary.d.ts │ │ │ │ ├── binary.js │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── is-binary.d.ts │ │ │ │ ├── is-binary.js │ │ │ │ └── package.json │ │ │ └── esm │ │ │ │ ├── binary.d.ts │ │ │ │ ├── binary.js │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── is-binary.d.ts │ │ │ │ ├── is-binary.js │ │ │ │ └── package.json │ │ ├── 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 │ ├── socket.io │ │ ├── LICENSE │ │ ├── Readme.md │ │ ├── client-dist │ │ │ ├── socket.io.esm.min.js │ │ │ ├── socket.io.esm.min.js.map │ │ │ ├── socket.io.js │ │ │ ├── socket.io.js.map │ │ │ ├── socket.io.min.js │ │ │ ├── socket.io.min.js.map │ │ │ ├── socket.io.msgpack.min.js │ │ │ └── socket.io.msgpack.min.js.map │ │ ├── dist │ │ │ ├── broadcast-operator.d.ts │ │ │ ├── broadcast-operator.js │ │ │ ├── client.d.ts │ │ │ ├── client.js │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── namespace.d.ts │ │ │ ├── namespace.js │ │ │ ├── parent-namespace.d.ts │ │ │ ├── parent-namespace.js │ │ │ ├── socket.d.ts │ │ │ ├── socket.js │ │ │ ├── typed-events.d.ts │ │ │ ├── typed-events.js │ │ │ ├── uws.d.ts │ │ │ └── uws.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 │ │ └── wrapper.mjs │ ├── sparse-bitfield │ │ ├── .npmignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test.js │ ├── statuses │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── codes.json │ │ ├── index.js │ │ └── 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 │ ├── tr46 │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── index.js │ │ ├── lib │ │ │ ├── mappingTable.json │ │ │ ├── regexes.js │ │ │ └── statusMapping.js │ │ └── package.json │ ├── type-is │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── undefsafe │ │ ├── .github │ │ │ └── workflows │ │ │ │ └── release.yml │ │ ├── .jscsrc │ │ ├── .jshintrc │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── example.js │ │ ├── lib │ │ │ └── undefsafe.js │ │ └── package.json │ ├── undici-types │ │ ├── README.md │ │ ├── agent.d.ts │ │ ├── api.d.ts │ │ ├── balanced-pool.d.ts │ │ ├── cache.d.ts │ │ ├── client.d.ts │ │ ├── connector.d.ts │ │ ├── content-type.d.ts │ │ ├── cookies.d.ts │ │ ├── diagnostics-channel.d.ts │ │ ├── dispatcher.d.ts │ │ ├── errors.d.ts │ │ ├── fetch.d.ts │ │ ├── file.d.ts │ │ ├── filereader.d.ts │ │ ├── formdata.d.ts │ │ ├── global-dispatcher.d.ts │ │ ├── global-origin.d.ts │ │ ├── handlers.d.ts │ │ ├── header.d.ts │ │ ├── index.d.ts │ │ ├── interceptors.d.ts │ │ ├── mock-agent.d.ts │ │ ├── mock-client.d.ts │ │ ├── mock-errors.d.ts │ │ ├── mock-interceptor.d.ts │ │ ├── mock-pool.d.ts │ │ ├── package.json │ │ ├── patch.d.ts │ │ ├── pool-stats.d.ts │ │ ├── pool.d.ts │ │ ├── proxy-agent.d.ts │ │ ├── readable.d.ts │ │ ├── webidl.d.ts │ │ └── websocket.d.ts │ ├── unpipe │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── utils-merge │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── vary │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── webidl-conversions │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── lib │ │ │ └── index.js │ │ └── package.json │ ├── whatwg-url │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── index.js │ │ ├── lib │ │ │ ├── Function.js │ │ │ ├── URL-impl.js │ │ │ ├── URL.js │ │ │ ├── URLSearchParams-impl.js │ │ │ ├── URLSearchParams.js │ │ │ ├── VoidFunction.js │ │ │ ├── encoding.js │ │ │ ├── infra.js │ │ │ ├── percent-encoding.js │ │ │ ├── url-state-machine.js │ │ │ ├── urlencoded.js │ │ │ └── utils.js │ │ ├── package.json │ │ └── webidl2js-wrapper.js │ ├── ws │ │ ├── LICENSE │ │ ├── README.md │ │ ├── browser.js │ │ ├── index.js │ │ ├── lib │ │ │ ├── buffer-util.js │ │ │ ├── constants.js │ │ │ ├── event-target.js │ │ │ ├── extension.js │ │ │ ├── limiter.js │ │ │ ├── permessage-deflate.js │ │ │ ├── receiver.js │ │ │ ├── sender.js │ │ │ ├── stream.js │ │ │ ├── subprotocol.js │ │ │ ├── validation.js │ │ │ ├── websocket-server.js │ │ │ └── websocket.js │ │ ├── package.json │ │ └── wrapper.mjs │ └── yallist │ │ ├── LICENSE │ │ ├── README.md │ │ ├── iterator.js │ │ ├── package.json │ │ └── yallist.js ├── package-lock.json ├── package.json └── routes │ ├── message.route.js │ └── user.route.js └── Frontend ├── .gitignore ├── README.md ├── eslint.config.js ├── index.html ├── package-lock.json ├── package.json ├── postcss.config.js ├── public └── vite.svg ├── src ├── App.jsx ├── assets │ ├── notification.mp3 │ └── react.svg ├── components │ ├── Loading.jsx │ ├── Login.jsx │ └── Signup.jsx ├── context │ ├── AuthProvider.jsx │ ├── SocketContext.jsx │ ├── useGetMessage.js │ ├── useGetSocketMessage.js │ ├── useSendMessage.js │ └── userGetAllUsers.jsx ├── home │ ├── Leftpart │ │ ├── Left.jsx │ │ ├── Search.jsx │ │ ├── User.jsx │ │ └── Users.jsx │ ├── Rightpart │ │ ├── Chatuser.jsx │ │ ├── Message.jsx │ │ ├── Messages.jsx │ │ ├── Right.jsx │ │ └── Type.jsx │ └── left1 │ │ └── Logout.jsx ├── index.css ├── main.jsx └── statemanage │ └── useConversation.js ├── tailwind.config.js └── vite.config.js /.txt: -------------------------------------------------------------------------------- 1 | *******Message Model******* 2 | 3 | Abhishek(sender)----> "Hello" 4 | Raju(receiver) -->"Hii" 5 | 6 | 7 | _id =jksdjkn (mongoDB) 8 | senderID = 66bb207585cb1f0985af9472 9 | receiverID = 66bb1ebc9937e1ee8996aa5d 10 | Message ="Hello" 11 | 12 | 13 | _id =jksdjkjhdfn (mongoDB) 14 | senderID = 66bb1ebc9937e1ee8996aa5d 15 | receiverID = 66bb207585cb1f0985af9472 16 | Message ="Hi" 17 | 18 | 19 | Conversation Model 20 | 21 | _id = hksgdjfhsjghf (mongoDB) 22 | member[senderID,receiverID] 23 | Message[_id] -------------------------------------------------------------------------------- /Backend/.env: -------------------------------------------------------------------------------- 1 | # PORT = 5002 2 | # MONGODB_PASSWORD = ikqykoTSvBKeP1vC 3 | 4 | # MONGODB_URI = mongodb+srv://2003abhishek09: ikqykoTSvBKeP1vC@cluster0.5x1bp.mongodb. 5 | # net/CHATAPP-using-MERN?retryWrites=true&w=majority&appName=Cluster0 6 | PORT = 5002 7 | MONGODB_PASSWORD = 0iyEp7x17AK2Vu0D 8 | 9 | MONGODB_URI = mongodb+srv://studymaterial0018:0iyEp7x17AK2Vu0D@cluster0.rsf4q.mongodb.net/chatApp?retryWrites=true&w=majority&appName=Cluster0 10 | 11 | 12 | JWT_TOKEN = AC2nZWxRZc07elnajgICUFzvGG9dtwyGneAdpmZO40o= -------------------------------------------------------------------------------- /Backend/models/conversation.model.js: -------------------------------------------------------------------------------- 1 | import mongoose from "mongoose"; 2 | import User from "../models/user.model.js"; 3 | import Message from "./message.model.js"; 4 | const conversationSchema = new mongoose.Schema( 5 | { 6 | members: [ 7 | { 8 | type: mongoose.Schema.Types.ObjectId, 9 | ref: User, 10 | }, 11 | ], 12 | messages: [ 13 | { 14 | type: mongoose.Schema.Types.ObjectId, 15 | ref: Message, 16 | default: [], 17 | }, 18 | ], 19 | }, 20 | { timestamps: true } 21 | ); 22 | 23 | const Conversation = mongoose.model("conversation", conversationSchema); 24 | export default Conversation; -------------------------------------------------------------------------------- /Backend/models/message.model.js: -------------------------------------------------------------------------------- 1 | import mongoose from "mongoose"; 2 | 3 | const messageSchema = new mongoose.Schema( 4 | { 5 | senderId: { 6 | type: mongoose.Schema.Types.ObjectId, 7 | ref: "User", 8 | required: true, 9 | }, 10 | receiverId: { 11 | type: mongoose.Schema.Types.ObjectId, 12 | ref: "User", 13 | required: true, 14 | }, 15 | message: { 16 | type: String, 17 | required: true, 18 | }, 19 | }, 20 | { timestamps: true } 21 | ); 22 | 23 | const Message = mongoose.model("message", messageSchema); 24 | 25 | export default Message; -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/.esm-wrapper.mjs: -------------------------------------------------------------------------------- 1 | import mod from "./node.js"; 2 | 3 | export default mod; 4 | export const saslprep = mod.saslprep; 5 | -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/browser.d.ts: -------------------------------------------------------------------------------- 1 | declare const saslprep: (args_0: string, args_1?: { 2 | allowUnassigned?: boolean | undefined; 3 | } | undefined) => string; 4 | export = saslprep; 5 | //# sourceMappingURL=browser.d.ts.map -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/browser.d.ts.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,QAAQ;;wBAAmC,CAAC;AAIlD,SAAS,QAAQ,CAAC"} -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/browser.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":";;;;AAAA,oDAAgC;AAChC,6DAA8D;AAC9D,0FAA8C;AAE9C,MAAM,UAAU,GAAG,IAAA,2CAAsB,EAAC,kCAAI,CAAC,CAAC;AAEhD,MAAM,QAAQ,GAAG,eAAS,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAElD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;AAEzD,iBAAS,QAAQ,CAAC"} -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/code-points-data-browser.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | declare const data: Buffer; 3 | export default data; 4 | //# sourceMappingURL=code-points-data-browser.d.ts.map -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/code-points-data-browser.d.ts.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"code-points-data-browser.d.ts","sourceRoot":"","sources":["../src/code-points-data-browser.ts"],"names":[],"mappings":";AAAA,QAAA,MAAM,IAAI,QAGT,CAAC;AACF,eAAe,IAAI,CAAC"} -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/code-points-data-browser.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"code-points-data-browser.js","sourceRoot":"","sources":["../src/code-points-data-browser.ts"],"names":[],"mappings":";;AAAA,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CACtB,8sliBAA8sliB,EAC9sliB,QAAQ,CACT,CAAC;AACF,kBAAe,IAAI,CAAC"} -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/code-points-data.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | declare const _default: Buffer; 3 | export default _default; 4 | //# sourceMappingURL=code-points-data.d.ts.map -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/code-points-data.d.ts.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"code-points-data.d.ts","sourceRoot":"","sources":["../src/code-points-data.ts"],"names":[],"mappings":";;AAEA,wBAKE"} -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/code-points-data.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"code-points-data.js","sourceRoot":"","sources":["../src/code-points-data.ts"],"names":[],"mappings":";;AAAA,+BAAkC;AAElC,kBAAe,IAAA,iBAAU,EACvB,MAAM,CAAC,IAAI,CACT,0nFAA0nF,EAC1nF,QAAQ,CACT,CACF,CAAC"} -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/code-points-src.d.ts: -------------------------------------------------------------------------------- 1 | export declare const unassigned_code_points: Set; 2 | export declare const commonly_mapped_to_nothing: Set; 3 | export declare const non_ASCII_space_characters: Set; 4 | export declare const prohibited_characters: Set; 5 | export declare const bidirectional_r_al: Set; 6 | export declare const bidirectional_l: Set; 7 | //# sourceMappingURL=code-points-src.d.ts.map -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/code-points-src.d.ts.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"code-points-src.d.ts","sourceRoot":"","sources":["../src/code-points-src.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,sBAAsB,aA6YjC,CAAC;AAMH,eAAO,MAAM,0BAA0B,aAIrC,CAAC;AAMH,eAAO,MAAM,0BAA0B,aASrC,CAAC;AAMH,eAAO,MAAM,qBAAqB,aA6GhC,CAAC;AAMH,eAAO,MAAM,kBAAkB,aAmC7B,CAAC;AAMH,eAAO,MAAM,eAAe,aAyW1B,CAAC"} -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/generate-code-points.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | //# sourceMappingURL=generate-code-points.d.ts.map -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/generate-code-points.d.ts.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"generate-code-points.d.ts","sourceRoot":"","sources":["../src/generate-code-points.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/index.d.ts: -------------------------------------------------------------------------------- 1 | import type { createMemoryCodePoints } from './memory-code-points'; 2 | declare function saslprep({ unassigned_code_points, commonly_mapped_to_nothing, non_ASCII_space_characters, prohibited_characters, bidirectional_r_al, bidirectional_l, }: ReturnType, input: string, opts?: { 3 | allowUnassigned?: boolean; 4 | }): string; 5 | declare namespace saslprep { 6 | export var saslprep: typeof import("."); 7 | var _a: typeof import("."); 8 | export { _a as default }; 9 | } 10 | export = saslprep; 11 | //# sourceMappingURL=index.d.ts.map -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/index.d.ts.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAsCnE,iBAAS,QAAQ,CACf,EACE,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,GAChB,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,EAC5C,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GACvC,MAAM,CAqGR;kBAhHQ,QAAQ;;;;;AAoHjB,SAAS,QAAQ,CAAC"} -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/memory-code-points.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import bitfield from 'sparse-bitfield'; 3 | export declare function createMemoryCodePoints(data: Buffer): { 4 | unassigned_code_points: bitfield.BitFieldInstance; 5 | commonly_mapped_to_nothing: bitfield.BitFieldInstance; 6 | non_ASCII_space_characters: bitfield.BitFieldInstance; 7 | prohibited_characters: bitfield.BitFieldInstance; 8 | bidirectional_r_al: bitfield.BitFieldInstance; 9 | bidirectional_l: bitfield.BitFieldInstance; 10 | }; 11 | //# sourceMappingURL=memory-code-points.d.ts.map -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/memory-code-points.d.ts.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"memory-code-points.d.ts","sourceRoot":"","sources":["../src/memory-code-points.ts"],"names":[],"mappings":";AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAEvC,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM;;;;;;;EA+BlD"} -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/node.d.ts: -------------------------------------------------------------------------------- 1 | declare function saslprep(input: string, opts?: { 2 | allowUnassigned?: boolean; 3 | }): string; 4 | declare namespace saslprep { 5 | export var saslprep: typeof import("./node"); 6 | var _a: typeof import("./node"); 7 | export { _a as default }; 8 | } 9 | export = saslprep; 10 | //# sourceMappingURL=node.d.ts.map -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/node.d.ts.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAMA,iBAAS,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAE7E;kBAFQ,QAAQ;;;;;AAOjB,SAAS,QAAQ,CAAC"} -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/node.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":";;;;AAAA,oDAAgC;AAChC,6DAA8D;AAC9D,0EAAsC;AAEtC,MAAM,UAAU,GAAG,IAAA,2CAAsB,EAAC,0BAAI,CAAC,CAAC;AAEhD,SAAS,QAAQ,CAAC,KAAa,EAAE,IAAoC;IACnE,OAAO,IAAA,eAAS,EAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC7B,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC;AAE5B,iBAAS,QAAQ,CAAC"} -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/util.d.ts: -------------------------------------------------------------------------------- 1 | export declare function range(from: number, to: number): number[]; 2 | //# sourceMappingURL=util.d.ts.map -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/util.d.ts.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAGA,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAQxD"} -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/util.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.range = void 0; 4 | function range(from, to) { 5 | const list = new Array(to - from + 1); 6 | for (let i = 0; i < list.length; i += 1) { 7 | list[i] = from + i; 8 | } 9 | return list; 10 | } 11 | exports.range = range; 12 | //# sourceMappingURL=util.js.map -------------------------------------------------------------------------------- /Backend/node_modules/@mongodb-js/saslprep/dist/util.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;AAGA,SAAgB,KAAK,CAAC,IAAY,EAAE,EAAU;IAE5C,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;IAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACvC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;KACpB;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AARD,sBAQC"} -------------------------------------------------------------------------------- /Backend/node_modules/@socket.io/component-emitter/lib/cjs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@socket.io/component-emitter", 3 | "type": "commonjs" 4 | } 5 | -------------------------------------------------------------------------------- /Backend/node_modules/@socket.io/component-emitter/lib/esm/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@socket.io/component-emitter", 3 | "type": "module" 4 | } 5 | -------------------------------------------------------------------------------- /Backend/node_modules/@types/cookie/README.md: -------------------------------------------------------------------------------- 1 | # Installation 2 | > `npm install --save @types/cookie` 3 | 4 | # Summary 5 | This package contains type definitions for cookie (https://github.com/jshttp/cookie). 6 | 7 | # Details 8 | Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/cookie. 9 | 10 | ### Additional Details 11 | * Last updated: Tue, 06 Jul 2021 20:32:30 GMT 12 | * Dependencies: none 13 | * Global values: none 14 | 15 | # Credits 16 | These definitions were written by [Pine Mizune](https://github.com/pine), and [Piotr Błażejewicz](https://github.com/peterblazejewicz). 17 | -------------------------------------------------------------------------------- /Backend/node_modules/@types/node/assert/strict.d.ts: -------------------------------------------------------------------------------- 1 | declare module "assert/strict" { 2 | import { strict } from "node:assert"; 3 | export = strict; 4 | } 5 | declare module "node:assert/strict" { 6 | import { strict } from "node:assert"; 7 | export = strict; 8 | } 9 | -------------------------------------------------------------------------------- /Backend/node_modules/@types/node/globals.global.d.ts: -------------------------------------------------------------------------------- 1 | declare var global: typeof globalThis; 2 | -------------------------------------------------------------------------------- /Backend/node_modules/@types/webidl-conversions/README.md: -------------------------------------------------------------------------------- 1 | # Installation 2 | > `npm install --save @types/webidl-conversions` 3 | 4 | # Summary 5 | This package contains type definitions for webidl-conversions (https://github.com/jsdom/webidl-conversions#readme). 6 | 7 | # Details 8 | Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/webidl-conversions. 9 | 10 | ### Additional Details 11 | * Last updated: Tue, 07 Nov 2023 15:11:36 GMT 12 | * Dependencies: none 13 | 14 | # Credits 15 | These definitions were written by [ExE Boss](https://github.com/ExE-Boss), and [BendingBender](https://github.com/BendingBender). 16 | -------------------------------------------------------------------------------- /Backend/node_modules/@types/whatwg-url/webidl2js-wrapper.d.ts: -------------------------------------------------------------------------------- 1 | import * as URL from "./lib/URL"; 2 | import * as URLSearchParams from "./lib/URLSearchParams"; 3 | 4 | export { URL, URLSearchParams }; 5 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/balanced-match/.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | tidelift: "npm/balanced-match" 2 | patreon: juliangruber 3 | -------------------------------------------------------------------------------- /Backend/node_modules/base64id/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # [2.0.0](https://github.com/faeldt/base64id/compare/1.0.0...2.0.0) (2019-05-27) 2 | 3 | 4 | ### Code Refactoring 5 | 6 | * **buffer:** replace deprecated Buffer constructor usage ([#11](https://github.com/faeldt/base64id/issues/11)) ([ccfba54](https://github.com/faeldt/base64id/commit/ccfba54)) 7 | 8 | 9 | ### BREAKING CHANGES 10 | 11 | * **buffer:** drop support for Node.js ≤ 4.4.x and 5.0.0 - 5.9.x 12 | 13 | See: https://nodejs.org/en/docs/guides/buffer-constructor-deprecation/ 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Backend/node_modules/base64id/README.md: -------------------------------------------------------------------------------- 1 | base64id 2 | ======== 3 | 4 | Node.js module that generates a base64 id. 5 | 6 | Uses crypto.randomBytes when available, falls back to unsafe methods for node.js <= 0.4. 7 | 8 | To increase performance, random bytes are buffered to minimize the number of synchronous calls to crypto.randomBytes. 9 | 10 | ## Installation 11 | 12 | $ npm install base64id 13 | 14 | ## Usage 15 | 16 | var base64id = require('base64id'); 17 | 18 | var id = base64id.generateId(); 19 | -------------------------------------------------------------------------------- /Backend/node_modules/base64id/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "base64id" 3 | , "version": "2.0.0" 4 | , "license": "MIT" 5 | , "description": "Generates a base64 id" 6 | , "author": "Kristian Faeldt " 7 | , "repository": { 8 | "type": "git" 9 | , "url": "https://github.com/faeldt/base64id.git" 10 | } 11 | , "main": "./lib/base64id.js" 12 | , "engines": { "node": "^4.5.0 || >= 5.9" } 13 | } 14 | -------------------------------------------------------------------------------- /Backend/node_modules/bcryptjs/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | npm-debug.log 3 | debug.log 4 | doco/ 5 | tests/bench.js 6 | *.png 7 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/bcryptjs/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "vsicons.presets.angular": false 3 | } -------------------------------------------------------------------------------- /Backend/node_modules/bcryptjs/dist/bcrypt.min.js.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekumar09/ChatApp/35e8e3534dcbfe0b989392917c182f4be6341be2/Backend/node_modules/bcryptjs/dist/bcrypt.min.js.gz -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/binary-extensions/binary-extensions.json.d.ts: -------------------------------------------------------------------------------- 1 | declare const binaryExtensionsJson: readonly string[]; 2 | 3 | export = binaryExtensionsJson; 4 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/binary-extensions/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./binary-extensions.json'); 2 | -------------------------------------------------------------------------------- /Backend/node_modules/binary-extensions/readme.md: -------------------------------------------------------------------------------- 1 | # binary-extensions 2 | 3 | > List of binary file extensions 4 | 5 | The list is just a [JSON file](binary-extensions.json) and can be used anywhere. 6 | 7 | ## Install 8 | 9 | ```sh 10 | npm install binary-extensions 11 | ``` 12 | 13 | ## Usage 14 | 15 | ```js 16 | const binaryExtensions = require('binary-extensions'); 17 | 18 | console.log(binaryExtensions); 19 | //=> ['3ds', '3g2', …] 20 | ``` 21 | 22 | ## Related 23 | 24 | - [is-binary-path](https://github.com/sindresorhus/is-binary-path) - Check if a filepath is a binary file 25 | - [text-extensions](https://github.com/sindresorhus/text-extensions) - List of text file extensions 26 | -------------------------------------------------------------------------------- /Backend/node_modules/bson/src/max_key.ts: -------------------------------------------------------------------------------- 1 | import { BSONValue } from './bson_value'; 2 | 3 | /** @public */ 4 | export interface MaxKeyExtended { 5 | $maxKey: 1; 6 | } 7 | 8 | /** 9 | * A class representation of the BSON MaxKey type. 10 | * @public 11 | * @category BSONType 12 | */ 13 | export class MaxKey extends BSONValue { 14 | get _bsontype(): 'MaxKey' { 15 | return 'MaxKey'; 16 | } 17 | 18 | /** @internal */ 19 | toExtendedJSON(): MaxKeyExtended { 20 | return { $maxKey: 1 }; 21 | } 22 | 23 | /** @internal */ 24 | static fromExtendedJSON(): MaxKey { 25 | return new MaxKey(); 26 | } 27 | 28 | inspect(): string { 29 | return 'new MaxKey()'; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Backend/node_modules/bson/src/min_key.ts: -------------------------------------------------------------------------------- 1 | import { BSONValue } from './bson_value'; 2 | 3 | /** @public */ 4 | export interface MinKeyExtended { 5 | $minKey: 1; 6 | } 7 | 8 | /** 9 | * A class representation of the BSON MinKey type. 10 | * @public 11 | * @category BSONType 12 | */ 13 | export class MinKey extends BSONValue { 14 | get _bsontype(): 'MinKey' { 15 | return 'MinKey'; 16 | } 17 | 18 | /** @internal */ 19 | toExtendedJSON(): MinKeyExtended { 20 | return { $minKey: 1 }; 21 | } 22 | 23 | /** @internal */ 24 | static fromExtendedJSON(): MinKey { 25 | return new MinKey(); 26 | } 27 | 28 | inspect(): string { 29 | return 'new MinKey()'; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Backend/node_modules/bson/vendor/text-encoding/index.js: -------------------------------------------------------------------------------- 1 | // This is free and unencumbered software released into the public domain. 2 | // See LICENSE.md for more information. 3 | 4 | var encoding = require("./lib/encoding.js"); 5 | 6 | module.exports = { 7 | TextEncoder: encoding.TextEncoder, 8 | TextDecoder: encoding.TextDecoder, 9 | }; 10 | -------------------------------------------------------------------------------- /Backend/node_modules/buffer-equal-constant-time/.npmignore: -------------------------------------------------------------------------------- 1 | .*.sw[mnop] 2 | node_modules/ 3 | -------------------------------------------------------------------------------- /Backend/node_modules/buffer-equal-constant-time/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.11" 4 | - "0.10" 5 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/call-bind/.eslintignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/concat-map/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.4 4 | - 0.6 5 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/cookie-signature/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/debug/.coveralls.yml: -------------------------------------------------------------------------------- 1 | repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve 2 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/debug/node.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./src/node'); 2 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/define-data-property/index.d.ts: -------------------------------------------------------------------------------- 1 | 2 | declare function defineDataProperty( 3 | obj: Record, 4 | property: keyof typeof obj, 5 | value: typeof obj[typeof property], 6 | nonEnumerable?: boolean | null, 7 | nonWritable?: boolean | null, 8 | nonConfigurable?: boolean | null, 9 | loose?: boolean 10 | ): void; 11 | 12 | export = defineDataProperty; -------------------------------------------------------------------------------- /Backend/node_modules/dotenv/config.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /Backend/node_modules/dotenv/config.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | require('./lib/main').config( 3 | Object.assign( 4 | {}, 5 | require('./lib/env-options'), 6 | require('./lib/cli-options')(process.argv) 7 | ) 8 | ) 9 | })() 10 | -------------------------------------------------------------------------------- /Backend/node_modules/dotenv/lib/cli-options.js: -------------------------------------------------------------------------------- 1 | const re = /^dotenv_config_(encoding|path|debug|override|DOTENV_KEY)=(.+)$/ 2 | 3 | module.exports = function optionMatcher (args) { 4 | return args.reduce(function (acc, cur) { 5 | const matches = cur.match(re) 6 | if (matches) { 7 | acc[matches[1]] = matches[2] 8 | } 9 | return acc 10 | }, {}) 11 | } 12 | -------------------------------------------------------------------------------- /Backend/node_modules/ecdsa-sig-formatter/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @omsmith 2 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/engine.io-parser/build/cjs/commons.d.ts: -------------------------------------------------------------------------------- 1 | declare const PACKET_TYPES: any; 2 | declare const PACKET_TYPES_REVERSE: any; 3 | declare const ERROR_PACKET: Packet; 4 | export { PACKET_TYPES, PACKET_TYPES_REVERSE, ERROR_PACKET }; 5 | export declare type PacketType = "open" | "close" | "ping" | "pong" | "message" | "upgrade" | "noop" | "error"; 6 | export declare type RawData = any; 7 | export interface Packet { 8 | type: PacketType; 9 | options?: { 10 | compress: boolean; 11 | }; 12 | data?: RawData; 13 | } 14 | export declare type BinaryType = "nodebuffer" | "arraybuffer" | "blob"; 15 | -------------------------------------------------------------------------------- /Backend/node_modules/engine.io-parser/build/cjs/contrib/base64-arraybuffer.d.ts: -------------------------------------------------------------------------------- 1 | export declare const encode: (arraybuffer: ArrayBuffer) => string; 2 | export declare const decode: (base64: string) => ArrayBuffer; 3 | -------------------------------------------------------------------------------- /Backend/node_modules/engine.io-parser/build/cjs/decodePacket.browser.d.ts: -------------------------------------------------------------------------------- 1 | import { Packet, BinaryType, RawData } from "./commons.js"; 2 | export declare const decodePacket: (encodedPacket: RawData, binaryType?: BinaryType) => Packet; 3 | -------------------------------------------------------------------------------- /Backend/node_modules/engine.io-parser/build/cjs/decodePacket.d.ts: -------------------------------------------------------------------------------- 1 | import { Packet, BinaryType, RawData } from "./commons.js"; 2 | export declare const decodePacket: (encodedPacket: RawData, binaryType?: BinaryType) => Packet; 3 | -------------------------------------------------------------------------------- /Backend/node_modules/engine.io-parser/build/cjs/encodePacket.browser.d.ts: -------------------------------------------------------------------------------- 1 | import { Packet, RawData } from "./commons.js"; 2 | declare const encodePacket: ({ type, data }: Packet, supportsBinary: boolean, callback: (encodedPacket: RawData) => void) => void; 3 | export declare function encodePacketToBinary(packet: Packet, callback: (encodedPacket: RawData) => void): void | Promise; 4 | export { encodePacket }; 5 | -------------------------------------------------------------------------------- /Backend/node_modules/engine.io-parser/build/cjs/encodePacket.d.ts: -------------------------------------------------------------------------------- 1 | import { Packet, RawData } from "./commons.js"; 2 | export declare const encodePacket: ({ type, data }: Packet, supportsBinary: boolean, callback: (encodedPacket: RawData) => void) => void; 3 | export declare function encodePacketToBinary(packet: Packet, callback: (encodedPacket: RawData) => void): void; 4 | -------------------------------------------------------------------------------- /Backend/node_modules/engine.io-parser/build/cjs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "engine.io-parser", 3 | "type": "commonjs", 4 | "browser": { 5 | "./encodePacket.js": "./encodePacket.browser.js", 6 | "./decodePacket.js": "./decodePacket.browser.js" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Backend/node_modules/engine.io-parser/build/esm/commons.d.ts: -------------------------------------------------------------------------------- 1 | declare const PACKET_TYPES: any; 2 | declare const PACKET_TYPES_REVERSE: any; 3 | declare const ERROR_PACKET: Packet; 4 | export { PACKET_TYPES, PACKET_TYPES_REVERSE, ERROR_PACKET }; 5 | export declare type PacketType = "open" | "close" | "ping" | "pong" | "message" | "upgrade" | "noop" | "error"; 6 | export declare type RawData = any; 7 | export interface Packet { 8 | type: PacketType; 9 | options?: { 10 | compress: boolean; 11 | }; 12 | data?: RawData; 13 | } 14 | export declare type BinaryType = "nodebuffer" | "arraybuffer" | "blob"; 15 | -------------------------------------------------------------------------------- /Backend/node_modules/engine.io-parser/build/esm/commons.js: -------------------------------------------------------------------------------- 1 | const PACKET_TYPES = Object.create(null); // no Map = no polyfill 2 | PACKET_TYPES["open"] = "0"; 3 | PACKET_TYPES["close"] = "1"; 4 | PACKET_TYPES["ping"] = "2"; 5 | PACKET_TYPES["pong"] = "3"; 6 | PACKET_TYPES["message"] = "4"; 7 | PACKET_TYPES["upgrade"] = "5"; 8 | PACKET_TYPES["noop"] = "6"; 9 | const PACKET_TYPES_REVERSE = Object.create(null); 10 | Object.keys(PACKET_TYPES).forEach((key) => { 11 | PACKET_TYPES_REVERSE[PACKET_TYPES[key]] = key; 12 | }); 13 | const ERROR_PACKET = { type: "error", data: "parser error" }; 14 | export { PACKET_TYPES, PACKET_TYPES_REVERSE, ERROR_PACKET }; 15 | -------------------------------------------------------------------------------- /Backend/node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.d.ts: -------------------------------------------------------------------------------- 1 | export declare const encode: (arraybuffer: ArrayBuffer) => string; 2 | export declare const decode: (base64: string) => ArrayBuffer; 3 | -------------------------------------------------------------------------------- /Backend/node_modules/engine.io-parser/build/esm/decodePacket.browser.d.ts: -------------------------------------------------------------------------------- 1 | import { Packet, BinaryType, RawData } from "./commons.js"; 2 | export declare const decodePacket: (encodedPacket: RawData, binaryType?: BinaryType) => Packet; 3 | -------------------------------------------------------------------------------- /Backend/node_modules/engine.io-parser/build/esm/decodePacket.d.ts: -------------------------------------------------------------------------------- 1 | import { Packet, BinaryType, RawData } from "./commons.js"; 2 | export declare const decodePacket: (encodedPacket: RawData, binaryType?: BinaryType) => Packet; 3 | -------------------------------------------------------------------------------- /Backend/node_modules/engine.io-parser/build/esm/encodePacket.browser.d.ts: -------------------------------------------------------------------------------- 1 | import { Packet, RawData } from "./commons.js"; 2 | declare const encodePacket: ({ type, data }: Packet, supportsBinary: boolean, callback: (encodedPacket: RawData) => void) => void; 3 | export declare function encodePacketToBinary(packet: Packet, callback: (encodedPacket: RawData) => void): void | Promise; 4 | export { encodePacket }; 5 | -------------------------------------------------------------------------------- /Backend/node_modules/engine.io-parser/build/esm/encodePacket.d.ts: -------------------------------------------------------------------------------- 1 | import { Packet, RawData } from "./commons.js"; 2 | export declare const encodePacket: ({ type, data }: Packet, supportsBinary: boolean, callback: (encodedPacket: RawData) => void) => void; 3 | export declare function encodePacketToBinary(packet: Packet, callback: (encodedPacket: RawData) => void): void; 4 | -------------------------------------------------------------------------------- /Backend/node_modules/engine.io-parser/build/esm/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "engine.io-parser", 3 | "type": "module", 4 | "browser": { 5 | "./encodePacket.js": "./encodePacket.browser.js", 6 | "./decodePacket.js": "./decodePacket.browser.js" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Backend/node_modules/engine.io/build/transports-uws/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Polling } from "./polling"; 2 | import { WebSocket } from "./websocket"; 3 | declare const _default: { 4 | polling: typeof Polling; 5 | websocket: typeof WebSocket; 6 | }; 7 | export default _default; 8 | -------------------------------------------------------------------------------- /Backend/node_modules/engine.io/build/transports-uws/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const polling_1 = require("./polling"); 4 | const websocket_1 = require("./websocket"); 5 | exports.default = { 6 | polling: polling_1.Polling, 7 | websocket: websocket_1.WebSocket, 8 | }; 9 | -------------------------------------------------------------------------------- /Backend/node_modules/engine.io/build/transports/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Polling as XHR } from "./polling"; 2 | import { WebSocket } from "./websocket"; 3 | import { WebTransport } from "./webtransport"; 4 | declare const _default: { 5 | polling: typeof polling; 6 | websocket: typeof WebSocket; 7 | webtransport: typeof WebTransport; 8 | }; 9 | export default _default; 10 | /** 11 | * Polling polymorphic constructor. 12 | * 13 | * @api private 14 | */ 15 | declare function polling(req: any): XHR; 16 | declare namespace polling { 17 | var upgradesTo: string[]; 18 | } 19 | -------------------------------------------------------------------------------- /Backend/node_modules/engine.io/build/transports/webtransport.d.ts: -------------------------------------------------------------------------------- 1 | import { Transport } from "../transport"; 2 | /** 3 | * Reference: https://developer.mozilla.org/en-US/docs/Web/API/WebTransport_API 4 | */ 5 | export declare class WebTransport extends Transport { 6 | private readonly session; 7 | private readonly writer; 8 | constructor(session: any, stream: any, reader: any); 9 | get name(): string; 10 | get supportsFraming(): boolean; 11 | send(packets: any): Promise; 12 | doClose(fn: any): void; 13 | } 14 | -------------------------------------------------------------------------------- /Backend/node_modules/engine.io/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 | -------------------------------------------------------------------------------- /Backend/node_modules/engine.io/wrapper.mjs: -------------------------------------------------------------------------------- 1 | export { 2 | Server, 3 | Socket, 4 | Transport, 5 | transports, 6 | listen, 7 | attach, 8 | parser, 9 | protocol, 10 | } from "./build/engine.io.js"; 11 | -------------------------------------------------------------------------------- /Backend/node_modules/es-define-property/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "rules": { 7 | "new-cap": ["error", { 8 | "capIsNewExceptions": [ 9 | "GetIntrinsic", 10 | ], 11 | }], 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /Backend/node_modules/es-define-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/es-define-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 a single custom sponsorship URL 13 | -------------------------------------------------------------------------------- /Backend/node_modules/es-define-property/.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 | -------------------------------------------------------------------------------- /Backend/node_modules/es-define-property/index.d.ts: -------------------------------------------------------------------------------- 1 | declare const defineProperty: false | typeof Object.defineProperty; 2 | 3 | export = defineProperty; -------------------------------------------------------------------------------- /Backend/node_modules/es-define-property/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var GetIntrinsic = require('get-intrinsic'); 4 | 5 | /** @type {import('.')} */ 6 | var $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || false; 7 | if ($defineProperty) { 8 | try { 9 | $defineProperty({}, 'a', { value: 1 }); 10 | } catch (e) { 11 | // IE 8 has a broken defineProperty 12 | $defineProperty = false; 13 | } 14 | } 15 | 16 | module.exports = $defineProperty; 17 | -------------------------------------------------------------------------------- /Backend/node_modules/es-errors/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | } 6 | -------------------------------------------------------------------------------- /Backend/node_modules/es-errors/.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/es-errors 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 | -------------------------------------------------------------------------------- /Backend/node_modules/es-errors/eval.d.ts: -------------------------------------------------------------------------------- 1 | declare const EvalError: EvalErrorConstructor; 2 | 3 | export = EvalError; 4 | -------------------------------------------------------------------------------- /Backend/node_modules/es-errors/eval.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./eval')} */ 4 | module.exports = EvalError; 5 | -------------------------------------------------------------------------------- /Backend/node_modules/es-errors/index.d.ts: -------------------------------------------------------------------------------- 1 | declare const Error: ErrorConstructor; 2 | 3 | export = Error; 4 | -------------------------------------------------------------------------------- /Backend/node_modules/es-errors/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('.')} */ 4 | module.exports = Error; 5 | -------------------------------------------------------------------------------- /Backend/node_modules/es-errors/range.d.ts: -------------------------------------------------------------------------------- 1 | declare const RangeError: RangeErrorConstructor; 2 | 3 | export = RangeError; 4 | -------------------------------------------------------------------------------- /Backend/node_modules/es-errors/range.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./range')} */ 4 | module.exports = RangeError; 5 | -------------------------------------------------------------------------------- /Backend/node_modules/es-errors/ref.d.ts: -------------------------------------------------------------------------------- 1 | declare const ReferenceError: ReferenceErrorConstructor; 2 | 3 | export = ReferenceError; 4 | -------------------------------------------------------------------------------- /Backend/node_modules/es-errors/ref.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./ref')} */ 4 | module.exports = ReferenceError; 5 | -------------------------------------------------------------------------------- /Backend/node_modules/es-errors/syntax.d.ts: -------------------------------------------------------------------------------- 1 | declare const SyntaxError: SyntaxErrorConstructor; 2 | 3 | export = SyntaxError; 4 | -------------------------------------------------------------------------------- /Backend/node_modules/es-errors/syntax.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./syntax')} */ 4 | module.exports = SyntaxError; 5 | -------------------------------------------------------------------------------- /Backend/node_modules/es-errors/test/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var test = require('tape'); 4 | 5 | var E = require('../'); 6 | var R = require('../range'); 7 | var Ref = require('../ref'); 8 | var S = require('../syntax'); 9 | var T = require('../type'); 10 | 11 | test('errors', function (t) { 12 | t.equal(E, Error); 13 | t.equal(R, RangeError); 14 | t.equal(Ref, ReferenceError); 15 | t.equal(S, SyntaxError); 16 | t.equal(T, TypeError); 17 | 18 | t.end(); 19 | }); 20 | -------------------------------------------------------------------------------- /Backend/node_modules/es-errors/type.d.ts: -------------------------------------------------------------------------------- 1 | declare const TypeError: TypeErrorConstructor 2 | 3 | export = TypeError; 4 | -------------------------------------------------------------------------------- /Backend/node_modules/es-errors/type.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./type')} */ 4 | module.exports = TypeError; 5 | -------------------------------------------------------------------------------- /Backend/node_modules/es-errors/uri.d.ts: -------------------------------------------------------------------------------- 1 | declare const URIError: URIErrorConstructor; 2 | 3 | export = URIError; 4 | -------------------------------------------------------------------------------- /Backend/node_modules/es-errors/uri.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./uri')} */ 4 | module.exports = URIError; 5 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/function-bind/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var implementation = require('./implementation'); 4 | 5 | module.exports = Function.prototype.bind || implementation; 6 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/has-proto/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | } 6 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/has-proto/index.d.ts: -------------------------------------------------------------------------------- 1 | declare function hasProto(): boolean; 2 | 3 | export = hasProto; -------------------------------------------------------------------------------- /Backend/node_modules/has-proto/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var test = { 4 | __proto__: null, 5 | foo: {} 6 | }; 7 | 8 | var $Object = Object; 9 | 10 | /** @type {import('.')} */ 11 | module.exports = function hasProto() { 12 | // @ts-expect-error: TS errors on an inherited property for some reason 13 | return { __proto__: test }.foo === test.foo 14 | && !(test instanceof $Object); 15 | }; 16 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/hasown/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | } 6 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/hasown/index.d.ts: -------------------------------------------------------------------------------- 1 | declare function hasOwn(o: O, p: K): o is O & Record; 2 | 3 | export = hasOwn; 4 | -------------------------------------------------------------------------------- /Backend/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 {import('.')} */ 8 | module.exports = bind.call(call, $hasOwn); 9 | -------------------------------------------------------------------------------- /Backend/node_modules/hasown/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@ljharb/tsconfig", 3 | "exclude": [ 4 | "coverage", 5 | ], 6 | } 7 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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; -------------------------------------------------------------------------------- /Backend/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; -------------------------------------------------------------------------------- /Backend/node_modules/jsonwebtoken/lib/asymmetricKeyDetailsSupported.js: -------------------------------------------------------------------------------- 1 | const semver = require('semver'); 2 | 3 | module.exports = semver.satisfies(process.version, '>=15.7.0'); 4 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/jsonwebtoken/lib/rsaPssKeyDetailsSupported.js: -------------------------------------------------------------------------------- 1 | const semver = require('semver'); 2 | 3 | module.exports = semver.satisfies(process.version, '>=16.9.0'); 4 | -------------------------------------------------------------------------------- /Backend/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 | }; -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/kareem/SECURITY.md: -------------------------------------------------------------------------------- 1 | ## Security contact information 2 | 3 | To report a security vulnerability, please use the 4 | [Tidelift security contact](https://tidelift.com/security). 5 | Tidelift will coordinate the fix and disclosure. 6 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/memory-pager/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - '4' 4 | - '6' 5 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/mime/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekumar09/ChatApp/35e8e3534dcbfe0b989392917c182f4be6341be2/Backend/node_modules/mime/.npmignore -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/mongodb-connection-string-url/.esm-wrapper.mjs: -------------------------------------------------------------------------------- 1 | import mod from "./lib/index.js"; 2 | 3 | export default mod["default"]; 4 | export const CommaAndColonSeparatedRecord = mod.CommaAndColonSeparatedRecord; 5 | export const ConnectionString = mod.ConnectionString; 6 | export const redactConnectionString = mod.redactConnectionString; 7 | -------------------------------------------------------------------------------- /Backend/node_modules/mongodb-connection-string-url/lib/redact.d.ts: -------------------------------------------------------------------------------- 1 | import ConnectionString from './index'; 2 | export interface ConnectionStringRedactionOptions { 3 | redactUsernames?: boolean; 4 | replacementString?: string; 5 | } 6 | export declare function redactValidConnectionString(inputUrl: Readonly, options?: ConnectionStringRedactionOptions): ConnectionString; 7 | export declare function redactConnectionString(uri: string, options?: ConnectionStringRedactionOptions): string; 8 | -------------------------------------------------------------------------------- /Backend/node_modules/mongodb/etc/prepare.js: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env node 2 | var cp = require('child_process'); 3 | var fs = require('fs'); 4 | var os = require('os'); 5 | 6 | if (fs.existsSync('src')) { 7 | cp.spawn('npm', ['run', 'build:dts'], { stdio: 'inherit', shell: os.platform() === 'win32' }); 8 | } else { 9 | if (!fs.existsSync('lib')) { 10 | console.warn('MongoDB: No compiled javascript present, the driver is not installed correctly.'); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Backend/node_modules/mongodb/lib/client-side-encryption/providers/aws.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"aws.js","sourceRoot":"","sources":["../../../src/client-side-encryption/providers/aws.ts"],"names":[],"mappings":";;;AAAA,qCAAsD;AAGtD;;GAEG;AACI,KAAK,UAAU,kBAAkB,CAAC,YAA0B;IACjE,MAAM,kBAAkB,GAAG,IAAA,+BAAwB,GAAE,CAAC;IAEtD,IAAI,cAAc,IAAI,kBAAkB,EAAE;QACxC,OAAO,YAAY,CAAC;KACrB;IAED,MAAM,EAAE,qBAAqB,EAAE,GAAG,kBAAkB,CAAC;IACrD,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,8DAA8D;IAC9D,sCAAsC;IACtC,MAAM,GAAG,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC7B,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,EAAE,CAAC;AAClC,CAAC;AAbD,gDAaC"} -------------------------------------------------------------------------------- /Backend/node_modules/mongodb/lib/client-side-encryption/providers/gcp.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"gcp.js","sourceRoot":"","sources":["../../../src/client-side-encryption/providers/gcp.ts"],"names":[],"mappings":";;;AAAA,qCAA4C;AAG5C,gBAAgB;AACT,KAAK,UAAU,kBAAkB,CAAC,YAA0B;IACjE,MAAM,WAAW,GAAG,IAAA,qBAAc,GAAE,CAAC;IAErC,IAAI,cAAc,IAAI,WAAW,EAAE;QACjC,OAAO,YAAY,CAAC;KACrB;IAED,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,WAAW,CAAC,QAAQ,CAA2B;QACzF,QAAQ,EAAE,gCAAgC;KAC3C,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC;AACnD,CAAC;AAXD,gDAWC"} -------------------------------------------------------------------------------- /Backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/aws_service_workflow.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"aws_service_workflow.js","sourceRoot":"","sources":["../../../../src/cmap/auth/mongodb_oidc/aws_service_workflow.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AAEzB,0CAA+C;AAC/C,yDAAqD;AAErD,8DAA8D;AAC9D,MAAM,mBAAmB,GAAG,6DAA6D,CAAC;AAE1F;;;;GAIG;AACH,MAAa,kBAAmB,SAAQ,kCAAe;IACrD;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;QAC1D,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,IAAI,qBAAa,CAAC,mBAAmB,CAAC,CAAC;SAC9C;QACD,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;CACF;AAfD,gDAeC"} -------------------------------------------------------------------------------- /Backend/node_modules/mongodb/lib/cmap/auth/providers.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../src/cmap/auth/providers.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACD,QAAA,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;IACxB,eAAe,EAAE,SAAS;IAC1B,cAAc,EAAE,QAAQ;IACxB,aAAa,EAAE,OAAO;IACtB,kBAAkB,EAAE,aAAa;IACjC,oBAAoB,EAAE,eAAe;IACrC,YAAY,EAAE,cAAc;IAC5B,oBAAoB;IACpB,YAAY,EAAE,cAAc;CACpB,CAAC,CAAC;AAKZ,gBAAgB;AACH,QAAA,4BAA4B,GAAG,IAAI,GAAG,CAAgB;IACjE,qBAAa,CAAC,cAAc;IAC5B,qBAAa,CAAC,WAAW;IACzB,qBAAa,CAAC,YAAY;IAC1B,qBAAa,CAAC,YAAY;CAC3B,CAAC,CAAC"} -------------------------------------------------------------------------------- /Backend/node_modules/mongodb/lib/cmap/wire_protocol/constants.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/cmap/wire_protocol/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,4BAA4B,GAAG,KAAK,CAAC;AACrC,QAAA,4BAA4B,GAAG,KAAK,CAAC;AACrC,QAAA,0BAA0B,GAAG,CAAC,CAAC;AAC/B,QAAA,0BAA0B,GAAG,EAAE,CAAC;AAChC,QAAA,6BAA6B,GAAG,EAAE,CAAC;AACnC,QAAA,+BAA+B,GAAG,KAAK,CAAC;AACxC,QAAA,QAAQ,GAAG,CAAC,CAAC;AACb,QAAA,SAAS,GAAG,IAAI,CAAC;AACjB,QAAA,SAAS,GAAG,IAAI,CAAC;AACjB,QAAA,QAAQ,GAAG,IAAI,CAAC;AAChB,QAAA,SAAS,GAAG,IAAI,CAAC;AACjB,QAAA,aAAa,GAAG,IAAI,CAAC;AACrB,QAAA,MAAM,GAAG,IAAI,CAAC"} -------------------------------------------------------------------------------- /Backend/node_modules/mongodb/lib/cursor/list_search_indexes_cursor.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"list_search_indexes_cursor.js","sourceRoot":"","sources":["../../src/cursor/list_search_indexes_cursor.ts"],"names":[],"mappings":";;;AAEA,6DAAyD;AAKzD,cAAc;AACd,MAAa,uBAAwB,SAAQ,sCAAmC;IAC9E,gBAAgB;IAChB,YACE,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAc,EACzC,IAAmB,EACnB,UAAoC,EAAE;QAEtC,MAAM,QAAQ,GACZ,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACnF,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;CACF;AAXD,0DAWC"} -------------------------------------------------------------------------------- /Backend/node_modules/mongodb/lib/operations/remove_user.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"remove_user.js","sourceRoot":"","sources":["../../src/operations/remove_user.ts"],"names":[],"mappings":";;;AAGA,uCAA2E;AAC3E,2CAAoD;AAKpD,gBAAgB;AAChB,MAAa,mBAAoB,SAAQ,0BAAyB;IAIhE,YAAY,EAAM,EAAE,QAAgB,EAAE,OAA0B;QAC9D,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,IAAa,WAAW;QACtB,OAAO,UAAmB,CAAC;IAC7B,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,OAAkC;QACvE,MAAM,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAlBD,kDAkBC;AAED,IAAA,yBAAa,EAAC,mBAAmB,EAAE,CAAC,kBAAM,CAAC,eAAe,CAAC,CAAC,CAAC"} -------------------------------------------------------------------------------- /Backend/node_modules/mongodb/src/client-side-encryption/providers/gcp.ts: -------------------------------------------------------------------------------- 1 | import { getGcpMetadata } from '../../deps'; 2 | import { type KMSProviders } from '.'; 3 | 4 | /** @internal */ 5 | export async function loadGCPCredentials(kmsProviders: KMSProviders): Promise { 6 | const gcpMetadata = getGcpMetadata(); 7 | 8 | if ('kModuleError' in gcpMetadata) { 9 | return kmsProviders; 10 | } 11 | 12 | const { access_token: accessToken } = await gcpMetadata.instance<{ access_token: string }>({ 13 | property: 'service-accounts/default/token' 14 | }); 15 | return { ...kmsProviders, gcp: { accessToken } }; 16 | } 17 | -------------------------------------------------------------------------------- /Backend/node_modules/mongodb/src/cmap/wire_protocol/constants.ts: -------------------------------------------------------------------------------- 1 | export const MIN_SUPPORTED_SERVER_VERSION = '3.6'; 2 | export const MAX_SUPPORTED_SERVER_VERSION = '7.0'; 3 | export const MIN_SUPPORTED_WIRE_VERSION = 6; 4 | export const MAX_SUPPORTED_WIRE_VERSION = 21; 5 | export const MIN_SUPPORTED_QE_WIRE_VERSION = 21; 6 | export const MIN_SUPPORTED_QE_SERVER_VERSION = '7.0'; 7 | export const OP_REPLY = 1; 8 | export const OP_UPDATE = 2001; 9 | export const OP_INSERT = 2002; 10 | export const OP_QUERY = 2004; 11 | export const OP_DELETE = 2006; 12 | export const OP_COMPRESSED = 2012; 13 | export const OP_MSG = 2013; 14 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/SECURITY.md: -------------------------------------------------------------------------------- 1 | Please follow the instructions on [Tidelift's security page](https://tidelift.com/docs/security) to report a security issue. 2 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/browser.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Export lib/mongoose 3 | * 4 | */ 5 | 6 | 'use strict'; 7 | 8 | module.exports = require('./lib/browser'); 9 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/connectionState.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Connection states 4 | */ 5 | 6 | 'use strict'; 7 | 8 | const STATES = module.exports = exports = Object.create(null); 9 | 10 | const disconnected = 'disconnected'; 11 | const connected = 'connected'; 12 | const connecting = 'connecting'; 13 | const disconnecting = 'disconnecting'; 14 | const uninitialized = 'uninitialized'; 15 | 16 | STATES[0] = disconnected; 17 | STATES[1] = connected; 18 | STATES[2] = connecting; 19 | STATES[3] = disconnecting; 20 | STATES[99] = uninitialized; 21 | 22 | STATES[disconnected] = 0; 23 | STATES[connected] = 1; 24 | STATES[connecting] = 2; 25 | STATES[disconnecting] = 3; 26 | STATES[uninitialized] = 99; 27 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/documentProvider.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* eslint-env browser */ 4 | 5 | /*! 6 | * Module dependencies. 7 | */ 8 | const Document = require('./document.js'); 9 | const BrowserDocument = require('./browserDocument.js'); 10 | 11 | let isBrowser = false; 12 | 13 | /** 14 | * Returns the Document constructor for the current context 15 | * 16 | * @api private 17 | */ 18 | module.exports = function documentProvider() { 19 | if (isBrowser) { 20 | return BrowserDocument; 21 | } 22 | return Document; 23 | }; 24 | 25 | /*! 26 | * ignore 27 | */ 28 | module.exports.setBrowser = function(flag) { 29 | isBrowser = flag; 30 | }; 31 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/driver.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ignore 5 | */ 6 | 7 | let driver = null; 8 | 9 | module.exports.get = function() { 10 | return driver; 11 | }; 12 | 13 | module.exports.set = function(v) { 14 | driver = v; 15 | }; 16 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/drivers/SPEC.md: -------------------------------------------------------------------------------- 1 | 2 | # Driver Spec 3 | 4 | TODO 5 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/drivers/browser/binary.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Module dependencies. 4 | */ 5 | 6 | 'use strict'; 7 | 8 | const Binary = require('bson').Binary; 9 | 10 | /*! 11 | * Module exports. 12 | */ 13 | 14 | module.exports = exports = Binary; 15 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/drivers/browser/decimal128.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ignore 3 | */ 4 | 5 | 'use strict'; 6 | 7 | module.exports = require('bson').Decimal128; 8 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/drivers/browser/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Module exports. 3 | */ 4 | 5 | 'use strict'; 6 | 7 | exports.Collection = function() { 8 | throw new Error('Cannot create a collection from browser library'); 9 | }; 10 | exports.Connection = function() { 11 | throw new Error('Cannot create a connection from browser library'); 12 | }; 13 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/drivers/browser/objectid.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * [node-mongodb-native](https://github.com/mongodb/node-mongodb-native) ObjectId 4 | * @constructor NodeMongoDbObjectId 5 | * @see ObjectId 6 | */ 7 | 8 | 'use strict'; 9 | 10 | const ObjectId = require('bson').ObjectID; 11 | 12 | /** 13 | * Getter for convenience with populate, see gh-6115 14 | * @api private 15 | */ 16 | 17 | Object.defineProperty(ObjectId.prototype, '_id', { 18 | enumerable: false, 19 | configurable: true, 20 | get: function() { 21 | return this; 22 | } 23 | }); 24 | 25 | /*! 26 | * ignore 27 | */ 28 | 29 | module.exports = exports = ObjectId; 30 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/drivers/node-mongodb-native/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Module exports. 3 | */ 4 | 5 | 'use strict'; 6 | 7 | exports.Collection = require('./collection'); 8 | exports.Connection = require('./connection'); 9 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/error/browserMissingSchema.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Module dependencies. 3 | */ 4 | 5 | 'use strict'; 6 | 7 | const MongooseError = require('./'); 8 | 9 | 10 | class MissingSchemaError extends MongooseError { 11 | /** 12 | * MissingSchema Error constructor. 13 | */ 14 | constructor() { 15 | super('Schema hasn\'t been registered for document.\n' 16 | + 'Use mongoose.Document(name, schema)'); 17 | } 18 | } 19 | 20 | Object.defineProperty(MissingSchemaError.prototype, 'name', { 21 | value: 'MongooseError' 22 | }); 23 | 24 | /*! 25 | * exports 26 | */ 27 | 28 | module.exports = MissingSchemaError; 29 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/error/createCollectionsError.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const MongooseError = require('./mongooseError'); 4 | 5 | /** 6 | * createCollections Error constructor 7 | * 8 | * @param {String} message 9 | * @param {String} errorsMap 10 | * @inherits MongooseError 11 | * @api private 12 | */ 13 | 14 | class CreateCollectionsError extends MongooseError { 15 | constructor(message, errorsMap) { 16 | super(message); 17 | this.errors = errorsMap; 18 | } 19 | } 20 | 21 | Object.defineProperty(CreateCollectionsError.prototype, 'name', { 22 | value: 'CreateCollectionsError' 23 | }); 24 | 25 | module.exports = CreateCollectionsError; 26 | 27 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/error/mongooseError.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ignore 5 | */ 6 | 7 | class MongooseError extends Error { } 8 | 9 | Object.defineProperty(MongooseError.prototype, 'name', { 10 | value: 'MongooseError' 11 | }); 12 | 13 | module.exports = MongooseError; 14 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/error/overwriteModel.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Module dependencies. 4 | */ 5 | 6 | 'use strict'; 7 | 8 | const MongooseError = require('./'); 9 | 10 | 11 | class OverwriteModelError extends MongooseError { 12 | /** 13 | * OverwriteModel Error constructor. 14 | * @param {String} name 15 | * @api private 16 | */ 17 | constructor(name) { 18 | super('Cannot overwrite `' + name + '` model once compiled.'); 19 | } 20 | } 21 | 22 | Object.defineProperty(OverwriteModelError.prototype, 'name', { 23 | value: 'OverwriteModelError' 24 | }); 25 | 26 | /*! 27 | * exports 28 | */ 29 | 30 | module.exports = OverwriteModelError; 31 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/error/parallelSave.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * Module dependencies. 5 | */ 6 | 7 | const MongooseError = require('./'); 8 | 9 | class ParallelSaveError extends MongooseError { 10 | /** 11 | * ParallelSave Error constructor. 12 | * 13 | * @param {Document} doc 14 | * @api private 15 | */ 16 | constructor(doc) { 17 | const msg = 'Can\'t save() the same doc multiple times in parallel. Document: '; 18 | super(msg + doc._id); 19 | } 20 | } 21 | 22 | Object.defineProperty(ParallelSaveError.prototype, 'name', { 23 | value: 'ParallelSaveError' 24 | }); 25 | 26 | /*! 27 | * exports 28 | */ 29 | 30 | module.exports = ParallelSaveError; 31 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/error/syncIndexes.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * Module dependencies. 5 | */ 6 | 7 | const MongooseError = require('./mongooseError'); 8 | 9 | /** 10 | * SyncIndexes Error constructor. 11 | * 12 | * @param {String} message 13 | * @param {String} errorsMap 14 | * @inherits MongooseError 15 | * @api private 16 | */ 17 | 18 | class SyncIndexesError extends MongooseError { 19 | constructor(message, errorsMap) { 20 | super(message); 21 | this.errors = errorsMap; 22 | } 23 | } 24 | 25 | Object.defineProperty(SyncIndexesError.prototype, 'name', { 26 | value: 'SyncIndexesError' 27 | }); 28 | 29 | 30 | module.exports = SyncIndexesError; 31 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/discriminator/areDiscriminatorValuesEqual.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const isBsonType = require('../isBsonType'); 4 | 5 | module.exports = function areDiscriminatorValuesEqual(a, b) { 6 | if (typeof a === 'string' && typeof b === 'string') { 7 | return a === b; 8 | } 9 | if (typeof a === 'number' && typeof b === 'number') { 10 | return a === b; 11 | } 12 | if (isBsonType(a, 'ObjectId') && isBsonType(b, 'ObjectId')) { 13 | return a.toString() === b.toString(); 14 | } 15 | return false; 16 | }; 17 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/discriminator/checkEmbeddedDiscriminatorKeyProjection.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function checkEmbeddedDiscriminatorKeyProjection(userProjection, path, schema, selected, addedPaths) { 4 | const userProjectedInPath = Object.keys(userProjection). 5 | reduce((cur, key) => cur || key.startsWith(path + '.'), false); 6 | const _discriminatorKey = path + '.' + schema.options.discriminatorKey; 7 | if (!userProjectedInPath && 8 | addedPaths.length === 1 && 9 | addedPaths[0] === _discriminatorKey) { 10 | selected.splice(selected.indexOf(_discriminatorKey), 1); 11 | } 12 | }; 13 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/each.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function each(arr, cb, done) { 4 | if (arr.length === 0) { 5 | return done(); 6 | } 7 | 8 | let remaining = arr.length; 9 | let err = null; 10 | for (const v of arr) { 11 | cb(v, function(_err) { 12 | if (err != null) { 13 | return; 14 | } 15 | if (_err != null) { 16 | err = _err; 17 | return done(err); 18 | } 19 | 20 | if (--remaining <= 0) { 21 | return done(); 22 | } 23 | }); 24 | } 25 | }; 26 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/error/combinePathErrors.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ignore 5 | */ 6 | 7 | module.exports = function combinePathErrors(err) { 8 | const keys = Object.keys(err.errors || {}); 9 | const len = keys.length; 10 | const msgs = []; 11 | let key; 12 | 13 | for (let i = 0; i < len; ++i) { 14 | key = keys[i]; 15 | if (err === err.errors[key]) { 16 | continue; 17 | } 18 | msgs.push(key + ': ' + err.errors[key].message); 19 | } 20 | 21 | return msgs.join(', '); 22 | }; 23 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/firstKey.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function firstKey(obj) { 4 | if (obj == null) { 5 | return null; 6 | } 7 | return Object.keys(obj)[0]; 8 | }; 9 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/getConstructorName.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * If `val` is an object, returns constructor name, if possible. Otherwise returns undefined. 5 | * @api private 6 | */ 7 | 8 | module.exports = function getConstructorName(val) { 9 | if (val == null) { 10 | return void 0; 11 | } 12 | if (typeof val.constructor !== 'function') { 13 | return void 0; 14 | } 15 | return val.constructor.name; 16 | }; 17 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/getDefaultBulkwriteResult.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | function getDefaultBulkwriteResult() { 3 | return { 4 | result: { 5 | ok: 1, 6 | writeErrors: [], 7 | writeConcernErrors: [], 8 | insertedIds: [], 9 | nInserted: 0, 10 | nUpserted: 0, 11 | nMatched: 0, 12 | nModified: 0, 13 | nRemoved: 0, 14 | upserted: [] 15 | }, 16 | insertedCount: 0, 17 | matchedCount: 0, 18 | modifiedCount: 0, 19 | deletedCount: 0, 20 | upsertedCount: 0, 21 | upsertedIds: {}, 22 | insertedIds: {}, 23 | n: 0 24 | }; 25 | } 26 | 27 | module.exports = getDefaultBulkwriteResult; 28 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/getFunctionName.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const functionNameRE = /^function\s*([^\s(]+)/; 4 | 5 | module.exports = function(fn) { 6 | return ( 7 | fn.name || 8 | (fn.toString().trim().match(functionNameRE) || [])[1] 9 | ); 10 | }; 11 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/immediate.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Centralize this so we can more easily work around issues with people 3 | * stubbing out `process.nextTick()` in tests using sinon: 4 | * https://github.com/sinonjs/lolex#automatically-incrementing-mocked-time 5 | * See gh-6074 6 | */ 7 | 8 | 'use strict'; 9 | 10 | const nextTick = typeof process !== 'undefined' && typeof process.nextTick === 'function' ? 11 | process.nextTick.bind(process) : 12 | cb => setTimeout(cb, 0); // Fallback for browser build 13 | 14 | module.exports = function immediate(cb) { 15 | return nextTick(cb); 16 | }; 17 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/indexes/applySchemaCollation.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const isTextIndex = require('./isTextIndex'); 4 | 5 | module.exports = function applySchemaCollation(indexKeys, indexOptions, schemaOptions) { 6 | if (isTextIndex(indexKeys)) { 7 | return; 8 | } 9 | 10 | if (schemaOptions.hasOwnProperty('collation') && !indexOptions.hasOwnProperty('collation')) { 11 | indexOptions.collation = schemaOptions.collation; 12 | } 13 | }; 14 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/indexes/isDefaultIdIndex.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const get = require('../get'); 4 | 5 | module.exports = function isDefaultIdIndex(index) { 6 | if (Array.isArray(index)) { 7 | // Mongoose syntax 8 | const keys = Object.keys(index[0]); 9 | return keys.length === 1 && keys[0] === '_id' && index[0]._id !== 'hashed'; 10 | } 11 | 12 | if (typeof index !== 'object') { 13 | return false; 14 | } 15 | 16 | const key = get(index, 'key', {}); 17 | return Object.keys(key).length === 1 && key.hasOwnProperty('_id'); 18 | }; 19 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/indexes/isTextIndex.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Returns `true` if the given index options have a `text` option. 5 | */ 6 | 7 | module.exports = function isTextIndex(indexKeys) { 8 | let isTextIndex = false; 9 | for (const key of Object.keys(indexKeys)) { 10 | if (indexKeys[key] === 'text') { 11 | isTextIndex = true; 12 | } 13 | } 14 | 15 | return isTextIndex; 16 | }; 17 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/isAsyncFunction.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function isAsyncFunction(v) { 4 | return ( 5 | typeof v === 'function' && 6 | v.constructor && 7 | v.constructor.name === 'AsyncFunction' 8 | ); 9 | }; 10 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/isBsonType.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Get the bson type, if it exists 5 | * @api private 6 | */ 7 | 8 | function isBsonType(obj, typename) { 9 | return ( 10 | typeof obj === 'object' && 11 | obj !== null && 12 | obj._bsontype === typename 13 | ); 14 | } 15 | 16 | module.exports = isBsonType; 17 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/isMongooseObject.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const isMongooseArray = require('../types/array/isMongooseArray').isMongooseArray; 4 | /** 5 | * Returns if `v` is a mongoose object that has a `toObject()` method we can use. 6 | * 7 | * This is for compatibility with libs like Date.js which do foolish things to Natives. 8 | * 9 | * @param {Any} v 10 | * @api private 11 | */ 12 | 13 | module.exports = function(v) { 14 | return ( 15 | v != null && ( 16 | isMongooseArray(v) || // Array or Document Array 17 | v.$__ != null || // Document 18 | v.isMongooseBuffer || // Buffer 19 | v.$isMongooseMap // Map 20 | ) 21 | ); 22 | }; 23 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/isObject.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Determines if `arg` is an object. 5 | * 6 | * @param {Object|Array|String|Function|RegExp|any} arg 7 | * @api private 8 | * @return {Boolean} 9 | */ 10 | 11 | module.exports = function(arg) { 12 | return ( 13 | Buffer.isBuffer(arg) || 14 | Object.prototype.toString.call(arg) === '[object Object]' 15 | ); 16 | }; 17 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/isPOJO.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function isPOJO(arg) { 4 | if (arg == null || typeof arg !== 'object') { 5 | return false; 6 | } 7 | const proto = Object.getPrototypeOf(arg); 8 | // Prototype may be null if you used `Object.create(null)` 9 | // Checking `proto`'s constructor is safe because `getPrototypeOf()` 10 | // explicitly crosses the boundary from object data to object metadata 11 | return !proto || proto.constructor.name === 'Object'; 12 | }; 13 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/isPromise.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | function isPromise(val) { 3 | return !!val && (typeof val === 'object' || typeof val === 'function') && typeof val.then === 'function'; 4 | } 5 | 6 | module.exports = isPromise; 7 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/isSimpleValidator.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Determines if `arg` is a flat object. 5 | * 6 | * @param {Object|Array|String|Function|RegExp|any} arg 7 | * @api private 8 | * @return {Boolean} 9 | */ 10 | 11 | module.exports = function isSimpleValidator(obj) { 12 | const keys = Object.keys(obj); 13 | let result = true; 14 | for (let i = 0, len = keys.length; i < len; ++i) { 15 | if (typeof obj[keys[i]] === 'object' && obj[keys[i]] !== null) { 16 | result = false; 17 | break; 18 | } 19 | } 20 | 21 | return result; 22 | }; 23 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/model/applyStatics.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Register statics for this model 5 | * @param {Model} model 6 | * @param {Schema} schema 7 | * @api private 8 | */ 9 | module.exports = function applyStatics(model, schema) { 10 | for (const i in schema.statics) { 11 | model[i] = schema.statics[i]; 12 | } 13 | }; 14 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/model/pushNestedArrayPaths.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function pushNestedArrayPaths(paths, nestedArray, path) { 4 | if (nestedArray == null) { 5 | return; 6 | } 7 | 8 | for (let i = 0; i < nestedArray.length; ++i) { 9 | if (Array.isArray(nestedArray[i])) { 10 | pushNestedArrayPaths(paths, nestedArray[i], path + '.' + i); 11 | } else { 12 | paths.push(path + '.' + i); 13 | } 14 | } 15 | }; 16 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/once.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function once(fn) { 4 | let called = false; 5 | return function() { 6 | if (called) { 7 | return; 8 | } 9 | called = true; 10 | return fn.apply(null, arguments); 11 | }; 12 | }; 13 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/path/parentPaths.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const dotRE = /\./g; 4 | module.exports = function parentPaths(path) { 5 | if (path.indexOf('.') === -1) { 6 | return [path]; 7 | } 8 | const pieces = path.split(dotRE); 9 | const len = pieces.length; 10 | const ret = new Array(len); 11 | let cur = ''; 12 | for (let i = 0; i < len; ++i) { 13 | cur += (cur.length !== 0) ? '.' + pieces[i] : pieces[i]; 14 | ret[i] = cur; 15 | } 16 | 17 | return ret; 18 | }; 19 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/populate/leanPopulateMap.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ignore 5 | */ 6 | 7 | module.exports = new WeakMap(); 8 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/populate/skipPopulateValue.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function SkipPopulateValue(val) { 4 | if (!(this instanceof SkipPopulateValue)) { 5 | return new SkipPopulateValue(val); 6 | } 7 | 8 | this.val = val; 9 | return this; 10 | }; 11 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/populate/validateRef.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const MongooseError = require('../../error/mongooseError'); 4 | const util = require('util'); 5 | 6 | module.exports = validateRef; 7 | 8 | function validateRef(ref, path) { 9 | if (typeof ref === 'string') { 10 | return; 11 | } 12 | 13 | if (typeof ref === 'function') { 14 | return; 15 | } 16 | 17 | throw new MongooseError('Invalid ref at path "' + path + '". Got ' + 18 | util.inspect(ref, { depth: 0 })); 19 | } 20 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/projection/isDefiningProjection.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ignore 5 | */ 6 | 7 | module.exports = function isDefiningProjection(val) { 8 | if (val == null) { 9 | // `undefined` or `null` become exclusive projections 10 | return true; 11 | } 12 | if (typeof val === 'object') { 13 | // Only cases where a value does **not** define whether the whole projection 14 | // is inclusive or exclusive are `$meta` and `$slice`. 15 | return !('$meta' in val) && !('$slice' in val); 16 | } 17 | return true; 18 | }; 19 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/projection/isNestedProjection.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function isNestedProjection(val) { 4 | if (val == null || typeof val !== 'object') { 5 | return false; 6 | } 7 | return val.$slice == null && val.$elemMatch == null && val.$meta == null && val.$ == null; 8 | }; 9 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/projection/isSubpath.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Determines if `path2` is a subpath of or equal to `path1` 5 | * 6 | * @param {string} path1 7 | * @param {string} path2 8 | * @return {Boolean} 9 | * @api private 10 | */ 11 | 12 | module.exports = function isSubpath(path1, path2) { 13 | return path1 === path2 || path2.startsWith(path1 + '.'); 14 | }; 15 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/query/handleReadPreferenceAliases.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function handleReadPreferenceAliases(pref) { 4 | switch (pref) { 5 | case 'p': 6 | pref = 'primary'; 7 | break; 8 | case 'pp': 9 | pref = 'primaryPreferred'; 10 | break; 11 | case 's': 12 | pref = 'secondary'; 13 | break; 14 | case 'sp': 15 | pref = 'secondaryPreferred'; 16 | break; 17 | case 'n': 18 | pref = 'nearest'; 19 | break; 20 | } 21 | 22 | return pref; 23 | }; 24 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/query/hasDollarKeys.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ignore 5 | */ 6 | 7 | module.exports = function hasDollarKeys(obj) { 8 | 9 | if (typeof obj !== 'object' || obj === null) { 10 | return false; 11 | } 12 | 13 | const keys = Object.keys(obj); 14 | const len = keys.length; 15 | 16 | for (let i = 0; i < len; ++i) { 17 | if (keys[i][0] === '$') { 18 | return true; 19 | } 20 | } 21 | 22 | return false; 23 | }; 24 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/query/isOperator.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const specialKeys = new Set([ 4 | '$ref', 5 | '$id', 6 | '$db' 7 | ]); 8 | 9 | module.exports = function isOperator(path) { 10 | return ( 11 | path[0] === '$' && 12 | !specialKeys.has(path) 13 | ); 14 | }; 15 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/query/sanitizeProjection.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function sanitizeProjection(projection) { 4 | if (projection == null) { 5 | return; 6 | } 7 | 8 | const keys = Object.keys(projection); 9 | for (let i = 0; i < keys.length; ++i) { 10 | if (typeof projection[keys[i]] === 'string') { 11 | projection[keys[i]] = 1; 12 | } 13 | } 14 | }; 15 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/query/trusted.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const trustedSymbol = Symbol('mongoose#trustedSymbol'); 4 | 5 | exports.trustedSymbol = trustedSymbol; 6 | 7 | exports.trusted = function trusted(obj) { 8 | if (obj == null || typeof obj !== 'object') { 9 | return obj; 10 | } 11 | obj[trustedSymbol] = true; 12 | return obj; 13 | }; 14 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/query/validOps.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('../../constants').queryMiddlewareFunctions; 4 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/schema/addAutoId.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function addAutoId(schema) { 4 | const _obj = { _id: { auto: true } }; 5 | _obj._id[schema.options.typeKey] = 'ObjectId'; 6 | schema.add(_obj); 7 | }; 8 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/schema/applyBuiltinPlugins.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const builtinPlugins = require('../../plugins'); 4 | 5 | module.exports = function applyBuiltinPlugins(schema) { 6 | for (const plugin of Object.values(builtinPlugins)) { 7 | plugin(schema, { deduplicate: true }); 8 | } 9 | schema.plugins = Object.values(builtinPlugins). 10 | map(fn => ({ fn, opts: { deduplicate: true } })). 11 | concat(schema.plugins); 12 | }; 13 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/schema/cleanPositionalOperators.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * For consistency's sake, we replace positional operator `$` and array filters 5 | * `$[]` and `$[foo]` with `0` when looking up schema paths. 6 | */ 7 | 8 | module.exports = function cleanPositionalOperators(path) { 9 | return path. 10 | replace(/\.\$(\[[^\]]*\])?(?=\.)/g, '.0'). 11 | replace(/\.\$(\[[^\]]*\])?$/g, '.0'); 12 | }; 13 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/schema/handleIdOption.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const addAutoId = require('./addAutoId'); 4 | 5 | module.exports = function handleIdOption(schema, options) { 6 | if (options == null || options._id == null) { 7 | return schema; 8 | } 9 | 10 | schema = schema.clone(); 11 | if (!options._id) { 12 | schema.remove('_id'); 13 | schema.options._id = false; 14 | } else if (!schema.paths['_id']) { 15 | addAutoId(schema); 16 | schema.options._id = true; 17 | } 18 | 19 | return schema; 20 | }; 21 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/schema/handleTimestampOption.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = handleTimestampOption; 4 | 5 | /*! 6 | * ignore 7 | */ 8 | 9 | function handleTimestampOption(arg, prop) { 10 | if (arg == null) { 11 | return null; 12 | } 13 | 14 | if (typeof arg === 'boolean') { 15 | return prop; 16 | } 17 | if (typeof arg[prop] === 'boolean') { 18 | return arg[prop] ? prop : null; 19 | } 20 | if (!(prop in arg)) { 21 | return prop; 22 | } 23 | return arg[prop]; 24 | } 25 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/specialProperties.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = new Set(['__proto__', 'constructor', 'prototype']); 4 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/timers.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.setTimeout = setTimeout; 4 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/topology/allServersUnknown.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const getConstructorName = require('../getConstructorName'); 4 | 5 | module.exports = function allServersUnknown(topologyDescription) { 6 | if (getConstructorName(topologyDescription) !== 'TopologyDescription') { 7 | return false; 8 | } 9 | 10 | const servers = Array.from(topologyDescription.servers.values()); 11 | return servers.length > 0 && servers.every(server => server.type === 'Unknown'); 12 | }; 13 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/helpers/topology/isSSLError.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const getConstructorName = require('../getConstructorName'); 4 | 5 | const nonSSLMessage = 'Client network socket disconnected before secure TLS ' + 6 | 'connection was established'; 7 | 8 | module.exports = function isSSLError(topologyDescription) { 9 | if (getConstructorName(topologyDescription) !== 'TopologyDescription') { 10 | return false; 11 | } 12 | 13 | const descriptions = Array.from(topologyDescription.servers.values()); 14 | return descriptions.length > 0 && 15 | descriptions.every(descr => descr.error && descr.error.message.indexOf(nonSSLMessage) !== -1); 16 | }; 17 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * Module dependencies. 5 | */ 6 | 7 | require('./driver').set(require('./drivers/node-mongodb-native')); 8 | 9 | const mongoose = require('./mongoose'); 10 | 11 | mongoose.Mongoose.prototype.mongo = require('mongodb'); 12 | 13 | module.exports = mongoose; 14 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/options.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ignore 5 | */ 6 | 7 | exports.internalToObjectOptions = { 8 | transform: false, 9 | virtuals: false, 10 | getters: false, 11 | _skipDepopulateTopLevel: true, 12 | depopulate: true, 13 | flattenDecimals: false, 14 | useProjection: false, 15 | versionKey: true 16 | }; 17 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/options/propertyOptions.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = Object.freeze({ 4 | enumerable: true, 5 | configurable: true, 6 | writable: true, 7 | value: void 0 8 | }); 9 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/options/saveOptions.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const clone = require('../helpers/clone'); 4 | 5 | class SaveOptions { 6 | constructor(obj) { 7 | if (obj == null) { 8 | return; 9 | } 10 | Object.assign(this, clone(obj)); 11 | } 12 | } 13 | 14 | module.exports = SaveOptions; 15 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/plugins/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.saveSubdocs = require('./saveSubdocs'); 4 | exports.sharding = require('./sharding'); 5 | exports.trackTransaction = require('./trackTransaction'); 6 | exports.validateBeforeSave = require('./validateBeforeSave'); 7 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/schema/operators/exists.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const castBoolean = require('../../cast/boolean'); 4 | 5 | /*! 6 | * ignore 7 | */ 8 | 9 | module.exports = function(val) { 10 | const path = this != null ? this.path : null; 11 | return castBoolean(val, path); 12 | }; 13 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/schema/operators/helpers.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * Module requirements. 5 | */ 6 | 7 | const SchemaNumber = require('../number'); 8 | 9 | /*! 10 | * ignore 11 | */ 12 | 13 | exports.castToNumber = castToNumber; 14 | exports.castArraysOfNumbers = castArraysOfNumbers; 15 | 16 | /*! 17 | * ignore 18 | */ 19 | 20 | function castToNumber(val) { 21 | return SchemaNumber.cast()(val); 22 | } 23 | 24 | function castArraysOfNumbers(arr, self) { 25 | arr.forEach(function(v, i) { 26 | if (Array.isArray(v)) { 27 | castArraysOfNumbers(v, self); 28 | } else { 29 | arr[i] = castToNumber.call(self, v); 30 | } 31 | }); 32 | } 33 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/schema/operators/type.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ignore 5 | */ 6 | 7 | module.exports = function(val) { 8 | if (Array.isArray(val)) { 9 | if (!val.every(v => typeof v === 'number' || typeof v === 'string')) { 10 | throw new Error('$type array values must be strings or numbers'); 11 | } 12 | return val; 13 | } 14 | 15 | if (typeof val !== 'number' && typeof val !== 'string') { 16 | throw new Error('$type parameter must be number, string, or array of numbers and strings'); 17 | } 18 | 19 | return val; 20 | }; 21 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/schema/symbols.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.schemaMixedSymbol = Symbol.for('mongoose:schema_mixed'); 4 | 5 | exports.builtInMiddleware = Symbol.for('mongoose:built-in-middleware'); 6 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/types/array/isMongooseArray.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.isMongooseArray = function(mongooseArray) { 4 | return Array.isArray(mongooseArray) && mongooseArray.isMongooseArray; 5 | }; 6 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/types/decimal128.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Decimal128 type constructor 3 | * 4 | * #### Example: 5 | * 6 | * const id = new mongoose.Types.Decimal128('3.1415'); 7 | * 8 | * @constructor Decimal128 9 | */ 10 | 11 | 'use strict'; 12 | 13 | module.exports = require('bson').Decimal128; 14 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/types/documentArray/isMongooseDocumentArray.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.isMongooseDocumentArray = function(mongooseDocumentArray) { 4 | return Array.isArray(mongooseDocumentArray) && mongooseDocumentArray.isMongooseDocumentArray; 5 | }; 6 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/types/index.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Module exports. 4 | */ 5 | 6 | 'use strict'; 7 | 8 | exports.Array = require('./array'); 9 | exports.Buffer = require('./buffer'); 10 | 11 | exports.Document = // @deprecate 12 | exports.Embedded = require('./arraySubdocument'); 13 | 14 | exports.DocumentArray = require('./documentArray'); 15 | exports.Decimal128 = require('./decimal128'); 16 | exports.ObjectId = require('./objectid'); 17 | 18 | exports.Map = require('./map'); 19 | 20 | exports.Subdocument = require('./subdocument'); 21 | 22 | exports.UUID = require('./uuid'); 23 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/lib/types/uuid.js: -------------------------------------------------------------------------------- 1 | /** 2 | * UUID type constructor 3 | * 4 | * #### Example: 5 | * 6 | * const id = new mongoose.Types.UUID(); 7 | * 8 | * @constructor UUID 9 | */ 10 | 11 | 'use strict'; 12 | 13 | module.exports = require('bson').UUID; 14 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/types/augmentations.d.ts: -------------------------------------------------------------------------------- 1 | // this import is required so that types get merged instead of completely overwritten 2 | import 'bson'; 3 | 4 | declare module 'bson' { 5 | interface ObjectId { 6 | /** Mongoose automatically adds a conveniency "_id" getter on the base ObjectId class */ 7 | _id: this; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Backend/node_modules/mongoose/types/callback.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'mongoose' { 2 | type CallbackError = NativeError | null; 3 | 4 | type Callback = (error: CallbackError, result: T) => void; 5 | 6 | type CallbackWithoutResult = (error: CallbackError) => void; 7 | type CallbackWithoutResultAndOptionalError = (error?: CallbackError) => void; 8 | } 9 | -------------------------------------------------------------------------------- /Backend/node_modules/mpath/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "4" 4 | - "5" 5 | - "6" 6 | - "7" 7 | - "8" 8 | - "9" 9 | - "10" 10 | -------------------------------------------------------------------------------- /Backend/node_modules/mpath/SECURITY.md: -------------------------------------------------------------------------------- 1 | # Reporting a Vulnerability 2 | 3 | Please report suspected security vulnerabilities to val [at] karpov [dot] io. 4 | You will receive a response from us within 72 hours. 5 | If the issue is confirmed, we will release a patch as soon as possible depending on complexity. 6 | -------------------------------------------------------------------------------- /Backend/node_modules/mpath/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = exports = require('./lib'); 4 | -------------------------------------------------------------------------------- /Backend/node_modules/mpath/test/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | env: 2 | mocha: true 3 | rules: 4 | no-unused-vars: off -------------------------------------------------------------------------------- /Backend/node_modules/mquery/.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | **Do you want to request a *feature* or report a *bug*?** 4 | 5 | **What is the current behavior?** 6 | 7 | **If the current behavior is a bug, please provide the steps to reproduce.** 8 | 9 | **What is the expected behavior?** 10 | 11 | **What are the versions of Node.js and mquery are you are using? Note that "latest" is not a version.** 12 | -------------------------------------------------------------------------------- /Backend/node_modules/mquery/.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | **Summary** 4 | 5 | 6 | 7 | **Examples** 8 | 9 | 10 | -------------------------------------------------------------------------------- /Backend/node_modules/mquery/SECURITY.md: -------------------------------------------------------------------------------- 1 | Please follow the instructions on [Tidelift's security page](https://tidelift.com/docs/security) to report a security issue. 2 | -------------------------------------------------------------------------------- /Backend/node_modules/mquery/lib/collection/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const env = require('../env'); 4 | 5 | if ('unknown' == env.type) { 6 | throw new Error('Unknown environment'); 7 | } 8 | 9 | module.exports = 10 | env.isNode ? require('./node') : 11 | env.isMongo ? require('./collection') : 12 | require('./collection'); 13 | 14 | -------------------------------------------------------------------------------- /Backend/node_modules/mquery/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 | -------------------------------------------------------------------------------- /Backend/node_modules/nodemon/.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true 3 | } 4 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/nodemon/bin/windows-kill.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekumar09/ChatApp/35e8e3534dcbfe0b989392917c182f4be6341be2/Backend/node_modules/nodemon/bin/windows-kill.exe -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/nodemon/doc/cli/usage.txt: -------------------------------------------------------------------------------- 1 | Usage: nodemon [nodemon options] [script.js] [args] 2 | 3 | See "nodemon --help" for more. 4 | -------------------------------------------------------------------------------- /Backend/node_modules/nodemon/lib/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./nodemon'); -------------------------------------------------------------------------------- /Backend/node_modules/nodemon/lib/monitor/index.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | run: require('./run'), 3 | watch: require('./watch').watch, 4 | }; 5 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/nopt/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekumar09/ChatApp/35e8e3534dcbfe0b989392917c182f4be6341be2/Backend/node_modules/nopt/.npmignore -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/object-inspect/util.inspect.js: -------------------------------------------------------------------------------- 1 | module.exports = require('util').inspect; 2 | -------------------------------------------------------------------------------- /Backend/node_modules/picomatch/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('./lib/picomatch'); 4 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/semver/preload.js: -------------------------------------------------------------------------------- 1 | // XXX remove in v8 or beyond 2 | module.exports = require('./index.js') 3 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/set-function-length/env.d.ts: -------------------------------------------------------------------------------- 1 | declare const env: { 2 | __proto__: null, 3 | boundFnsHaveConfigurableLengths: boolean; 4 | boundFnsHaveWritableLengths: boolean; 5 | functionsHaveConfigurableLengths: boolean; 6 | functionsHaveWritableLengths: boolean; 7 | }; 8 | 9 | export = env; -------------------------------------------------------------------------------- /Backend/node_modules/set-function-length/index.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace setFunctionLength { 2 | type Func = (...args: unknown[]) => unknown; 3 | } 4 | 5 | declare function setFunctionLength(fn: T, length: number, loose?: boolean): T; 6 | 7 | export = setFunctionLength; -------------------------------------------------------------------------------- /Backend/node_modules/set-function-length/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@ljharb/tsconfig", 3 | "compilerOptions": { 4 | "target": "es2021", 5 | }, 6 | "exclude": [ 7 | "coverage", 8 | ], 9 | } 10 | -------------------------------------------------------------------------------- /Backend/node_modules/setprototypeof/index.d.ts: -------------------------------------------------------------------------------- 1 | declare function setPrototypeOf(o: any, proto: object | null): any; 2 | export = setPrototypeOf; 3 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/side-channel/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | insert_final_newline = true 7 | indent_style = tab 8 | indent_size = 2 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /Backend/node_modules/side-channel/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "rules": { 7 | "max-lines-per-function": 0, 8 | "multiline-comment-style": 1, 9 | "new-cap": [2, { "capIsNewExceptions": ["GetIntrinsic"] }], 10 | }, 11 | } 12 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/sift/index.d.ts: -------------------------------------------------------------------------------- 1 | import sift from "./lib"; 2 | 3 | export default sift; 4 | export * from "./lib"; 5 | -------------------------------------------------------------------------------- /Backend/node_modules/sift/index.js: -------------------------------------------------------------------------------- 1 | const lib = require("./lib"); 2 | 3 | module.exports = lib.default; 4 | Object.assign(module.exports, lib); 5 | -------------------------------------------------------------------------------- /Backend/node_modules/sift/lib/utils.d.ts: -------------------------------------------------------------------------------- 1 | export declare type Key = string | number; 2 | export declare type Comparator = (a: any, b: any) => boolean; 3 | export declare const typeChecker: (type: any) => (value: any) => value is TType; 4 | export declare const comparable: (value: any) => any; 5 | export declare const isArray: (value: any) => value is any[]; 6 | export declare const isObject: (value: any) => value is Object; 7 | export declare const isFunction: (value: any) => value is Function; 8 | export declare const isVanillaObject: (value: any) => boolean; 9 | export declare const equals: (a: any, b: any) => boolean; 10 | -------------------------------------------------------------------------------- /Backend/node_modules/sift/src/utils.d.ts: -------------------------------------------------------------------------------- 1 | export declare type Key = string | number; 2 | export declare type Comparator = (a: any, b: any) => boolean; 3 | export declare const typeChecker: (type: any) => (value: any) => value is TType; 4 | export declare const comparable: (value: any) => any; 5 | export declare const isArray: (value: any) => value is any[]; 6 | export declare const isObject: (value: any) => value is Object; 7 | export declare const isFunction: (value: any) => value is Function; 8 | export declare const isVanillaObject: (value: any) => boolean; 9 | export declare const equals: (a: any, b: any) => boolean; 10 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/socket.io-adapter/dist/index.d.ts: -------------------------------------------------------------------------------- 1 | export { SocketId, PrivateSessionId, Room, BroadcastFlags, BroadcastOptions, Session, Adapter, SessionAwareAdapter, } from "./in-memory-adapter"; 2 | export { ClusterAdapter, ClusterAdapterWithHeartbeat, ClusterAdapterOptions, ClusterMessage, ClusterResponse, MessageType, ServerId, Offset, } from "./cluster-adapter"; 3 | -------------------------------------------------------------------------------- /Backend/node_modules/socket.io-adapter/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 | -------------------------------------------------------------------------------- /Backend/node_modules/socket.io-parser/build/cjs/is-binary.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Returns true if obj is a Buffer, an ArrayBuffer, a Blob or a File. 3 | * 4 | * @private 5 | */ 6 | export declare function isBinary(obj: any): boolean; 7 | export declare function hasBinary(obj: any, toJSON?: boolean): any; 8 | -------------------------------------------------------------------------------- /Backend/node_modules/socket.io-parser/build/cjs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "commonjs" 3 | } 4 | -------------------------------------------------------------------------------- /Backend/node_modules/socket.io-parser/build/esm-debug/is-binary.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Returns true if obj is a Buffer, an ArrayBuffer, a Blob or a File. 3 | * 4 | * @private 5 | */ 6 | export declare function isBinary(obj: any): boolean; 7 | export declare function hasBinary(obj: any, toJSON?: boolean): any; 8 | -------------------------------------------------------------------------------- /Backend/node_modules/socket.io-parser/build/esm-debug/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module" 3 | } 4 | -------------------------------------------------------------------------------- /Backend/node_modules/socket.io-parser/build/esm/is-binary.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Returns true if obj is a Buffer, an ArrayBuffer, a Blob or a File. 3 | * 4 | * @private 5 | */ 6 | export declare function isBinary(obj: any): boolean; 7 | export declare function hasBinary(obj: any, toJSON?: boolean): any; 8 | -------------------------------------------------------------------------------- /Backend/node_modules/socket.io-parser/build/esm/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module" 3 | } 4 | -------------------------------------------------------------------------------- /Backend/node_modules/socket.io-parser/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 | -------------------------------------------------------------------------------- /Backend/node_modules/socket.io/dist/uws.d.ts: -------------------------------------------------------------------------------- 1 | export declare function patchAdapter(app: any): void; 2 | export declare function restoreAdapter(): void; 3 | export declare function serveFile(res: any, filepath: string): void; 4 | -------------------------------------------------------------------------------- /Backend/node_modules/socket.io/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 | -------------------------------------------------------------------------------- /Backend/node_modules/socket.io/wrapper.mjs: -------------------------------------------------------------------------------- 1 | import io from "./dist/index.js"; 2 | 3 | export const {Server, Namespace, Socket} = io; 4 | -------------------------------------------------------------------------------- /Backend/node_modules/sparse-bitfield/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /Backend/node_modules/sparse-bitfield/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - '0.10' 4 | - '0.12' 5 | - '4.0' 6 | - '5.0' 7 | -------------------------------------------------------------------------------- /Backend/node_modules/supports-color/browser.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | stdout: false, 4 | stderr: false 5 | }; 6 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/tr46/lib/statusMapping.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports.STATUS_MAPPING = { 4 | mapped: 1, 5 | valid: 2, 6 | disallowed: 3, 7 | disallowed_STD3_valid: 4, 8 | disallowed_STD3_mapped: 5, 9 | deviation: 6, 10 | ignored: 7 11 | }; 12 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/undici-types/README.md: -------------------------------------------------------------------------------- 1 | # undici-types 2 | 3 | This package is a dual-publish of the [undici](https://www.npmjs.com/package/undici) library types. The `undici` package **still contains types**. This package is for users who _only_ need undici types (such as for `@types/node`). It is published alongside every release of `undici`, so you can always use the same version. 4 | 5 | - [GitHub nodejs/undici](https://github.com/nodejs/undici) 6 | - [Undici Documentation](https://undici.nodejs.org/#/) 7 | -------------------------------------------------------------------------------- /Backend/node_modules/undici-types/content-type.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | interface MIMEType { 4 | type: string 5 | subtype: string 6 | parameters: Map 7 | essence: string 8 | } 9 | 10 | /** 11 | * Parse a string to a {@link MIMEType} object. Returns `failure` if the string 12 | * couldn't be parsed. 13 | * @see https://mimesniff.spec.whatwg.org/#parse-a-mime-type 14 | */ 15 | export function parseMIMEType (input: string): 'failure' | MIMEType 16 | 17 | /** 18 | * Convert a MIMEType object to a string. 19 | * @see https://mimesniff.spec.whatwg.org/#serialize-a-mime-type 20 | */ 21 | export function serializeAMimeType (mimeType: MIMEType): string 22 | -------------------------------------------------------------------------------- /Backend/node_modules/undici-types/global-dispatcher.d.ts: -------------------------------------------------------------------------------- 1 | import Dispatcher from "./dispatcher"; 2 | 3 | export { 4 | getGlobalDispatcher, 5 | setGlobalDispatcher 6 | } 7 | 8 | declare function setGlobalDispatcher(dispatcher: DispatcherImplementation): void; 9 | declare function getGlobalDispatcher(): Dispatcher; 10 | -------------------------------------------------------------------------------- /Backend/node_modules/undici-types/global-origin.d.ts: -------------------------------------------------------------------------------- 1 | export { 2 | setGlobalOrigin, 3 | getGlobalOrigin 4 | } 5 | 6 | declare function setGlobalOrigin(origin: string | URL | undefined): void; 7 | declare function getGlobalOrigin(): URL | undefined; -------------------------------------------------------------------------------- /Backend/node_modules/undici-types/handlers.d.ts: -------------------------------------------------------------------------------- 1 | import Dispatcher from "./dispatcher"; 2 | 3 | export declare class RedirectHandler implements Dispatcher.DispatchHandlers{ 4 | constructor (dispatch: Dispatcher, maxRedirections: number, opts: Dispatcher.DispatchOptions, handler: Dispatcher.DispatchHandlers) 5 | } 6 | 7 | export declare class DecoratorHandler implements Dispatcher.DispatchHandlers{ 8 | constructor (handler: Dispatcher.DispatchHandlers) 9 | } 10 | -------------------------------------------------------------------------------- /Backend/node_modules/undici-types/header.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * The header type declaration of `undici`. 3 | */ 4 | export type IncomingHttpHeaders = Record; 5 | -------------------------------------------------------------------------------- /Backend/node_modules/undici-types/interceptors.d.ts: -------------------------------------------------------------------------------- 1 | import Dispatcher from "./dispatcher"; 2 | 3 | type RedirectInterceptorOpts = { maxRedirections?: number } 4 | 5 | export declare function createRedirectInterceptor (opts: RedirectInterceptorOpts): Dispatcher.DispatchInterceptor 6 | -------------------------------------------------------------------------------- /Backend/node_modules/undici-types/mock-errors.d.ts: -------------------------------------------------------------------------------- 1 | import Errors from './errors' 2 | 3 | export default MockErrors 4 | 5 | declare namespace MockErrors { 6 | /** The request does not match any registered mock dispatches. */ 7 | export class MockNotMatchedError extends Errors.UndiciError { 8 | constructor(message?: string); 9 | name: 'MockNotMatchedError'; 10 | code: 'UND_MOCK_ERR_MOCK_NOT_MATCHED'; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Backend/node_modules/unpipe/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.0 / 2015-06-14 2 | ================== 3 | 4 | * Initial release 5 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/node_modules/whatwg-url/lib/encoding.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | const utf8Encoder = new TextEncoder(); 3 | const utf8Decoder = new TextDecoder("utf-8", { ignoreBOM: true }); 4 | 5 | function utf8Encode(string) { 6 | return utf8Encoder.encode(string); 7 | } 8 | 9 | function utf8DecodeWithoutBOM(bytes) { 10 | return utf8Decoder.decode(bytes); 11 | } 12 | 13 | module.exports = { 14 | utf8Encode, 15 | utf8DecodeWithoutBOM 16 | }; 17 | -------------------------------------------------------------------------------- /Backend/node_modules/whatwg-url/lib/infra.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | // Note that we take code points as JS numbers, not JS strings. 4 | 5 | function isASCIIDigit(c) { 6 | return c >= 0x30 && c <= 0x39; 7 | } 8 | 9 | function isASCIIAlpha(c) { 10 | return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A); 11 | } 12 | 13 | function isASCIIAlphanumeric(c) { 14 | return isASCIIAlpha(c) || isASCIIDigit(c); 15 | } 16 | 17 | function isASCIIHex(c) { 18 | return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66); 19 | } 20 | 21 | module.exports = { 22 | isASCIIDigit, 23 | isASCIIAlpha, 24 | isASCIIAlphanumeric, 25 | isASCIIHex 26 | }; 27 | -------------------------------------------------------------------------------- /Backend/node_modules/whatwg-url/webidl2js-wrapper.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | const URL = require("./lib/URL"); 4 | const URLSearchParams = require("./lib/URLSearchParams"); 5 | 6 | exports.URL = URL; 7 | exports.URLSearchParams = URLSearchParams; 8 | -------------------------------------------------------------------------------- /Backend/node_modules/ws/browser.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function () { 4 | throw new Error( 5 | 'ws does not work in the browser. Browser clients must use the native ' + 6 | 'WebSocket object' 7 | ); 8 | }; 9 | -------------------------------------------------------------------------------- /Backend/node_modules/ws/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const WebSocket = require('./lib/websocket'); 4 | 5 | WebSocket.createWebSocketStream = require('./lib/stream'); 6 | WebSocket.Server = require('./lib/websocket-server'); 7 | WebSocket.Receiver = require('./lib/receiver'); 8 | WebSocket.Sender = require('./lib/sender'); 9 | 10 | WebSocket.WebSocket = WebSocket; 11 | WebSocket.WebSocketServer = WebSocket.Server; 12 | 13 | module.exports = WebSocket; 14 | -------------------------------------------------------------------------------- /Backend/node_modules/ws/lib/constants.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = { 4 | BINARY_TYPES: ['nodebuffer', 'arraybuffer', 'fragments'], 5 | EMPTY_BUFFER: Buffer.alloc(0), 6 | GUID: '258EAFA5-E914-47DA-95CA-C5AB0DC85B11', 7 | kForOnEventAttribute: Symbol('kIsForOnEventAttribute'), 8 | kListener: Symbol('kListener'), 9 | kStatusCode: Symbol('status-code'), 10 | kWebSocket: Symbol('websocket'), 11 | NOOP: () => {} 12 | }; 13 | -------------------------------------------------------------------------------- /Backend/node_modules/ws/wrapper.mjs: -------------------------------------------------------------------------------- 1 | import createWebSocketStream from './lib/stream.js'; 2 | import Receiver from './lib/receiver.js'; 3 | import Sender from './lib/sender.js'; 4 | import WebSocket from './lib/websocket.js'; 5 | import WebSocketServer from './lib/websocket-server.js'; 6 | 7 | export { createWebSocketStream, Receiver, Sender, WebSocket, WebSocketServer }; 8 | export default WebSocket; 9 | -------------------------------------------------------------------------------- /Backend/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 | -------------------------------------------------------------------------------- /Backend/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "backend", 3 | "version": "1.0.0", 4 | "description": "ChatApp ", 5 | "main": "index.js", 6 | "type": "module", 7 | "scripts": { 8 | "test": "echo \"Error: no test specified\" && exit 1", 9 | "start": "nodemon index.js" 10 | }, 11 | "keywords": [ 12 | "MERN" 13 | ], 14 | "author": "Akhilesh", 15 | "license": "ISC", 16 | "dependencies": { 17 | "bcryptjs": "^2.4.3", 18 | "cookie-parser": "^1.4.6", 19 | "cors": "^2.8.5", 20 | "dotenv": "^16.4.5", 21 | "express": "^4.19.2", 22 | "jsonwebtoken": "^9.0.2", 23 | "mongoose": "^8.3.2", 24 | "nodemon": "^3.1.0", 25 | "socket.io": "^4.7.5" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Backend/routes/message.route.js: -------------------------------------------------------------------------------- 1 | import express from "express"; 2 | import { getMessage, sendMessage } from "../controller/message.controller.js"; 3 | import secureRoute from "../middleware/secureRoute.js"; 4 | 5 | const router = express.Router(); 6 | router.post("/send/:id", secureRoute, sendMessage); 7 | router.get("/get/:id", secureRoute, getMessage); 8 | 9 | export default router; -------------------------------------------------------------------------------- /Backend/routes/user.route.js: -------------------------------------------------------------------------------- 1 | import express from "express"; 2 | import { signup, login, logout, getUserProfile } from "../controller/user.controller.js"; 3 | import secureRoute from "../middleware/secureRoute.js"; 4 | 5 | const router = express.Router(); 6 | 7 | router.post("/signup", signup); 8 | router.post("/login", login); 9 | router.post("/logout", logout); 10 | router.get("/getUserProfile", secureRoute, getUserProfile); 11 | 12 | export default router; -------------------------------------------------------------------------------- /Frontend/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /Frontend/README.md: -------------------------------------------------------------------------------- 1 | cors npm - is a middleware use for making the bond/relation between frontend and backend (yeh allow krega ki dono server ek sath chle ) -------------------------------------------------------------------------------- /Frontend/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite + React 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Frontend/postcss.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /Frontend/src/assets/notification.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekumar09/ChatApp/35e8e3534dcbfe0b989392917c182f4be6341be2/Frontend/src/assets/notification.mp3 -------------------------------------------------------------------------------- /Frontend/src/home/Leftpart/Left.jsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import Search from "./Search"; 3 | import Users from "./Users"; 4 | 5 | function Left() { 6 | return ( 7 | 9 | Chats 10 | 11 | 12 | 13 | 14 | 15 | 16 | ); 17 | } 18 | 19 | export default Left; 20 | -------------------------------------------------------------------------------- /Frontend/src/home/Leftpart/Users.jsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import User from "./User"; 3 | import userGetAllUsers from "../../context/userGetAllUsers"; 4 | 5 | function Users() { 6 | const [allUsers, loading] = userGetAllUsers(); 7 | console.log(allUsers); 8 | 9 | return ( 10 | 11 | 12 | 13 | 14 | 15 | ); 16 | } 17 | 18 | export default Users; 19 | -------------------------------------------------------------------------------- /Frontend/src/home/Rightpart/Message.jsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | function Message() { 4 | return ( 5 | <> 6 | 7 | 8 | Calm down, Anakin. 9 | 10 | 11 | 12 | 13 | That's never been done in the history of the Jedi. It's insulting! 14 | 15 | 16 | 17 | > 18 | ); 19 | } 20 | 21 | export default Message; 22 | -------------------------------------------------------------------------------- /Frontend/src/home/Rightpart/Messages.jsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import Message from "./Message"; 3 | 4 | function Messages() { 5 | return ( 6 | <> 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | > 17 | ); 18 | } 19 | 20 | export default Messages; 21 | -------------------------------------------------------------------------------- /Frontend/src/home/Rightpart/Right.jsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import Chatuser from "./Chatuser"; 3 | import Messages from "./Messages"; 4 | import Type from "./Type"; 5 | 6 | function Right() { 7 | return ( 8 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | ); 19 | } 20 | 21 | export default Right; 22 | -------------------------------------------------------------------------------- /Frontend/src/home/left1/Logout.jsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { TbLogout2 } from "react-icons/tb"; 3 | export default function Logout() { 4 | return ( 5 | <> 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | > 14 | ); 15 | } -------------------------------------------------------------------------------- /Frontend/src/index.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | 6 | 7 | :root { 8 | font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; 9 | } 10 | 11 | 12 | .flex-abhi::-webkit-scrollbar { 13 | display: none; 14 | } -------------------------------------------------------------------------------- /Frontend/src/main.jsx: -------------------------------------------------------------------------------- 1 | import { StrictMode } from "react"; 2 | import { createRoot } from "react-dom/client"; 3 | import App from "./App.jsx"; 4 | import "./index.css"; 5 | import { AuthProvider } from "./context/AuthProvider.jsx"; 6 | import { BrowserRouter } from "react-router-dom"; 7 | 8 | createRoot(document.getElementById("root")).render( 9 | 10 | 11 | 12 | 13 | 14 | ); -------------------------------------------------------------------------------- /Frontend/src/statemanage/useConversation.js: -------------------------------------------------------------------------------- 1 | import { create } from "zustand"; 2 | 3 | const useConversation = create((set) => ({ 4 | selectedConversation: null, 5 | setSelectedConversation: (selectedConversation) => 6 | set({ selectedConversation }), 7 | messages: [], 8 | setMessage: (messages) => set({ messages }), 9 | })); 10 | export default useConversation; 11 | -------------------------------------------------------------------------------- /Frontend/tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | export default { 3 | content: [ 4 | "./index.html", 5 | "./src/**/*.{js,ts,jsx,tsx}", 6 | ], 7 | theme: { 8 | extend: {}, 9 | }, 10 | plugins: [ 11 | require('daisyui'), 12 | ], 13 | } 14 | 15 | -------------------------------------------------------------------------------- /Frontend/vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import react from '@vitejs/plugin-react' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()], 7 | server:{ 8 | port:4001, 9 | proxy:{ 10 | '/api' : { 11 | target: 'http://localhost:5002', 12 | changeOrigin: true, 13 | } 14 | } 15 | } 16 | }) 17 | --------------------------------------------------------------------------------