├── README.md └── backend ├── models └── Task.js ├── node_modules ├── .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 ├── @types │ ├── 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 ├── accepts │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── body-parser │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── read.js │ │ ├── types │ │ │ ├── json.js │ │ │ ├── raw.js │ │ │ ├── text.js │ │ │ └── urlencoded.js │ │ └── 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.node.mjs │ │ ├── bson.node.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 │ │ ├── parse_utf8.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 │ │ │ ├── string_utils.ts │ │ │ └── web_byte_utils.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 ├── bytes │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ └── package.json ├── call-bind-apply-helpers │ ├── .eslintrc │ ├── .github │ │ └── FUNDING.yml │ ├── .nycrc │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── actualApply.d.ts │ ├── actualApply.js │ ├── applyBind.d.ts │ ├── applyBind.js │ ├── functionApply.d.ts │ ├── functionApply.js │ ├── functionCall.d.ts │ ├── functionCall.js │ ├── index.d.ts │ ├── index.js │ ├── package.json │ ├── reflectApply.d.ts │ ├── reflectApply.js │ ├── test │ │ └── index.js │ └── tsconfig.json ├── call-bound │ ├── .eslintrc │ ├── .github │ │ └── FUNDING.yml │ ├── .nycrc │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── index.d.ts │ ├── index.js │ ├── package.json │ ├── test │ │ └── index.js │ └── tsconfig.json ├── content-disposition │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── content-type │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── cookie-signature │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ └── package.json ├── cookie │ ├── LICENSE │ ├── README.md │ ├── SECURITY.md │ ├── index.js │ └── package.json ├── cors │ ├── CONTRIBUTING.md │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── lib │ │ └── index.js │ └── package.json ├── debug │ ├── LICENSE │ ├── README.md │ ├── package.json │ └── src │ │ ├── browser.js │ │ ├── common.js │ │ ├── index.js │ │ └── node.js ├── depd │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ ├── lib │ │ └── browser │ │ │ └── index.js │ └── package.json ├── dunder-proto │ ├── .eslintrc │ ├── .github │ │ └── FUNDING.yml │ ├── .nycrc │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── get.d.ts │ ├── get.js │ ├── package.json │ ├── set.d.ts │ ├── set.js │ ├── test │ │ ├── get.js │ │ ├── index.js │ │ └── set.js │ └── tsconfig.json ├── ee-first │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── encodeurl │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── 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 ├── es-object-atoms │ ├── .eslintrc │ ├── .github │ │ └── FUNDING.yml │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── RequireObjectCoercible.d.ts │ ├── RequireObjectCoercible.js │ ├── ToObject.d.ts │ ├── ToObject.js │ ├── index.d.ts │ ├── index.js │ ├── isObject.d.ts │ ├── isObject.js │ ├── package.json │ ├── test │ │ └── index.js │ └── tsconfig.json ├── escape-html │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ └── package.json ├── etag │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── express │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ ├── lib │ │ ├── application.js │ │ ├── express.js │ │ ├── request.js │ │ ├── response.js │ │ ├── utils.js │ │ └── view.js │ └── package.json ├── finalhandler │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── forwarded │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── fresh │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── 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 ├── get-proto │ ├── .eslintrc │ ├── .github │ │ └── FUNDING.yml │ ├── .nycrc │ ├── CHANGELOG.md │ ├── LICENSE │ ├── Object.getPrototypeOf.d.ts │ ├── Object.getPrototypeOf.js │ ├── README.md │ ├── Reflect.getPrototypeOf.d.ts │ ├── Reflect.getPrototypeOf.js │ ├── index.d.ts │ ├── index.js │ ├── package.json │ ├── test │ │ └── index.js │ └── tsconfig.json ├── gopd │ ├── .eslintrc │ ├── .github │ │ └── FUNDING.yml │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── gOPD.d.ts │ ├── gOPD.js │ ├── 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.d.ts │ ├── index.js │ ├── package.json │ ├── shams.d.ts │ ├── shams.js │ ├── test │ │ ├── index.js │ │ ├── shams │ │ │ ├── core-js.js │ │ │ └── get-own-property-symbols.js │ │ └── tests.js │ └── tsconfig.json ├── 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 │ ├── node_modules │ │ └── statuses │ │ │ ├── HISTORY.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── codes.json │ │ │ ├── index.js │ │ │ └── package.json │ └── package.json ├── iconv-lite │ ├── .github │ │ └── dependabot.yml │ ├── .idea │ │ ├── codeStyles │ │ │ ├── Project.xml │ │ │ └── codeStyleConfig.xml │ │ ├── iconv-lite.iml │ │ ├── inspectionProfiles │ │ │ └── Project_Default.xml │ │ ├── modules.xml │ │ └── vcs.xml │ ├── Changelog.md │ ├── LICENSE │ ├── README.md │ ├── encodings │ │ ├── dbcs-codec.js │ │ ├── dbcs-data.js │ │ ├── index.js │ │ ├── internal.js │ │ ├── sbcs-codec.js │ │ ├── sbcs-data-generated.js │ │ ├── sbcs-data.js │ │ ├── tables │ │ │ ├── big5-added.json │ │ │ ├── cp936.json │ │ │ ├── cp949.json │ │ │ ├── cp950.json │ │ │ ├── eucjp.json │ │ │ ├── gb18030-ranges.json │ │ │ ├── gbk-added.json │ │ │ └── shiftjis.json │ │ ├── utf16.js │ │ ├── utf32.js │ │ └── utf7.js │ ├── lib │ │ ├── bom-handling.js │ │ ├── index.d.ts │ │ ├── index.js │ │ └── streams.js │ └── package.json ├── 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-promise │ ├── LICENSE │ ├── index.d.ts │ ├── index.js │ ├── index.mjs │ ├── package.json │ └── readme.md ├── kareem │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── SECURITY.md │ ├── index.d.ts │ ├── index.js │ └── package.json ├── math-intrinsics │ ├── .eslintrc │ ├── .github │ │ └── FUNDING.yml │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── abs.d.ts │ ├── abs.js │ ├── constants │ │ ├── maxArrayLength.d.ts │ │ ├── maxArrayLength.js │ │ ├── maxSafeInteger.d.ts │ │ ├── maxSafeInteger.js │ │ ├── maxValue.d.ts │ │ └── maxValue.js │ ├── floor.d.ts │ ├── floor.js │ ├── isFinite.d.ts │ ├── isFinite.js │ ├── isInteger.d.ts │ ├── isInteger.js │ ├── isNaN.d.ts │ ├── isNaN.js │ ├── isNegativeZero.d.ts │ ├── isNegativeZero.js │ ├── max.d.ts │ ├── max.js │ ├── min.d.ts │ ├── min.js │ ├── mod.d.ts │ ├── mod.js │ ├── package.json │ ├── pow.d.ts │ ├── pow.js │ ├── round.d.ts │ ├── round.js │ ├── sign.d.ts │ ├── sign.js │ ├── test │ │ └── index.js │ └── tsconfig.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 │ ├── index.d.ts │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── mime-db │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── db.json │ ├── index.js │ └── package.json ├── mime-types │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── mimeScore.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 │ │ ├── beta.d.ts │ │ ├── beta.js │ │ ├── beta.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 │ │ │ ├── state_machine.js │ │ │ └── state_machine.js.map │ │ ├── cmap │ │ │ ├── auth │ │ │ │ ├── auth_provider.js │ │ │ │ ├── auth_provider.js.map │ │ │ │ ├── aws_temporary_credentials.js │ │ │ │ ├── aws_temporary_credentials.js.map │ │ │ │ ├── gssapi.js │ │ │ │ ├── gssapi.js.map │ │ │ │ ├── mongo_credentials.js │ │ │ │ ├── mongo_credentials.js.map │ │ │ │ ├── mongodb_aws.js │ │ │ │ ├── mongodb_aws.js.map │ │ │ │ ├── mongodb_oidc.js │ │ │ │ ├── mongodb_oidc.js.map │ │ │ │ ├── mongodb_oidc │ │ │ │ │ ├── automated_callback_workflow.js │ │ │ │ │ ├── automated_callback_workflow.js.map │ │ │ │ │ ├── azure_machine_workflow.js │ │ │ │ │ ├── azure_machine_workflow.js.map │ │ │ │ │ ├── callback_workflow.js │ │ │ │ │ ├── callback_workflow.js.map │ │ │ │ │ ├── command_builders.js │ │ │ │ │ ├── command_builders.js.map │ │ │ │ │ ├── gcp_machine_workflow.js │ │ │ │ │ ├── gcp_machine_workflow.js.map │ │ │ │ │ ├── human_callback_workflow.js │ │ │ │ │ ├── human_callback_workflow.js.map │ │ │ │ │ ├── k8s_machine_workflow.js │ │ │ │ │ ├── k8s_machine_workflow.js.map │ │ │ │ │ ├── token_cache.js │ │ │ │ │ ├── token_cache.js.map │ │ │ │ │ ├── token_machine_workflow.js │ │ │ │ │ └── token_machine_workflow.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 │ │ │ │ ├── on_demand │ │ │ │ ├── document.js │ │ │ │ └── document.js.map │ │ │ │ ├── responses.js │ │ │ │ ├── responses.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 │ │ │ ├── client_bulk_write_cursor.js │ │ │ ├── client_bulk_write_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 │ │ │ ├── client_bulk_write │ │ │ │ ├── client_bulk_write.js │ │ │ │ ├── client_bulk_write.js.map │ │ │ │ ├── command_builder.js │ │ │ │ ├── command_builder.js.map │ │ │ │ ├── common.js │ │ │ │ ├── common.js.map │ │ │ │ ├── executor.js │ │ │ │ ├── executor.js.map │ │ │ │ ├── results_merger.js │ │ │ │ └── results_merger.js.map │ │ │ ├── collections.js │ │ │ ├── collections.js.map │ │ │ ├── command.js │ │ │ ├── command.js.map │ │ │ ├── count.js │ │ │ ├── count.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 │ │ ├── resource_management.js │ │ ├── resource_management.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 │ │ ├── timeout.js │ │ ├── timeout.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 │ │ ├── beta.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 │ │ │ └── state_machine.ts │ │ ├── cmap │ │ │ ├── auth │ │ │ │ ├── auth_provider.ts │ │ │ │ ├── aws_temporary_credentials.ts │ │ │ │ ├── gssapi.ts │ │ │ │ ├── mongo_credentials.ts │ │ │ │ ├── mongodb_aws.ts │ │ │ │ ├── mongodb_oidc.ts │ │ │ │ ├── mongodb_oidc │ │ │ │ │ ├── automated_callback_workflow.ts │ │ │ │ │ ├── azure_machine_workflow.ts │ │ │ │ │ ├── callback_workflow.ts │ │ │ │ │ ├── command_builders.ts │ │ │ │ │ ├── gcp_machine_workflow.ts │ │ │ │ │ ├── human_callback_workflow.ts │ │ │ │ │ ├── k8s_machine_workflow.ts │ │ │ │ │ ├── token_cache.ts │ │ │ │ │ └── token_machine_workflow.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 │ │ │ │ ├── on_demand │ │ │ │ └── document.ts │ │ │ │ ├── responses.ts │ │ │ │ └── shared.ts │ │ ├── collection.ts │ │ ├── connection_string.ts │ │ ├── constants.ts │ │ ├── cursor │ │ │ ├── abstract_cursor.ts │ │ │ ├── aggregation_cursor.ts │ │ │ ├── change_stream_cursor.ts │ │ │ ├── client_bulk_write_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 │ │ │ ├── client_bulk_write │ │ │ │ ├── client_bulk_write.ts │ │ │ │ ├── command_builder.ts │ │ │ │ ├── common.ts │ │ │ │ ├── executor.ts │ │ │ │ └── results_merger.ts │ │ │ ├── collections.ts │ │ │ ├── command.ts │ │ │ ├── count.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 │ │ ├── resource_management.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 │ │ ├── timeout.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 │ │ │ ├── double.js │ │ │ ├── int32.js │ │ │ ├── number.js │ │ │ ├── objectid.js │ │ │ ├── string.js │ │ │ └── uuid.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 │ │ │ │ ├── bulkWriteResult.js │ │ │ │ ├── collection.js │ │ │ │ ├── connection.js │ │ │ │ └── index.js │ │ ├── error │ │ │ ├── browserMissingSchema.js │ │ │ ├── bulkSaveIncompleteError.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 │ │ │ ├── createJSONSchemaTypeDefinition.js │ │ │ ├── cursor │ │ │ │ └── eachAsync.js │ │ │ ├── discriminator │ │ │ │ ├── applyEmbeddedDiscriminators.js │ │ │ │ ├── areDiscriminatorValuesEqual.js │ │ │ │ ├── checkEmbeddedDiscriminatorKeyProjection.js │ │ │ │ ├── getConstructor.js │ │ │ │ ├── getDiscriminatorByValue.js │ │ │ │ ├── getSchemaDiscriminatorByValue.js │ │ │ │ └── mergeDiscriminatorSchema.js │ │ │ ├── document │ │ │ │ ├── applyDefaults.js │ │ │ │ ├── applyTimestamps.js │ │ │ │ ├── applyVirtuals.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 │ │ │ │ ├── isIndexSpecEqual.js │ │ │ │ ├── isTextIndex.js │ │ │ │ └── isTimeseriesIndex.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 │ │ │ │ ├── decorateBulkWriteResult.js │ │ │ │ ├── discriminator.js │ │ │ │ └── pushNestedArrayPaths.js │ │ │ ├── omitUndefined.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 │ │ │ │ ├── applyReadConcern.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 │ │ ├── modifiedPathsSnapshot.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 │ │ │ ├── double.js │ │ │ ├── index.js │ │ │ ├── int32.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 │ │ │ ├── double.js │ │ │ ├── index.js │ │ │ ├── map.js │ │ │ ├── objectid.js │ │ │ ├── subdocument.js │ │ │ └── uuid.js │ │ ├── utils.js │ │ ├── validOptions.js │ │ └── virtualType.js │ ├── 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 │ │ ├── inferrawdoctype.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 │ └── 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 ├── 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 ├── once │ ├── LICENSE │ ├── README.md │ ├── once.js │ └── package.json ├── parseurl │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── path-to-regexp │ ├── LICENSE │ ├── Readme.md │ ├── dist │ │ ├── index.d.ts │ │ ├── index.js │ │ └── index.js.map │ └── package.json ├── proxy-addr │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── 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 │ │ ├── empty-keys-cases.js │ │ ├── parse.js │ │ ├── stringify.js │ │ └── utils.js ├── range-parser │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── raw-body │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── SECURITY.md │ ├── index.d.ts │ ├── index.js │ └── package.json ├── router │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── layer.js │ │ └── route.js │ └── package.json ├── safe-buffer │ ├── LICENSE │ ├── README.md │ ├── index.d.ts │ ├── index.js │ └── package.json ├── safer-buffer │ ├── LICENSE │ ├── Porting-Buffer.md │ ├── Readme.md │ ├── dangerous.js │ ├── package.json │ ├── safer.js │ └── tests.js ├── send │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── serve-static │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── setprototypeof │ ├── LICENSE │ ├── README.md │ ├── index.d.ts │ ├── index.js │ ├── package.json │ └── test │ │ └── index.js ├── side-channel-list │ ├── .editorconfig │ ├── .eslintrc │ ├── .github │ │ └── FUNDING.yml │ ├── .nycrc │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── index.d.ts │ ├── index.js │ ├── list.d.ts │ ├── package.json │ ├── test │ │ └── index.js │ └── tsconfig.json ├── side-channel-map │ ├── .editorconfig │ ├── .eslintrc │ ├── .github │ │ └── FUNDING.yml │ ├── .nycrc │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── index.d.ts │ ├── index.js │ ├── package.json │ ├── test │ │ └── index.js │ └── tsconfig.json ├── side-channel-weakmap │ ├── .editorconfig │ ├── .eslintrc │ ├── .github │ │ └── FUNDING.yml │ ├── .nycrc │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── index.d.ts │ ├── index.js │ ├── package.json │ ├── test │ │ └── index.js │ └── tsconfig.json ├── 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.ts │ │ ├── index.ts │ │ ├── operations.ts │ │ └── utils.ts ├── 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 ├── toidentifier │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── 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 ├── unpipe │ ├── HISTORY.md │ ├── 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 └── wrappy │ ├── LICENSE │ ├── README.md │ ├── package.json │ └── wrappy.js ├── package-lock.json ├── package.json └── server.js /README.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /backend/models/Task.js: -------------------------------------------------------------------------------- 1 | const mongoose = require('mongoose'); 2 | 3 | const TaskSchema = new mongoose.Schema({ 4 | text: String, 5 | completed: { type: Boolean, default: false } 6 | }); 7 | 8 | module.exports = mongoose.model('Task', TaskSchema); 9 | -------------------------------------------------------------------------------- /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: (input: string, opts?: { 2 | allowUnassigned?: boolean; 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: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __importDefault = (this && this.__importDefault) || function (mod) { 3 | return (mod && mod.__esModule) ? mod : { "default": mod }; 4 | }; 5 | const index_1 = __importDefault(require("./index")); 6 | const memory_code_points_1 = require("./memory-code-points"); 7 | const code_points_data_browser_1 = __importDefault(require("./code-points-data-browser")); 8 | const codePoints = (0, memory_code_points_1.createMemoryCodePoints)(code_points_data_browser_1.default); 9 | const saslprep = index_1.default.bind(null, codePoints); 10 | Object.assign(saslprep, { saslprep, default: saslprep }); 11 | module.exports = saslprep; 12 | //# sourceMappingURL=browser.js.map -------------------------------------------------------------------------------- /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 | declare const data: Buffer; 2 | export default data; 3 | //# 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,qBAGT,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 | declare const _default: Buffer; 2 | export default _default; 3 | //# 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,knFAAknF,EAClnF,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 | import bitfield from 'sparse-bitfield'; 2 | export declare function createMemoryCodePoints(data: Buffer): { 3 | unassigned_code_points: bitfield.BitFieldInstance; 4 | commonly_mapped_to_nothing: bitfield.BitFieldInstance; 5 | non_ASCII_space_characters: bitfield.BitFieldInstance; 6 | prohibited_characters: bitfield.BitFieldInstance; 7 | bidirectional_r_al: bitfield.BitFieldInstance; 8 | bidirectional_l: bitfield.BitFieldInstance; 9 | }; 10 | //# 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/memory-code-points.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"memory-code-points.js","sourceRoot":"","sources":["../src/memory-code-points.ts"],"names":[],"mappings":";;;;;AAEA,wDA+BC;AAjCD,sEAAuC;AAEvC,SAAgB,sBAAsB,CAAC,IAAY;IACjD,IAAI,MAAM,GAAG,CAAC,CAAC;IAKf,SAAS,IAAI;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,CAAC;QAEZ,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;QACrD,MAAM,IAAI,IAAI,CAAC;QAEf,OAAO,IAAA,yBAAQ,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,sBAAsB,GAAG,IAAI,EAAE,CAAC;IACtC,MAAM,0BAA0B,GAAG,IAAI,EAAE,CAAC;IAC1C,MAAM,0BAA0B,GAAG,IAAI,EAAE,CAAC;IAC1C,MAAM,qBAAqB,GAAG,IAAI,EAAE,CAAC;IACrC,MAAM,kBAAkB,GAAG,IAAI,EAAE,CAAC;IAClC,MAAM,eAAe,GAAG,IAAI,EAAE,CAAC;IAE/B,OAAO;QACL,sBAAsB;QACtB,0BAA0B;QAC1B,0BAA0B;QAC1B,qBAAqB;QACrB,kBAAkB;QAClB,eAAe;KAChB,CAAC;AACJ,CAAC"} -------------------------------------------------------------------------------- /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: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __importDefault = (this && this.__importDefault) || function (mod) { 3 | return (mod && mod.__esModule) ? mod : { "default": mod }; 4 | }; 5 | const index_1 = __importDefault(require("./index")); 6 | const memory_code_points_1 = require("./memory-code-points"); 7 | const code_points_data_1 = __importDefault(require("./code-points-data")); 8 | const codePoints = (0, memory_code_points_1.createMemoryCodePoints)(code_points_data_1.default); 9 | function saslprep(input, opts) { 10 | return (0, index_1.default)(codePoints, input, opts); 11 | } 12 | saslprep.saslprep = saslprep; 13 | saslprep.default = saslprep; 14 | module.exports = saslprep; 15 | //# sourceMappingURL=node.js.map -------------------------------------------------------------------------------- /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 = range; 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 | //# 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,sBAQC;AARD,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,CAAC;QACxC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"} -------------------------------------------------------------------------------- /backend/node_modules/@mongodb-js/saslprep/readme.md: -------------------------------------------------------------------------------- 1 | # saslprep 2 | 3 | _Note: This is a fork of the original [`saslprep`](https://www.npmjs.com/package/saslprep) npm package 4 | and provides equivalent functionality._ 5 | 6 | Stringprep Profile for User Names and Passwords, [rfc4013](https://tools.ietf.org/html/rfc4013) 7 | 8 | ### Usage 9 | 10 | ```js 11 | const saslprep = require('@mongodb-js/saslprep'); 12 | 13 | saslprep('password\u00AD'); // password 14 | saslprep('password\u0007'); // Error: prohibited character 15 | ``` 16 | 17 | ### API 18 | 19 | ##### `saslprep(input: String, opts: Options): String` 20 | 21 | Normalize user name or password. 22 | 23 | ##### `Options.allowUnassigned: bool` 24 | 25 | A special behavior for unassigned code points, see https://tools.ietf.org/html/rfc4013#section-2.5. Disabled by default. 26 | 27 | ## License 28 | 29 | MIT, 2017-2019 (c) Dmitriy Tsvettsikh 30 | -------------------------------------------------------------------------------- /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/README.md: -------------------------------------------------------------------------------- 1 | # Installation 2 | > `npm install --save @types/whatwg-url` 3 | 4 | # Summary 5 | This package contains type definitions for whatwg-url (https://github.com/jsdom/whatwg-url#readme). 6 | 7 | # Details 8 | Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/whatwg-url. 9 | 10 | ### Additional Details 11 | * Last updated: Sat, 18 May 2024 21:06:54 GMT 12 | * Dependencies: [@types/webidl-conversions](https://npmjs.com/package/@types/webidl-conversions) 13 | 14 | # Credits 15 | These definitions were written by [Alexander Marks](https://github.com/aomarks), [ExE Boss](https://github.com/ExE-Boss), and [BendingBender](https://github.com/BendingBender). 16 | -------------------------------------------------------------------------------- /backend/node_modules/@types/whatwg-url/lib/URL-impl.d.ts: -------------------------------------------------------------------------------- 1 | import { Globals } from "webidl-conversions"; 2 | import { implementation as URLSearchParamsImpl } from "./URLSearchParams-impl"; 3 | 4 | declare class URLImpl { 5 | constructor(globalObject: Globals, constructorArgs: readonly [url: string, base?: string]); 6 | 7 | href: string; 8 | readonly origin: string; 9 | protocol: string; 10 | username: string; 11 | password: string; 12 | host: string; 13 | hostname: string; 14 | port: string; 15 | pathname: string; 16 | search: string; 17 | readonly searchParams: URLSearchParamsImpl; 18 | hash: string; 19 | 20 | toJSON(): string; 21 | } 22 | export { URLImpl as implementation }; 23 | -------------------------------------------------------------------------------- /backend/node_modules/@types/whatwg-url/lib/URLSearchParams-impl.d.ts: -------------------------------------------------------------------------------- 1 | declare class URLSearchParamsImpl { 2 | constructor( 3 | globalObject: object, 4 | constructorArgs: readonly [ 5 | init?: ReadonlyArray | { readonly [name: string]: string } | string, 6 | ], 7 | privateData: { readonly doNotStripQMark?: boolean | undefined }, 8 | ); 9 | 10 | append(name: string, value: string): void; 11 | delete(name: string): void; 12 | get(name: string): string | null; 13 | getAll(name: string): string[]; 14 | has(name: string): boolean; 15 | set(name: string, value: string): void; 16 | sort(): void; 17 | 18 | [Symbol.iterator](): IterableIterator<[name: string, value: string]>; 19 | } 20 | export { URLSearchParamsImpl as implementation }; 21 | -------------------------------------------------------------------------------- /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/bson/etc/prepare.js: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env node 2 | var cp = require('child_process'); 3 | var fs = require('fs'); 4 | 5 | var nodeMajorVersion = +process.version.match(/^v(\d+)\.\d+/)[1]; 6 | 7 | if (fs.existsSync('src') && nodeMajorVersion >= 10) { 8 | cp.spawnSync('npm', ['run', 'build'], { stdio: 'inherit', shell: true }); 9 | } else { 10 | if (!fs.existsSync('lib')) { 11 | console.warn('BSON: No compiled javascript present, the library is not installed correctly.'); 12 | if (nodeMajorVersion < 10) { 13 | console.warn( 14 | 'This library can only be compiled in nodejs version 10 or later, currently running: ' + 15 | nodeMajorVersion 16 | ); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /backend/node_modules/bson/src/index.ts: -------------------------------------------------------------------------------- 1 | import * as BSON from './bson'; 2 | 3 | // Export all named properties from BSON to support 4 | // import { ObjectId, serialize } from 'bson'; 5 | // const { ObjectId, serialize } = require('bson'); 6 | export * from './bson'; 7 | 8 | // Export BSON as a namespace to support: 9 | // import { BSON } from 'bson'; 10 | // const { BSON } = require('bson'); 11 | export { BSON }; 12 | 13 | // BSON does **NOT** have a default export 14 | 15 | // The following will crash in es module environments 16 | // import BSON from 'bson'; 17 | 18 | // The following will work as expected, BSON as a namespace of all the APIs (BSON.ObjectId, BSON.serialize) 19 | // const BSON = require('bson'); 20 | -------------------------------------------------------------------------------- /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/call-bind-apply-helpers/.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-extra-parens": 0, 15 | "no-magic-numbers": 0, 16 | }, 17 | } 18 | -------------------------------------------------------------------------------- /backend/node_modules/call-bind-apply-helpers/.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-apply-helpers 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-apply-helpers/.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-apply-helpers/actualApply.d.ts: -------------------------------------------------------------------------------- 1 | export = Reflect.apply; -------------------------------------------------------------------------------- /backend/node_modules/call-bind-apply-helpers/actualApply.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var bind = require('function-bind'); 4 | 5 | var $apply = require('./functionApply'); 6 | var $call = require('./functionCall'); 7 | var $reflectApply = require('./reflectApply'); 8 | 9 | /** @type {import('./actualApply')} */ 10 | module.exports = $reflectApply || bind.call($call, $apply); 11 | -------------------------------------------------------------------------------- /backend/node_modules/call-bind-apply-helpers/applyBind.d.ts: -------------------------------------------------------------------------------- 1 | import actualApply from './actualApply'; 2 | 3 | type TupleSplitHead = T['length'] extends N 4 | ? T 5 | : T extends [...infer R, any] 6 | ? TupleSplitHead 7 | : never 8 | 9 | type TupleSplitTail = O['length'] extends N 10 | ? T 11 | : T extends [infer F, ...infer R] 12 | ? TupleSplitTail<[...R], N, [...O, F]> 13 | : never 14 | 15 | type TupleSplit = [TupleSplitHead, TupleSplitTail] 16 | 17 | declare function applyBind(...args: TupleSplit, 2>[1]): ReturnType; 18 | 19 | export = applyBind; -------------------------------------------------------------------------------- /backend/node_modules/call-bind-apply-helpers/applyBind.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var bind = require('function-bind'); 4 | var $apply = require('./functionApply'); 5 | var actualApply = require('./actualApply'); 6 | 7 | /** @type {import('./applyBind')} */ 8 | module.exports = function applyBind() { 9 | return actualApply(bind, $apply, arguments); 10 | }; 11 | -------------------------------------------------------------------------------- /backend/node_modules/call-bind-apply-helpers/functionApply.d.ts: -------------------------------------------------------------------------------- 1 | export = Function.prototype.apply; -------------------------------------------------------------------------------- /backend/node_modules/call-bind-apply-helpers/functionApply.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./functionApply')} */ 4 | module.exports = Function.prototype.apply; 5 | -------------------------------------------------------------------------------- /backend/node_modules/call-bind-apply-helpers/functionCall.d.ts: -------------------------------------------------------------------------------- 1 | export = Function.prototype.call; -------------------------------------------------------------------------------- /backend/node_modules/call-bind-apply-helpers/functionCall.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./functionCall')} */ 4 | module.exports = Function.prototype.call; 5 | -------------------------------------------------------------------------------- /backend/node_modules/call-bind-apply-helpers/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var bind = require('function-bind'); 4 | var $TypeError = require('es-errors/type'); 5 | 6 | var $call = require('./functionCall'); 7 | var $actualApply = require('./actualApply'); 8 | 9 | /** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */ 10 | module.exports = function callBindBasic(args) { 11 | if (args.length < 1 || typeof args[0] !== 'function') { 12 | throw new $TypeError('a function is required'); 13 | } 14 | return $actualApply(bind, $call, args); 15 | }; 16 | -------------------------------------------------------------------------------- /backend/node_modules/call-bind-apply-helpers/reflectApply.d.ts: -------------------------------------------------------------------------------- 1 | declare const reflectApply: false | typeof Reflect.apply; 2 | 3 | export = reflectApply; 4 | -------------------------------------------------------------------------------- /backend/node_modules/call-bind-apply-helpers/reflectApply.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./reflectApply')} */ 4 | module.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply; 5 | -------------------------------------------------------------------------------- /backend/node_modules/call-bind-apply-helpers/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@ljharb/tsconfig", 3 | "compilerOptions": { 4 | "target": "es2021", 5 | }, 6 | "exclude": [ 7 | "coverage", 8 | ], 9 | } -------------------------------------------------------------------------------- /backend/node_modules/call-bound/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "rules": { 7 | "new-cap": [2, { 8 | "capIsNewExceptions": [ 9 | "GetIntrinsic", 10 | ], 11 | }], 12 | }, 13 | } 14 | -------------------------------------------------------------------------------- /backend/node_modules/call-bound/.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-bound 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-bound/.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-bound/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var GetIntrinsic = require('get-intrinsic'); 4 | 5 | var callBindBasic = require('call-bind-apply-helpers'); 6 | 7 | /** @type {(thisArg: string, searchString: string, position?: number) => number} */ 8 | var $indexOf = callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]); 9 | 10 | /** @type {import('.')} */ 11 | module.exports = function callBoundIntrinsic(name, allowMissing) { 12 | /* eslint no-extra-parens: 0 */ 13 | 14 | var intrinsic = /** @type {(this: unknown, ...args: unknown[]) => unknown} */ (GetIntrinsic(name, !!allowMissing)); 15 | if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) { 16 | return callBindBasic(/** @type {const} */ ([intrinsic])); 17 | } 18 | return intrinsic; 19 | }; 20 | -------------------------------------------------------------------------------- /backend/node_modules/call-bound/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@ljharb/tsconfig", 3 | "compilerOptions": { 4 | "target": "ESNext", 5 | "lib": ["es2024"], 6 | }, 7 | "exclude": [ 8 | "coverage", 9 | ], 10 | } 11 | -------------------------------------------------------------------------------- /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/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # cookie-signature 3 | 4 | Sign and unsign cookies. 5 | 6 | ## Example 7 | 8 | ```js 9 | var cookie = require('cookie-signature'); 10 | 11 | var val = cookie.sign('hello', 'tobiiscool'); 12 | val.should.equal('hello.DGDUkGlIkCzPz+C0B064FNgHdEjox7ch8tOBGslZ5QI'); 13 | 14 | var val = cookie.sign('hello', 'tobiiscool'); 15 | cookie.unsign(val, 'tobiiscool').should.equal('hello'); 16 | cookie.unsign(val, 'luna').should.be.false; 17 | ``` 18 | 19 | ## License 20 | 21 | MIT. 22 | 23 | See LICENSE file for details. 24 | -------------------------------------------------------------------------------- /backend/node_modules/cookie-signature/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cookie-signature", 3 | "version": "1.2.2", 4 | "main": "index.js", 5 | "description": "Sign and unsign cookies", 6 | "keywords": ["cookie", "sign", "unsign"], 7 | "author": "TJ Holowaychuk ", 8 | "license": "MIT", 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/visionmedia/node-cookie-signature.git" 12 | }, 13 | "dependencies": {}, 14 | "engines": { 15 | "node": ">=6.6.0" 16 | }, 17 | "devDependencies": { 18 | "mocha": "*", 19 | "should": "*" 20 | }, 21 | "scripts": { 22 | "test": "mocha --require should --reporter spec" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /backend/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/dunder-proto/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | } 6 | -------------------------------------------------------------------------------- /backend/node_modules/dunder-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/dunder-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/dunder-proto/.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/dunder-proto/get.d.ts: -------------------------------------------------------------------------------- 1 | declare function getDunderProto(target: {}): object | null; 2 | 3 | declare const x: false | typeof getDunderProto; 4 | 5 | export = x; -------------------------------------------------------------------------------- /backend/node_modules/dunder-proto/set.d.ts: -------------------------------------------------------------------------------- 1 | declare function setDunderProto

(target: {}, proto: P): P; 2 | 3 | declare const x: false | typeof setDunderProto; 4 | 5 | export = x; -------------------------------------------------------------------------------- /backend/node_modules/dunder-proto/test/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | require('./get'); 4 | require('./set'); 5 | -------------------------------------------------------------------------------- /backend/node_modules/dunder-proto/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@ljharb/tsconfig", 3 | "compilerOptions": { 4 | "target": "ES2021", 5 | }, 6 | "exclude": [ 7 | "coverage", 8 | ], 9 | } 10 | -------------------------------------------------------------------------------- /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 | /** @type {import('.')} */ 4 | var $defineProperty = Object.defineProperty || false; 5 | if ($defineProperty) { 6 | try { 7 | $defineProperty({}, 'a', { value: 1 }); 8 | } catch (e) { 9 | // IE 8 has a broken defineProperty 10 | $defineProperty = false; 11 | } 12 | } 13 | 14 | module.exports = $defineProperty; 15 | -------------------------------------------------------------------------------- /backend/node_modules/es-define-property/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@ljharb/tsconfig", 3 | "compilerOptions": { 4 | "target": "es2022", 5 | }, 6 | "exclude": [ 7 | "coverage", 8 | "test/list-exports" 9 | ], 10 | } 11 | -------------------------------------------------------------------------------- /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/es-object-atoms/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "rules": { 7 | "eqeqeq": ["error", "allow-null"], 8 | "id-length": "off", 9 | "new-cap": ["error", { 10 | "capIsNewExceptions": [ 11 | "RequireObjectCoercible", 12 | "ToObject", 13 | ], 14 | }], 15 | }, 16 | } 17 | -------------------------------------------------------------------------------- /backend/node_modules/es-object-atoms/.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-object 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-object-atoms/RequireObjectCoercible.d.ts: -------------------------------------------------------------------------------- 1 | declare function RequireObjectCoercible(value: T, optMessage?: string): T; 2 | 3 | export = RequireObjectCoercible; 4 | -------------------------------------------------------------------------------- /backend/node_modules/es-object-atoms/RequireObjectCoercible.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var $TypeError = require('es-errors/type'); 4 | 5 | /** @type {import('./RequireObjectCoercible')} */ 6 | module.exports = function RequireObjectCoercible(value) { 7 | if (value == null) { 8 | throw new $TypeError((arguments.length > 0 && arguments[1]) || ('Cannot call method on ' + value)); 9 | } 10 | return value; 11 | }; 12 | -------------------------------------------------------------------------------- /backend/node_modules/es-object-atoms/ToObject.d.ts: -------------------------------------------------------------------------------- 1 | declare function ToObject(value: number): Number; 2 | declare function ToObject(value: boolean): Boolean; 3 | declare function ToObject(value: string): String; 4 | declare function ToObject(value: bigint): BigInt; 5 | declare function ToObject(value: T): T; 6 | 7 | export = ToObject; 8 | -------------------------------------------------------------------------------- /backend/node_modules/es-object-atoms/ToObject.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var $Object = require('./'); 4 | var RequireObjectCoercible = require('./RequireObjectCoercible'); 5 | 6 | /** @type {import('./ToObject')} */ 7 | module.exports = function ToObject(value) { 8 | RequireObjectCoercible(value); 9 | return $Object(value); 10 | }; 11 | -------------------------------------------------------------------------------- /backend/node_modules/es-object-atoms/index.d.ts: -------------------------------------------------------------------------------- 1 | declare const Object: ObjectConstructor; 2 | 3 | export = Object; 4 | -------------------------------------------------------------------------------- /backend/node_modules/es-object-atoms/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('.')} */ 4 | module.exports = Object; 5 | -------------------------------------------------------------------------------- /backend/node_modules/es-object-atoms/isObject.d.ts: -------------------------------------------------------------------------------- 1 | declare function isObject(x: unknown): x is object; 2 | 3 | export = isObject; 4 | -------------------------------------------------------------------------------- /backend/node_modules/es-object-atoms/isObject.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./isObject')} */ 4 | module.exports = function isObject(x) { 5 | return !!x && (typeof x === 'function' || typeof x === 'object'); 6 | }; 7 | -------------------------------------------------------------------------------- /backend/node_modules/es-object-atoms/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@ljharb/tsconfig", 3 | "compilerOptions": { 4 | "target": "es5", 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /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/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "env": { 7 | "es6": true, 8 | "es2017": true, 9 | "es2020": true, 10 | "es2021": true, 11 | "es2022": true, 12 | }, 13 | 14 | "globals": { 15 | "Float16Array": false, 16 | }, 17 | 18 | "rules": { 19 | "array-bracket-newline": 0, 20 | "complexity": 0, 21 | "eqeqeq": [2, "allow-null"], 22 | "func-name-matching": 0, 23 | "id-length": 0, 24 | "max-lines": 0, 25 | "max-lines-per-function": [2, 90], 26 | "max-params": [2, 4], 27 | "max-statements": 0, 28 | "max-statements-per-line": [2, { "max": 2 }], 29 | "multiline-comment-style": 0, 30 | "no-magic-numbers": 0, 31 | "sort-keys": 0, 32 | }, 33 | 34 | "overrides": [ 35 | { 36 | "files": "test/**", 37 | "rules": { 38 | "new-cap": 0, 39 | }, 40 | }, 41 | ], 42 | } 43 | -------------------------------------------------------------------------------- /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/get-proto/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "rules": { 7 | "id-length": "off", 8 | "sort-keys": "off", 9 | }, 10 | } 11 | -------------------------------------------------------------------------------- /backend/node_modules/get-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/get-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/get-proto/.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/get-proto/Object.getPrototypeOf.d.ts: -------------------------------------------------------------------------------- 1 | declare function getProto(object: O): object | null; 2 | 3 | declare const x: typeof getProto | null; 4 | 5 | export = x; -------------------------------------------------------------------------------- /backend/node_modules/get-proto/Object.getPrototypeOf.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var $Object = require('es-object-atoms'); 4 | 5 | /** @type {import('./Object.getPrototypeOf')} */ 6 | module.exports = $Object.getPrototypeOf || null; 7 | -------------------------------------------------------------------------------- /backend/node_modules/get-proto/Reflect.getPrototypeOf.d.ts: -------------------------------------------------------------------------------- 1 | declare const x: typeof Reflect.getPrototypeOf | null; 2 | 3 | export = x; -------------------------------------------------------------------------------- /backend/node_modules/get-proto/Reflect.getPrototypeOf.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./Reflect.getPrototypeOf')} */ 4 | module.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null; 5 | -------------------------------------------------------------------------------- /backend/node_modules/get-proto/index.d.ts: -------------------------------------------------------------------------------- 1 | declare function getProto(object: O): object | null; 2 | 3 | declare const x: typeof getProto | null; 4 | 5 | export = x; 6 | -------------------------------------------------------------------------------- /backend/node_modules/get-proto/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@ljharb/tsconfig", 3 | "compilerOptions": { 4 | //"target": "es2021", 5 | }, 6 | "exclude": [ 7 | "coverage", 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/gOPD.d.ts: -------------------------------------------------------------------------------- 1 | export = Object.getOwnPropertyDescriptor; 2 | -------------------------------------------------------------------------------- /backend/node_modules/gopd/gOPD.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./gOPD')} */ 4 | module.exports = Object.getOwnPropertyDescriptor; 5 | -------------------------------------------------------------------------------- /backend/node_modules/gopd/index.d.ts: -------------------------------------------------------------------------------- 1 | declare function gOPD(obj: O, prop: K): PropertyDescriptor | undefined; 2 | 3 | declare const fn: typeof gOPD | undefined | null; 4 | 5 | export = fn; -------------------------------------------------------------------------------- /backend/node_modules/gopd/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('.')} */ 4 | var $gOPD = require('./gOPD'); 5 | 6 | if ($gOPD) { 7 | try { 8 | $gOPD([], 'length'); 9 | } catch (e) { 10 | // IE 8 has a broken gOPD 11 | $gOPD = null; 12 | } 13 | } 14 | 15 | module.exports = $gOPD; 16 | -------------------------------------------------------------------------------- /backend/node_modules/gopd/test/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var test = require('tape'); 4 | var gOPD = require('../'); 5 | 6 | test('gOPD', function (t) { 7 | t.test('supported', { skip: !gOPD }, function (st) { 8 | st.equal(typeof gOPD, 'function', 'is a function'); 9 | 10 | var obj = { x: 1 }; 11 | st.ok('x' in obj, 'property exists'); 12 | 13 | // @ts-expect-error TS can't figure out narrowing from `skip` 14 | var desc = gOPD(obj, 'x'); 15 | st.deepEqual( 16 | desc, 17 | { 18 | configurable: true, 19 | enumerable: true, 20 | value: 1, 21 | writable: true 22 | }, 23 | 'descriptor is as expected' 24 | ); 25 | 26 | st.end(); 27 | }); 28 | 29 | t.test('not supported', { skip: !!gOPD }, function (st) { 30 | st.notOk(gOPD, 'is falsy'); 31 | 32 | st.end(); 33 | }); 34 | 35 | t.end(); 36 | }); 37 | -------------------------------------------------------------------------------- /backend/node_modules/gopd/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@ljharb/tsconfig", 3 | "compilerOptions": { 4 | "target": "es2021", 5 | }, 6 | "exclude": [ 7 | "coverage", 8 | ], 9 | } 10 | -------------------------------------------------------------------------------- /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.d.ts: -------------------------------------------------------------------------------- 1 | declare function hasNativeSymbols(): boolean; 2 | 3 | export = hasNativeSymbols; -------------------------------------------------------------------------------- /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 | /** @type {import('.')} */ 7 | module.exports = function hasNativeSymbols() { 8 | if (typeof origSymbol !== 'function') { return false; } 9 | if (typeof Symbol !== 'function') { return false; } 10 | if (typeof origSymbol('foo') !== 'symbol') { return false; } 11 | if (typeof Symbol('bar') !== 'symbol') { return false; } 12 | 13 | return hasSymbolSham(); 14 | }; 15 | -------------------------------------------------------------------------------- /backend/node_modules/has-symbols/shams.d.ts: -------------------------------------------------------------------------------- 1 | declare function hasSymbolShams(): boolean; 2 | 3 | export = hasSymbolShams; -------------------------------------------------------------------------------- /backend/node_modules/has-symbols/test/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var test = require('tape'); 4 | var hasSymbols = require('../'); 5 | var runSymbolTests = require('./tests'); 6 | 7 | test('interface', function (t) { 8 | t.equal(typeof hasSymbols, 'function', 'is a function'); 9 | t.equal(typeof hasSymbols(), 'boolean', 'returns a boolean'); 10 | t.end(); 11 | }); 12 | 13 | test('Symbols are supported', { skip: !hasSymbols() }, function (t) { 14 | runSymbolTests(t); 15 | t.end(); 16 | }); 17 | 18 | test('Symbols are not supported', { skip: hasSymbols() }, function (t) { 19 | t.equal(typeof Symbol, 'undefined', 'global Symbol is undefined'); 20 | t.equal(typeof Object.getOwnPropertySymbols, 'undefined', 'Object.getOwnPropertySymbols does not exist'); 21 | t.end(); 22 | }); 23 | -------------------------------------------------------------------------------- /backend/node_modules/has-symbols/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@ljharb/tsconfig", 3 | "compilerOptions": { 4 | "target": "ES2021", 5 | "maxNodeModuleJsDepth": 0, 6 | }, 7 | "exclude": [ 8 | "coverage" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /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/iconv-lite/.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # Please see the documentation for all configuration options: 2 | # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 3 | 4 | version: 2 5 | updates: 6 | - package-ecosystem: "npm" 7 | directory: "/" 8 | schedule: 9 | interval: "daily" 10 | allow: 11 | - dependency-type: production 12 | -------------------------------------------------------------------------------- /backend/node_modules/iconv-lite/.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /backend/node_modules/iconv-lite/.idea/iconv-lite.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /backend/node_modules/iconv-lite/.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /backend/node_modules/iconv-lite/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /backend/node_modules/iconv-lite/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /backend/node_modules/iconv-lite/encodings/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | // Update this array if you add/rename/remove files in this directory. 4 | // We support Browserify by skipping automatic module discovery and requiring modules directly. 5 | var modules = [ 6 | require("./internal"), 7 | require("./utf32"), 8 | require("./utf16"), 9 | require("./utf7"), 10 | require("./sbcs-codec"), 11 | require("./sbcs-data"), 12 | require("./sbcs-data-generated"), 13 | require("./dbcs-codec"), 14 | require("./dbcs-data"), 15 | ]; 16 | 17 | // Put all encoding/alias/codec definitions to single object and export it. 18 | for (var i = 0; i < modules.length; i++) { 19 | var module = modules[i]; 20 | for (var enc in module) 21 | if (Object.prototype.hasOwnProperty.call(module, enc)) 22 | exports[enc] = module[enc]; 23 | } 24 | -------------------------------------------------------------------------------- /backend/node_modules/inherits/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 10 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 11 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 12 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 14 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15 | PERFORMANCE OF THIS SOFTWARE. 16 | 17 | -------------------------------------------------------------------------------- /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/inherits/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "inherits", 3 | "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()", 4 | "version": "2.0.4", 5 | "keywords": [ 6 | "inheritance", 7 | "class", 8 | "klass", 9 | "oop", 10 | "object-oriented", 11 | "inherits", 12 | "browser", 13 | "browserify" 14 | ], 15 | "main": "./inherits.js", 16 | "browser": "./inherits_browser.js", 17 | "repository": "git://github.com/isaacs/inherits", 18 | "license": "ISC", 19 | "scripts": { 20 | "test": "tap" 21 | }, 22 | "devDependencies": { 23 | "tap": "^14.2.4" 24 | }, 25 | "files": [ 26 | "inherits.js", 27 | "inherits_browser.js" 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /backend/node_modules/is-promise/index.d.ts: -------------------------------------------------------------------------------- 1 | declare function isPromise(obj: PromiseLike | S): obj is PromiseLike; 2 | export default isPromise; 3 | -------------------------------------------------------------------------------- /backend/node_modules/is-promise/index.js: -------------------------------------------------------------------------------- 1 | module.exports = isPromise; 2 | module.exports.default = isPromise; 3 | 4 | function isPromise(obj) { 5 | return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'; 6 | } 7 | -------------------------------------------------------------------------------- /backend/node_modules/is-promise/index.mjs: -------------------------------------------------------------------------------- 1 | export default function isPromise(obj) { 2 | return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'; 3 | } 4 | -------------------------------------------------------------------------------- /backend/node_modules/is-promise/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "is-promise", 3 | "version": "4.0.0", 4 | "description": "Test whether an object looks like a promises-a+ promise", 5 | "main": "./index.js", 6 | "scripts": { 7 | "test": "node test" 8 | }, 9 | "files": [ 10 | "index.js", 11 | "index.mjs", 12 | "index.d.ts" 13 | ], 14 | "exports": { 15 | ".": [ 16 | { 17 | "import": "./index.mjs", 18 | "require": "./index.js", 19 | "default": "./index.js" 20 | }, 21 | "./index.js" 22 | ] 23 | }, 24 | "repository": { 25 | "type": "git", 26 | "url": "https://github.com/then/is-promise.git" 27 | }, 28 | "author": "ForbesLindesay", 29 | "license": "MIT" 30 | } 31 | -------------------------------------------------------------------------------- /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/kareem/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "kareem", 3 | "version": "2.6.3", 4 | "description": "Next-generation take on pre/post function hooks", 5 | "main": "index.js", 6 | "scripts": { 7 | "lint": "eslint .", 8 | "test": "mocha ./test/*", 9 | "test-coverage": "nyc --reporter lcov mocha ./test/*", 10 | "docs": "node ./docs.js" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "git://github.com/mongoosejs/kareem.git" 15 | }, 16 | "devDependencies": { 17 | "acquit": "1.x", 18 | "acquit-ignore": "0.2.x", 19 | "eslint": "8.20.0", 20 | "mocha": "9.2.0", 21 | "nyc": "15.1.0" 22 | }, 23 | "author": "Valeri Karpov ", 24 | "license": "Apache-2.0", 25 | "engines": { 26 | "node": ">=12.0.0" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "rules": { 7 | "eqeqeq": ["error", "allow-null"], 8 | "id-length": "off", 9 | "new-cap": ["error", { 10 | "capIsNewExceptions": [ 11 | "RequireObjectCoercible", 12 | "ToObject", 13 | ], 14 | }], 15 | }, 16 | } 17 | -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/.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/math-intrinsics 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/math-intrinsics/abs.d.ts: -------------------------------------------------------------------------------- 1 | export = Math.abs; -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/abs.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./abs')} */ 4 | module.exports = Math.abs; 5 | -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/constants/maxArrayLength.d.ts: -------------------------------------------------------------------------------- 1 | declare const MAX_ARRAY_LENGTH: 4294967295; 2 | 3 | export = MAX_ARRAY_LENGTH; -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/constants/maxArrayLength.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./maxArrayLength')} */ 4 | module.exports = 4294967295; // Math.pow(2, 32) - 1; 5 | -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts: -------------------------------------------------------------------------------- 1 | declare const MAX_SAFE_INTEGER: 9007199254740991; 2 | 3 | export = MAX_SAFE_INTEGER; -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/constants/maxSafeInteger.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./maxSafeInteger')} */ 4 | // eslint-disable-next-line no-extra-parens 5 | module.exports = /** @type {import('./maxSafeInteger')} */ (Number.MAX_SAFE_INTEGER) || 9007199254740991; // Math.pow(2, 53) - 1; 6 | -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/constants/maxValue.d.ts: -------------------------------------------------------------------------------- 1 | declare const MAX_VALUE: 1.7976931348623157e+308; 2 | 3 | export = MAX_VALUE; 4 | -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/constants/maxValue.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./maxValue')} */ 4 | // eslint-disable-next-line no-extra-parens 5 | module.exports = /** @type {import('./maxValue')} */ (Number.MAX_VALUE) || 1.7976931348623157e+308; 6 | -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/floor.d.ts: -------------------------------------------------------------------------------- 1 | export = Math.floor; -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/floor.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./floor')} */ 4 | module.exports = Math.floor; 5 | -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/isFinite.d.ts: -------------------------------------------------------------------------------- 1 | declare function isFinite(x: unknown): x is number | bigint; 2 | 3 | export = isFinite; -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/isFinite.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var $isNaN = require('./isNaN'); 4 | 5 | /** @type {import('./isFinite')} */ 6 | module.exports = function isFinite(x) { 7 | return (typeof x === 'number' || typeof x === 'bigint') 8 | && !$isNaN(x) 9 | && x !== Infinity 10 | && x !== -Infinity; 11 | }; 12 | 13 | -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/isInteger.d.ts: -------------------------------------------------------------------------------- 1 | declare function isInteger(argument: unknown): argument is number; 2 | 3 | export = isInteger; -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/isInteger.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var $abs = require('./abs'); 4 | var $floor = require('./floor'); 5 | 6 | var $isNaN = require('./isNaN'); 7 | var $isFinite = require('./isFinite'); 8 | 9 | /** @type {import('./isInteger')} */ 10 | module.exports = function isInteger(argument) { 11 | if (typeof argument !== 'number' || $isNaN(argument) || !$isFinite(argument)) { 12 | return false; 13 | } 14 | var absValue = $abs(argument); 15 | return $floor(absValue) === absValue; 16 | }; 17 | -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/isNaN.d.ts: -------------------------------------------------------------------------------- 1 | export = Number.isNaN; -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/isNaN.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./isNaN')} */ 4 | module.exports = Number.isNaN || function isNaN(a) { 5 | return a !== a; 6 | }; 7 | -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/isNegativeZero.d.ts: -------------------------------------------------------------------------------- 1 | declare function isNegativeZero(x: unknown): boolean; 2 | 3 | export = isNegativeZero; -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/isNegativeZero.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./isNegativeZero')} */ 4 | module.exports = function isNegativeZero(x) { 5 | return x === 0 && 1 / x === 1 / -0; 6 | }; 7 | -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/max.d.ts: -------------------------------------------------------------------------------- 1 | export = Math.max; -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/max.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./max')} */ 4 | module.exports = Math.max; 5 | -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/min.d.ts: -------------------------------------------------------------------------------- 1 | export = Math.min; -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/min.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./min')} */ 4 | module.exports = Math.min; 5 | -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/mod.d.ts: -------------------------------------------------------------------------------- 1 | declare function mod(number: number, modulo: number): number; 2 | 3 | export = mod; -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/mod.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var $floor = require('./floor'); 4 | 5 | /** @type {import('./mod')} */ 6 | module.exports = function mod(number, modulo) { 7 | var remain = number % modulo; 8 | return $floor(remain >= 0 ? remain : remain + modulo); 9 | }; 10 | -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/pow.d.ts: -------------------------------------------------------------------------------- 1 | export = Math.pow; -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/pow.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./pow')} */ 4 | module.exports = Math.pow; 5 | -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/round.d.ts: -------------------------------------------------------------------------------- 1 | export = Math.round; -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/round.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** @type {import('./round')} */ 4 | module.exports = Math.round; 5 | -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/sign.d.ts: -------------------------------------------------------------------------------- 1 | declare function sign(x: number): number; 2 | 3 | export = sign; -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/sign.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var $isNaN = require('./isNaN'); 4 | 5 | /** @type {import('./sign')} */ 6 | module.exports = function sign(number) { 7 | if ($isNaN(number) || number === 0) { 8 | return number; 9 | } 10 | return number < 0 ? -1 : +1; 11 | }; 12 | -------------------------------------------------------------------------------- /backend/node_modules/math-intrinsics/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@ljharb/tsconfig", 3 | } 4 | -------------------------------------------------------------------------------- /backend/node_modules/memory-pager/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - '4' 4 | - '6' 5 | -------------------------------------------------------------------------------- /backend/node_modules/memory-pager/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "memory-pager", 3 | "version": "1.5.0", 4 | "description": "Access memory using small fixed sized buffers", 5 | "main": "index.js", 6 | "dependencies": {}, 7 | "devDependencies": { 8 | "standard": "^9.0.0", 9 | "tape": "^4.6.3" 10 | }, 11 | "scripts": { 12 | "test": "standard && tape test.js" 13 | }, 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/mafintosh/memory-pager.git" 17 | }, 18 | "author": "Mathias Buus (@mafintosh)", 19 | "license": "MIT", 20 | "bugs": { 21 | "url": "https://github.com/mafintosh/memory-pager/issues" 22 | }, 23 | "homepage": "https://github.com/mafintosh/memory-pager" 24 | } 25 | -------------------------------------------------------------------------------- /backend/node_modules/merge-descriptors/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | Merges "own" properties from a source to a destination object, including non-enumerable and accessor-defined properties. It retains original values and descriptors, ensuring the destination receives a complete and accurate copy of the source's properties. 3 | 4 | @param destination - The object to receive properties. 5 | @param source - The object providing properties. 6 | @param overwrite - Optional boolean to control overwriting of existing properties. Defaults to true. 7 | @returns The modified destination object. 8 | */ 9 | declare function mergeDescriptors(destination: T, source: U, overwrite?: boolean): T & U; 10 | 11 | export = mergeDescriptors; 12 | -------------------------------------------------------------------------------- /backend/node_modules/merge-descriptors/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | function mergeDescriptors(destination, source, overwrite = true) { 4 | if (!destination) { 5 | throw new TypeError('The `destination` argument is required.'); 6 | } 7 | 8 | if (!source) { 9 | throw new TypeError('The `source` argument is required.'); 10 | } 11 | 12 | for (const name of Object.getOwnPropertyNames(source)) { 13 | if (!overwrite && Object.hasOwn(destination, name)) { 14 | // Skip descriptor 15 | continue; 16 | } 17 | 18 | // Copy descriptor 19 | const descriptor = Object.getOwnPropertyDescriptor(source, name); 20 | Object.defineProperty(destination, name, descriptor); 21 | } 22 | 23 | return destination; 24 | } 25 | 26 | module.exports = mergeDescriptors; 27 | -------------------------------------------------------------------------------- /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/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/beta.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | __exportStar(require("./index"), exports); 4 | /** 5 | * @internal 6 | * 7 | * Since we don't bundle tslib helpers, we need to polyfill this method. 8 | * 9 | * This is used in the generated JS. Adapted from https://github.com/microsoft/TypeScript/blob/aafdfe5b3f76f5c41abeec412ce73c86da94c75f/src/compiler/factory/emitHelpers.ts#L1202. 10 | */ 11 | function __exportStar(mod) { 12 | for (const key of Object.keys(mod)) { 13 | Object.defineProperty(exports, key, { 14 | enumerable: true, 15 | get: function () { 16 | return mod[key]; 17 | } 18 | }); 19 | } 20 | } 21 | //# sourceMappingURL=beta.js.map -------------------------------------------------------------------------------- /backend/node_modules/mongodb/lib/beta.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"beta.js","sourceRoot":"","sources":["../src/beta.ts"],"names":[],"mappings":";;AAEA,0CAAwB;AAExB;;;;;;GAMG;AAEH,SAAS,YAAY,CAAC,GAAa;IACjC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE;YAClC,UAAU,EAAE,IAAI;YAChB,GAAG,EAAE;gBACH,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC"} -------------------------------------------------------------------------------- /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":";;AASA,gDAuBC;AAhCD,yFAGmD;AAGnD;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,YAA0B,EAC1B,QAAgC;IAEhC,MAAM,kBAAkB,GAAG,IAAI,oDAAwB,CAAC,QAAQ,CAAC,CAAC;IAElE,8FAA8F;IAC9F,2FAA2F;IAC3F,0EAA0E;IAC1E,MAAM,EACJ,eAAe,GAAG,EAAE,EACpB,WAAW,GAAG,EAAE,EAChB,KAAK,EACN,GAAG,MAAM,kBAAkB,CAAC,cAAc,EAAE,CAAC;IAC9C,MAAM,GAAG,GAAqC;QAC5C,eAAe,EAAE,eAAe;QAChC,WAAW,EAAE,WAAW;KACzB,CAAC;IACF,4FAA4F;IAC5F,0DAA0D;IAC1D,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC;IAE5C,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,EAAE,CAAC;AAClC,CAAC"} -------------------------------------------------------------------------------- /backend/node_modules/mongodb/lib/client-side-encryption/providers/gcp.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.loadGCPCredentials = loadGCPCredentials; 4 | const deps_1 = require("../../deps"); 5 | /** @internal */ 6 | async function loadGCPCredentials(kmsProviders) { 7 | const gcpMetadata = (0, deps_1.getGcpMetadata)(); 8 | if ('kModuleError' in gcpMetadata) { 9 | return kmsProviders; 10 | } 11 | const { access_token: accessToken } = await gcpMetadata.instance({ 12 | property: 'service-accounts/default/token' 13 | }); 14 | return { ...kmsProviders, gcp: { accessToken } }; 15 | } 16 | //# sourceMappingURL=gcp.js.map -------------------------------------------------------------------------------- /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":";;AAIA,gDAWC;AAfD,qCAA4C;AAG5C,gBAAgB;AACT,KAAK,UAAU,kBAAkB,CAAC,YAA0B;IACjE,MAAM,WAAW,GAAG,IAAA,qBAAc,GAAE,CAAC;IAErC,IAAI,cAAc,IAAI,WAAW,EAAE,CAAC;QAClC,OAAO,YAAY,CAAC;IACtB,CAAC;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"} -------------------------------------------------------------------------------- /backend/node_modules/mongodb/lib/cmap/auth/auth_provider.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"auth_provider.js","sourceRoot":"","sources":["../../../src/cmap/auth/auth_provider.ts"],"names":[],"mappings":";;;AACA,uCAAgD;AAKhD;;;GAGG;AACH,MAAa,WAAW;IAetB,YACE,UAAsB,EACtB,WAAyC,EACzC,OAA0B;QAb5B,8CAA8C;QAC9C,qBAAgB,GAAG,KAAK,CAAC;QAcvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAxBD,kCAwBC;AAED;;;GAGG;AACH,MAAsB,YAAY;IAChC;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CACX,YAA+B,EAC/B,YAAyB;QAEzB,OAAO,YAAY,CAAC;IACtB,CAAC;IASD;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,OAAoB;QAC/B,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,MAAM,IAAI,yBAAiB,CAAC,uCAAuC,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC;YACH,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAChC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC;QACnC,CAAC;IACH,CAAC;CACF;AApCD,oCAoCC"} -------------------------------------------------------------------------------- /backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/k8s_machine_workflow.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"k8s_machine_workflow.js","sourceRoot":"","sources":["../../../../src/cmap/auth/mongodb_oidc/k8s_machine_workflow.ts"],"names":[],"mappings":";;;AAAA,0CAAuC;AAIvC,6BAA6B;AAC7B,MAAM,iBAAiB,GAAG,qDAAqD,CAAC;AAEhF,wDAAwD;AACxD,MAAM,cAAc,GAAG,4BAA4B,CAAC;AAEpD,sDAAsD;AACtD,MAAM,YAAY,GAAG,6BAA6B,CAAC;AAEnD;;;;GAIG;AACI,MAAM,QAAQ,GAAyB,KAAK,IAA2B,EAAE;IAC9E,IAAI,QAAgB,CAAC;IACrB,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QAChC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACrC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,iBAAiB,CAAC;IAC/B,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,IAAA,mBAAQ,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/C,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC,CAAC;AAXW,QAAA,QAAQ,YAWnB"} -------------------------------------------------------------------------------- /backend/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/token_machine_workflow.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"token_machine_workflow.js","sourceRoot":"","sources":["../../../../src/cmap/auth/mongodb_oidc/token_machine_workflow.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AAEzB,0CAA+C;AAG/C,8DAA8D;AAC9D,MAAM,mBAAmB,GAAG,iDAAiD,CAAC;AAE9E;;;;GAIG;AACI,MAAM,QAAQ,GAAyB,KAAK,IAA2B,EAAE;IAC9E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,qBAAa,CAAC,mBAAmB,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5D,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC,CAAC;AAPW,QAAA,QAAQ,YAOnB"} -------------------------------------------------------------------------------- /backend/node_modules/mongodb/lib/cmap/auth/plain.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"plain.js","sourceRoot":"","sources":["../../../src/cmap/auth/plain.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AACpC,uCAA2D;AAC3D,uCAAiC;AACjC,mDAAiE;AAEjE,MAAa,KAAM,SAAQ,4BAAY;IAC5B,KAAK,CAAC,IAAI,CAAC,WAAwB;QAC1C,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC;QAChD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,oCAA4B,CAAC,uCAAuC,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;QAE3C,MAAM,OAAO,GAAG,IAAI,aAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,QAAQ,OAAO,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAG;YACd,SAAS,EAAE,CAAC;YACZ,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE,OAAO;YAChB,aAAa,EAAE,CAAC;SACjB,CAAC;QAEF,MAAM,UAAU,CAAC,OAAO,CAAC,IAAA,UAAE,EAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACrE,CAAC;CACF;AAnBD,sBAmBC"} -------------------------------------------------------------------------------- /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,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: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.ListSearchIndexesCursor = void 0; 4 | const aggregation_cursor_1 = require("./aggregation_cursor"); 5 | /** @public */ 6 | class ListSearchIndexesCursor extends aggregation_cursor_1.AggregationCursor { 7 | /** @internal */ 8 | constructor({ fullNamespace: ns, client }, name, options = {}) { 9 | const pipeline = name == null ? [{ $listSearchIndexes: {} }] : [{ $listSearchIndexes: { name } }]; 10 | super(client, ns, pipeline, options); 11 | } 12 | } 13 | exports.ListSearchIndexesCursor = ListSearchIndexesCursor; 14 | //# sourceMappingURL=list_search_indexes_cursor.js.map -------------------------------------------------------------------------------- /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/client_bulk_write/common.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | //# sourceMappingURL=common.js.map -------------------------------------------------------------------------------- /backend/node_modules/mongodb/lib/operations/client_bulk_write/common.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/operations/client_bulk_write/common.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /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":";;;AAIA,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,CACpB,MAAc,EACd,OAAkC,EAClC,cAA8B;QAE9B,MAAM,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAtBD,kDAsBC;AAED,IAAA,yBAAa,EAAC,mBAAmB,EAAE,CAAC,kBAAM,CAAC,eAAe,CAAC,CAAC,CAAC"} -------------------------------------------------------------------------------- /backend/node_modules/mongodb/lib/operations/search_indexes/create.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/operations/search_indexes/create.ts"],"names":[],"mappings":";;;AAKA,4CAAiD;AAgBjD,gBAAgB;AAChB,MAAa,4BAA6B,SAAQ,6BAA2B;IAC3E,YACmB,UAAsB,EACtB,YAAmD;QAEpE,KAAK,EAAE,CAAC;QAHS,eAAU,GAAV,UAAU,CAAY;QACtB,iBAAY,GAAZ,YAAY,CAAuC;IAGtE,CAAC;IAED,IAAa,WAAW;QACtB,OAAO,qBAA8B,CAAC;IACxC,CAAC;IAEQ,KAAK,CAAC,OAAO,CACpB,MAAc,EACd,OAAkC,EAClC,cAA8B;QAE9B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAChD,MAAM,OAAO,GAAG;YACd,mBAAmB,EAAE,SAAS,CAAC,UAAU;YACzC,OAAO,EAAE,IAAI,CAAC,YAAY;SAC3B,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE;YACnD,OAAO;YACP,cAAc;SACf,CAAC,CAAC;QAEH,MAAM,cAAc,GAA4B,GAAG,EAAE,cAAc,IAAI,EAAE,CAAC;QAC1E,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;CACF;AA/BD,oEA+BC"} -------------------------------------------------------------------------------- /backend/node_modules/mongodb/lib/operations/search_indexes/update.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/operations/search_indexes/update.ts"],"names":[],"mappings":";;;AAKA,4CAAiD;AAEjD,gBAAgB;AAChB,MAAa,0BAA2B,SAAQ,6BAAuB;IACrE,YACmB,UAAsB,EACtB,IAAY,EACZ,UAAoB;QAErC,KAAK,EAAE,CAAC;QAJS,eAAU,GAAV,UAAU,CAAY;QACtB,SAAI,GAAJ,IAAI,CAAQ;QACZ,eAAU,GAAV,UAAU,CAAU;IAGvC,CAAC;IAED,IAAa,WAAW;QACtB,OAAO,mBAA4B,CAAC;IACtC,CAAC;IAEQ,KAAK,CAAC,OAAO,CACpB,MAAc,EACd,OAAkC,EAClC,cAA8B;QAE9B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAChD,MAAM,OAAO,GAAG;YACd,iBAAiB,EAAE,SAAS,CAAC,UAAU;YACvC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;QAEF,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;CACF;AA5BD,gEA4BC"} -------------------------------------------------------------------------------- /backend/node_modules/mongodb/lib/operations/stats.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/operations/stats.ts"],"names":[],"mappings":";;;AAKA,uCAA2E;AAC3E,2CAAoD;AAQpD,gBAAgB;AAChB,MAAa,gBAAiB,SAAQ,0BAA0B;IAG9D,YAAY,EAAM,EAAE,OAAuB;QACzC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,IAAa,WAAW;QACtB,OAAO,SAAkB,CAAC;IAC5B,CAAC;IAEQ,KAAK,CAAC,OAAO,CACpB,MAAc,EACd,OAAkC,EAClC,cAA8B;QAE9B,MAAM,OAAO,GAAa,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACrC,CAAC;QAED,OAAO,MAAM,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IAC9E,CAAC;CACF;AAxBD,4CAwBC;AAED,IAAA,yBAAa,EAAC,gBAAgB,EAAE,CAAC,kBAAM,CAAC,cAAc,CAAC,CAAC,CAAC"} -------------------------------------------------------------------------------- /backend/node_modules/mongodb/src/beta.ts: -------------------------------------------------------------------------------- 1 | import { type Document } from './bson'; 2 | 3 | export * from './index'; 4 | 5 | /** 6 | * @internal 7 | * 8 | * Since we don't bundle tslib helpers, we need to polyfill this method. 9 | * 10 | * This is used in the generated JS. Adapted from https://github.com/microsoft/TypeScript/blob/aafdfe5b3f76f5c41abeec412ce73c86da94c75f/src/compiler/factory/emitHelpers.ts#L1202. 11 | */ 12 | 13 | function __exportStar(mod: Document) { 14 | for (const key of Object.keys(mod)) { 15 | Object.defineProperty(exports, key, { 16 | enumerable: true, 17 | get: function () { 18 | return mod[key]; 19 | } 20 | }); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /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/auth/providers.ts: -------------------------------------------------------------------------------- 1 | /** @public */ 2 | export const AuthMechanism = Object.freeze({ 3 | MONGODB_AWS: 'MONGODB-AWS', 4 | MONGODB_CR: 'MONGODB-CR', 5 | MONGODB_DEFAULT: 'DEFAULT', 6 | MONGODB_GSSAPI: 'GSSAPI', 7 | MONGODB_PLAIN: 'PLAIN', 8 | MONGODB_SCRAM_SHA1: 'SCRAM-SHA-1', 9 | MONGODB_SCRAM_SHA256: 'SCRAM-SHA-256', 10 | MONGODB_X509: 'MONGODB-X509', 11 | MONGODB_OIDC: 'MONGODB-OIDC' 12 | } as const); 13 | 14 | /** @public */ 15 | export type AuthMechanism = (typeof AuthMechanism)[keyof typeof AuthMechanism]; 16 | 17 | /** @internal */ 18 | export const AUTH_MECHS_AUTH_SRC_EXTERNAL = new Set([ 19 | AuthMechanism.MONGODB_GSSAPI, 20 | AuthMechanism.MONGODB_AWS, 21 | AuthMechanism.MONGODB_OIDC, 22 | AuthMechanism.MONGODB_X509 23 | ]); 24 | -------------------------------------------------------------------------------- /backend/node_modules/mongodb/src/cmap/wire_protocol/constants.ts: -------------------------------------------------------------------------------- 1 | export const MIN_SUPPORTED_SERVER_VERSION = '4.2'; 2 | export const MAX_SUPPORTED_SERVER_VERSION = '8.0'; 3 | export const MIN_SUPPORTED_WIRE_VERSION = 8; 4 | export const MAX_SUPPORTED_WIRE_VERSION = 25; 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/mongodb/src/cursor/list_search_indexes_cursor.ts: -------------------------------------------------------------------------------- 1 | import type { Collection } from '../collection'; 2 | import type { AggregateOptions } from '../operations/aggregate'; 3 | import { AggregationCursor } from './aggregation_cursor'; 4 | 5 | /** @public */ 6 | export type ListSearchIndexesOptions = Omit; 7 | 8 | /** @public */ 9 | export class ListSearchIndexesCursor extends AggregationCursor<{ name: string }> { 10 | /** @internal */ 11 | constructor( 12 | { fullNamespace: ns, client }: Collection, 13 | name: string | null, 14 | options: ListSearchIndexesOptions = {} 15 | ) { 16 | const pipeline = 17 | name == null ? [{ $listSearchIndexes: {} }] : [{ $listSearchIndexes: { name } }]; 18 | super(client, ns, pipeline, options); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /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/cast/objectid.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const isBsonType = require('../helpers/isBsonType'); 4 | const ObjectId = require('../types/objectid'); 5 | 6 | module.exports = function castObjectId(value) { 7 | if (value == null) { 8 | return value; 9 | } 10 | 11 | if (isBsonType(value, 'ObjectId')) { 12 | return value; 13 | } 14 | 15 | if (value._id) { 16 | if (isBsonType(value._id, 'ObjectId')) { 17 | return value._id; 18 | } 19 | if (value._id.toString instanceof Function) { 20 | return new ObjectId(value._id.toString()); 21 | } 22 | } 23 | 24 | if (value.toString instanceof Function) { 25 | return new ObjectId(value.toString()); 26 | } 27 | 28 | return new ObjectId(value); 29 | }; 30 | -------------------------------------------------------------------------------- /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 | exports.BulkWriteResult = function() {}; 14 | -------------------------------------------------------------------------------- /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/bulkWriteResult.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const BulkWriteResult = require('mongodb/lib/bulk/common').BulkWriteResult; 4 | 5 | module.exports = BulkWriteResult; 6 | -------------------------------------------------------------------------------- /backend/node_modules/mongoose/lib/drivers/node-mongodb-native/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Module exports. 3 | */ 4 | 5 | 'use strict'; 6 | 7 | exports.BulkWriteResult = require('./bulkWriteResult'); 8 | exports.Collection = require('./collection'); 9 | exports.Connection = require('./connection'); 10 | exports.ClientEncryption = require('mongodb').ClientEncryption; 11 | -------------------------------------------------------------------------------- /backend/node_modules/mongoose/lib/error/browserMissingSchema.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Module dependencies. 3 | */ 4 | 5 | 'use strict'; 6 | 7 | const MongooseError = require('./mongooseError'); 8 | 9 | /** 10 | * MissingSchema Error constructor. 11 | */ 12 | 13 | class MissingSchemaError extends MongooseError { 14 | 15 | constructor() { 16 | super('Schema hasn\'t been registered for document.\n' 17 | + 'Use mongoose.Document(name, schema)'); 18 | } 19 | } 20 | 21 | Object.defineProperty(MissingSchemaError.prototype, 'name', { 22 | value: 'MongooseError' 23 | }); 24 | 25 | /*! 26 | * exports 27 | */ 28 | 29 | module.exports = MissingSchemaError; 30 | -------------------------------------------------------------------------------- /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/invalidSchemaOption.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Module dependencies. 4 | */ 5 | 6 | 'use strict'; 7 | 8 | const MongooseError = require('./mongooseError'); 9 | 10 | /** 11 | * InvalidSchemaOption Error constructor. 12 | * @param {String} name 13 | * @api private 14 | */ 15 | 16 | class InvalidSchemaOptionError extends MongooseError { 17 | 18 | constructor(name, option) { 19 | const msg = `Cannot create use schema for property "${name}" because the schema has the ${option} option enabled.`; 20 | super(msg); 21 | } 22 | } 23 | 24 | Object.defineProperty(InvalidSchemaOptionError.prototype, 'name', { 25 | value: 'InvalidSchemaOptionError' 26 | }); 27 | 28 | /*! 29 | * exports 30 | */ 31 | 32 | module.exports = InvalidSchemaOptionError; 33 | -------------------------------------------------------------------------------- /backend/node_modules/mongoose/lib/error/missingSchema.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Module dependencies. 4 | */ 5 | 6 | 'use strict'; 7 | 8 | const MongooseError = require('./mongooseError'); 9 | 10 | /** 11 | * MissingSchema Error constructor. 12 | * @param {String} name 13 | * @api private 14 | */ 15 | 16 | class MissingSchemaError extends MongooseError { 17 | 18 | constructor(name) { 19 | const msg = 'Schema hasn\'t been registered for model "' + name + '".\n' 20 | + 'Use mongoose.model(name, schema)'; 21 | super(msg); 22 | } 23 | } 24 | 25 | Object.defineProperty(MissingSchemaError.prototype, 'name', { 26 | value: 'MissingSchemaError' 27 | }); 28 | 29 | /*! 30 | * exports 31 | */ 32 | 33 | module.exports = MissingSchemaError; 34 | -------------------------------------------------------------------------------- /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/objectExpected.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Module dependencies. 3 | */ 4 | 5 | 'use strict'; 6 | 7 | const MongooseError = require('./mongooseError'); 8 | 9 | /** 10 | * Strict mode error constructor 11 | * 12 | * @param {string} type 13 | * @param {string} value 14 | * @api private 15 | */ 16 | 17 | class ObjectExpectedError extends MongooseError { 18 | 19 | constructor(path, val) { 20 | const typeDescription = Array.isArray(val) ? 'array' : 'primitive value'; 21 | super('Tried to set nested object field `' + path + 22 | `\` to ${typeDescription} \`` + val + '`'); 23 | this.path = path; 24 | } 25 | } 26 | 27 | Object.defineProperty(ObjectExpectedError.prototype, 'name', { 28 | value: 'ObjectExpectedError' 29 | }); 30 | 31 | module.exports = ObjectExpectedError; 32 | -------------------------------------------------------------------------------- /backend/node_modules/mongoose/lib/error/objectParameter.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Module dependencies. 3 | */ 4 | 5 | 'use strict'; 6 | 7 | const MongooseError = require('./mongooseError'); 8 | 9 | /** 10 | * Constructor for errors that happen when a parameter that's expected to be 11 | * an object isn't an object 12 | * 13 | * @param {Any} value 14 | * @param {String} paramName 15 | * @param {String} fnName 16 | * @api private 17 | */ 18 | 19 | class ObjectParameterError extends MongooseError { 20 | 21 | constructor(value, paramName, fnName) { 22 | super('Parameter "' + paramName + '" to ' + fnName + 23 | '() must be an object, got "' + value.toString() + '" (type ' + typeof value + ')'); 24 | } 25 | } 26 | 27 | 28 | Object.defineProperty(ObjectParameterError.prototype, 'name', { 29 | value: 'ObjectParameterError' 30 | }); 31 | 32 | module.exports = ObjectParameterError; 33 | -------------------------------------------------------------------------------- /backend/node_modules/mongoose/lib/error/overwriteModel.js: -------------------------------------------------------------------------------- 1 | 2 | /*! 3 | * Module dependencies. 4 | */ 5 | 6 | 'use strict'; 7 | 8 | const MongooseError = require('./mongooseError'); 9 | 10 | /** 11 | * OverwriteModel Error constructor. 12 | * @param {String} name 13 | * @api private 14 | */ 15 | 16 | class OverwriteModelError extends MongooseError { 17 | 18 | constructor(name) { 19 | super('Cannot overwrite `' + name + '` model once compiled.'); 20 | } 21 | } 22 | 23 | Object.defineProperty(OverwriteModelError.prototype, 'name', { 24 | value: 'OverwriteModelError' 25 | }); 26 | 27 | /*! 28 | * exports 29 | */ 30 | 31 | module.exports = OverwriteModelError; 32 | -------------------------------------------------------------------------------- /backend/node_modules/mongoose/lib/error/parallelSave.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * Module dependencies. 5 | */ 6 | 7 | const MongooseError = require('./mongooseError'); 8 | 9 | 10 | /** 11 | * ParallelSave Error constructor. 12 | * 13 | * @param {Document} doc 14 | * @api private 15 | */ 16 | 17 | class ParallelSaveError extends MongooseError { 18 | 19 | constructor(doc) { 20 | const msg = 'Can\'t save() the same doc multiple times in parallel. Document: '; 21 | super(msg + doc._doc._id); 22 | } 23 | } 24 | 25 | Object.defineProperty(ParallelSaveError.prototype, 'name', { 26 | value: 'ParallelSaveError' 27 | }); 28 | 29 | /*! 30 | * exports 31 | */ 32 | 33 | module.exports = ParallelSaveError; 34 | -------------------------------------------------------------------------------- /backend/node_modules/mongoose/lib/error/parallelValidate.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * Module dependencies. 5 | */ 6 | 7 | const MongooseError = require('./mongooseError'); 8 | 9 | 10 | /** 11 | * ParallelValidate Error constructor. 12 | * 13 | * @param {Document} doc 14 | * @api private 15 | */ 16 | 17 | class ParallelValidateError extends MongooseError { 18 | 19 | constructor(doc) { 20 | const msg = 'Can\'t validate() the same doc multiple times in parallel. Document: '; 21 | super(msg + doc._doc._id); 22 | } 23 | } 24 | 25 | Object.defineProperty(ParallelValidateError.prototype, 'name', { 26 | value: 'ParallelValidateError' 27 | }); 28 | 29 | /*! 30 | * exports 31 | */ 32 | 33 | module.exports = ParallelValidateError; 34 | -------------------------------------------------------------------------------- /backend/node_modules/mongoose/lib/error/strict.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Module dependencies. 3 | */ 4 | 5 | 'use strict'; 6 | 7 | const MongooseError = require('./mongooseError'); 8 | 9 | /** 10 | * Strict mode error constructor 11 | * 12 | * @param {String} path 13 | * @param {String} [msg] 14 | * @param {Boolean} [immutable] 15 | * @inherits MongooseError 16 | * @api private 17 | */ 18 | 19 | 20 | class StrictModeError extends MongooseError { 21 | 22 | constructor(path, msg, immutable) { 23 | msg = msg || 'Field `' + path + '` is not in schema and strict ' + 24 | 'mode is set to throw.'; 25 | super(msg); 26 | this.isImmutableError = !!immutable; 27 | this.path = path; 28 | } 29 | } 30 | 31 | Object.defineProperty(StrictModeError.prototype, 'name', { 32 | value: 'StrictModeError' 33 | }); 34 | 35 | module.exports = StrictModeError; 36 | -------------------------------------------------------------------------------- /backend/node_modules/mongoose/lib/error/strictPopulate.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Module dependencies. 3 | */ 4 | 5 | 'use strict'; 6 | 7 | const MongooseError = require('./mongooseError'); 8 | 9 | /** 10 | * Strict mode error constructor 11 | * 12 | * @param {String} path 13 | * @param {String} [msg] 14 | * @inherits MongooseError 15 | * @api private 16 | */ 17 | 18 | class StrictPopulateError extends MongooseError { 19 | 20 | constructor(path, msg) { 21 | msg = msg || 'Cannot populate path `' + path + '` because it is not in your schema. ' + 'Set the `strictPopulate` option to false to override.'; 22 | super(msg); 23 | this.path = path; 24 | } 25 | } 26 | 27 | Object.defineProperty(StrictPopulateError.prototype, 'name', { 28 | value: 'StrictPopulateError' 29 | }); 30 | 31 | module.exports = StrictPopulateError; 32 | -------------------------------------------------------------------------------- /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/createJSONSchemaTypeDefinition.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Handles creating `{ type: 'object' }` vs `{ bsonType: 'object' }` vs `{ bsonType: ['object', 'null'] }` 5 | * 6 | * @param {String} type 7 | * @param {String} bsonType 8 | * @param {Boolean} useBsonType 9 | * @param {Boolean} isRequired 10 | */ 11 | 12 | module.exports = function createJSONSchemaTypeArray(type, bsonType, useBsonType, isRequired) { 13 | if (useBsonType) { 14 | if (isRequired) { 15 | return { bsonType }; 16 | } 17 | return { bsonType: [bsonType, 'null'] }; 18 | } else { 19 | if (isRequired) { 20 | return { type }; 21 | } 22 | return { type: [type, 'null'] }; 23 | } 24 | }; 25 | -------------------------------------------------------------------------------- /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/discriminator/getDiscriminatorByValue.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const areDiscriminatorValuesEqual = require('./areDiscriminatorValuesEqual'); 4 | 5 | /** 6 | * returns discriminator by discriminatorMapping.value 7 | * 8 | * @param {Object} discriminators 9 | * @param {string} value 10 | * @api private 11 | */ 12 | 13 | module.exports = function getDiscriminatorByValue(discriminators, value) { 14 | if (discriminators == null) { 15 | return null; 16 | } 17 | for (const name of Object.keys(discriminators)) { 18 | const it = discriminators[name]; 19 | if ( 20 | it.schema && 21 | it.schema.discriminatorMapping && 22 | areDiscriminatorValuesEqual(it.schema.discriminatorMapping.value, value) 23 | ) { 24 | return it; 25 | } 26 | } 27 | return null; 28 | }; 29 | -------------------------------------------------------------------------------- /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 | 3 | function getDefaultBulkwriteResult() { 4 | return { 5 | ok: 1, 6 | nInserted: 0, 7 | nUpserted: 0, 8 | nMatched: 0, 9 | nModified: 0, 10 | nRemoved: 0, 11 | upserted: [], 12 | writeErrors: [], 13 | insertedIds: [], 14 | writeConcernErrors: [] 15 | }; 16 | } 17 | 18 | module.exports = getDefaultBulkwriteResult; 19 | -------------------------------------------------------------------------------- /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/decorateDiscriminatorIndexOptions.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function decorateDiscriminatorIndexOptions(schema, indexOptions) { 4 | // If the model is a discriminator and has an index, add a 5 | // partialFilterExpression by default so the index will only apply 6 | // to that discriminator. 7 | const discriminatorName = schema.discriminatorMapping && schema.discriminatorMapping.value; 8 | if (discriminatorName && !('sparse' in indexOptions)) { 9 | const discriminatorKey = schema.options.discriminatorKey; 10 | indexOptions.partialFilterExpression = indexOptions.partialFilterExpression || {}; 11 | indexOptions.partialFilterExpression[discriminatorKey] = discriminatorName; 12 | } 13 | return indexOptions; 14 | }; 15 | -------------------------------------------------------------------------------- /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/indexes/isTimeseriesIndex.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Returns `true` if the given index matches the schema's `timestamps` options 5 | */ 6 | 7 | module.exports = function isTimeseriesIndex(dbIndex, schemaOptions) { 8 | if (schemaOptions.timeseries == null) { 9 | return false; 10 | } 11 | const { timeField, metaField } = schemaOptions.timeseries; 12 | if (typeof timeField !== 'string' || typeof metaField !== 'string') { 13 | return false; 14 | } 15 | return Object.keys(dbIndex.key).length === 2 && dbIndex.key[timeField] === 1 && dbIndex.key[metaField] === 1; 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 | obj != null && 11 | obj._bsontype === typename 12 | ); 13 | } 14 | 15 | module.exports = isBsonType; 16 | -------------------------------------------------------------------------------- /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/minimize.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const { isPOJO } = require('../utils'); 4 | 5 | module.exports = minimize; 6 | 7 | /** 8 | * Minimizes an object, removing undefined values and empty objects 9 | * 10 | * @param {Object} object to minimize 11 | * @return {Object|undefined} 12 | * @api private 13 | */ 14 | 15 | function minimize(obj) { 16 | const keys = Object.keys(obj); 17 | let i = keys.length; 18 | let hasKeys; 19 | let key; 20 | let val; 21 | 22 | while (i--) { 23 | key = keys[i]; 24 | val = obj[key]; 25 | 26 | if (isPOJO(val)) { 27 | obj[key] = minimize(val); 28 | } 29 | 30 | if (undefined === obj[key]) { 31 | delete obj[key]; 32 | continue; 33 | } 34 | 35 | hasKeys = true; 36 | } 37 | 38 | return hasKeys 39 | ? obj 40 | : undefined; 41 | } 42 | -------------------------------------------------------------------------------- /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/decorateBulkWriteResult.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function decorateBulkWriteResult(resultOrError, validationErrors, results) { 4 | resultOrError.mongoose = resultOrError.mongoose || {}; 5 | resultOrError.mongoose.validationErrors = validationErrors; 6 | resultOrError.mongoose.results = results; 7 | return resultOrError; 8 | }; 9 | -------------------------------------------------------------------------------- /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/omitUndefined.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function omitUndefined(val) { 4 | if (val == null || typeof val !== 'object') { 5 | return val; 6 | } 7 | if (Array.isArray(val)) { 8 | for (let i = val.length - 1; i >= 0; --i) { 9 | if (val[i] === undefined) { 10 | val.splice(i, 1); 11 | } 12 | } 13 | } 14 | for (const key of Object.keys(val)) { 15 | if (val[key] === void 0) { 16 | delete val[key]; 17 | } 18 | } 19 | return val; 20 | }; 21 | -------------------------------------------------------------------------------- /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/path/setDottedPath.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const specialProperties = require('../specialProperties'); 4 | 5 | 6 | module.exports = function setDottedPath(obj, path, val) { 7 | if (path.indexOf('.') === -1) { 8 | if (specialProperties.has(path)) { 9 | return; 10 | } 11 | 12 | obj[path] = val; 13 | return; 14 | } 15 | const parts = path.split('.'); 16 | 17 | const last = parts.pop(); 18 | let cur = obj; 19 | for (const part of parts) { 20 | if (specialProperties.has(part)) { 21 | continue; 22 | } 23 | if (cur[part] == null) { 24 | cur[part] = {}; 25 | } 26 | 27 | cur = cur[part]; 28 | } 29 | 30 | if (!specialProperties.has(last)) { 31 | cur[last] = val; 32 | } 33 | }; 34 | -------------------------------------------------------------------------------- /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/isPathSelectedInclusive.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ignore 5 | */ 6 | 7 | module.exports = function isPathSelectedInclusive(fields, path) { 8 | const chunks = path.split('.'); 9 | let cur = ''; 10 | let j; 11 | let keys; 12 | let numKeys; 13 | for (let i = 0; i < chunks.length; ++i) { 14 | cur += cur.length ? '.' : '' + chunks[i]; 15 | if (fields[cur]) { 16 | keys = Object.keys(fields); 17 | numKeys = keys.length; 18 | for (j = 0; j < numKeys; ++j) { 19 | if (keys[i].indexOf(cur + '.') === 0 && keys[i].indexOf(path) !== 0) { 20 | continue; 21 | } 22 | } 23 | return true; 24 | } 25 | } 26 | 27 | return false; 28 | }; 29 | -------------------------------------------------------------------------------- /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/projection/parseProjection.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * Convert a string or array into a projection object, retaining all 5 | * `-` and `+` paths. 6 | */ 7 | 8 | module.exports = function parseProjection(v, retainMinusPaths) { 9 | const type = typeof v; 10 | 11 | if (type === 'string') { 12 | v = v.split(/\s+/); 13 | } 14 | if (!Array.isArray(v) && Object.prototype.toString.call(v) !== '[object Arguments]') { 15 | return v; 16 | } 17 | 18 | const len = v.length; 19 | const ret = {}; 20 | for (let i = 0; i < len; ++i) { 21 | let field = v[i]; 22 | if (!field) { 23 | continue; 24 | } 25 | const include = '-' == field[0] ? 0 : 1; 26 | if (!retainMinusPaths && include === 0) { 27 | field = field.substring(1); 28 | } 29 | ret[field] = include; 30 | } 31 | 32 | return ret; 33 | }; 34 | -------------------------------------------------------------------------------- /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/applyReadConcern.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function applyReadConcern(schema, options) { 4 | if (options.readConcern !== undefined) { 5 | return; 6 | } 7 | 8 | // Don't apply default read concern to operations in transactions, 9 | // because you shouldn't set read concern on individual operations 10 | // within a transaction. 11 | // See: https://www.mongodb.com/docs/manual/reference/read-concern/ 12 | if (options && options.session && options.session.transaction) { 13 | return; 14 | } 15 | 16 | const level = schema.options?.readConcern?.level; 17 | if (level != null) { 18 | options.readConcern = { level }; 19 | } 20 | }; 21 | -------------------------------------------------------------------------------- /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/getKeysInSchemaOrder.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const get = require('../get'); 4 | 5 | module.exports = function getKeysInSchemaOrder(schema, val, path) { 6 | const schemaKeys = path != null ? Object.keys(get(schema.tree, path, {})) : Object.keys(schema.tree); 7 | const valKeys = new Set(Object.keys(val)); 8 | 9 | let keys; 10 | if (valKeys.size > 1) { 11 | keys = new Set(); 12 | for (const key of schemaKeys) { 13 | if (valKeys.has(key)) { 14 | keys.add(key); 15 | } 16 | } 17 | for (const key of valKeys) { 18 | if (!keys.has(key)) { 19 | keys.add(key); 20 | } 21 | } 22 | keys = Array.from(keys); 23 | } else { 24 | keys = Array.from(valKeys); 25 | } 26 | 27 | return keys; 28 | }; 29 | -------------------------------------------------------------------------------- /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/schema/idGetter.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * ignore 5 | */ 6 | 7 | module.exports = function addIdGetter(schema) { 8 | // ensure the documents receive an id getter unless disabled 9 | const autoIdGetter = !schema.paths['id'] && 10 | schema.paths['_id'] && 11 | schema.options.id; 12 | if (!autoIdGetter) { 13 | return schema; 14 | } 15 | if (schema.aliases && schema.aliases.id) { 16 | return schema; 17 | } 18 | schema.virtual('id').get(idGetter); 19 | 20 | return schema; 21 | }; 22 | 23 | /** 24 | * Returns this documents _id cast to a string. 25 | * @api private 26 | */ 27 | 28 | function idGetter() { 29 | if (this._id != null) { 30 | return this._id.toString(); 31 | } 32 | 33 | return null; 34 | } 35 | -------------------------------------------------------------------------------- /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/helpers/update/decorateUpdateWithVersionKey.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const modifiedPaths = require('./modifiedPaths'); 4 | 5 | /** 6 | * Decorate the update with a version key, if necessary 7 | * @api private 8 | */ 9 | 10 | module.exports = function decorateUpdateWithVersionKey(update, options, versionKey) { 11 | if (!versionKey || !(options && options.upsert || false)) { 12 | return; 13 | } 14 | 15 | const updatedPaths = modifiedPaths(update); 16 | if (!updatedPaths[versionKey]) { 17 | if (options.overwrite) { 18 | update[versionKey] = 0; 19 | } else { 20 | if (!update.$setOnInsert) { 21 | update.$setOnInsert = {}; 22 | } 23 | update.$setOnInsert[versionKey] = 0; 24 | } 25 | } 26 | }; 27 | -------------------------------------------------------------------------------- /backend/node_modules/mongoose/lib/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /*! 4 | * Module dependencies. 5 | */ 6 | 7 | const mongodbDriver = require('./drivers/node-mongodb-native'); 8 | 9 | require('./driver').set(mongodbDriver); 10 | 11 | const mongoose = require('./mongoose'); 12 | 13 | mongoose.setDriver(mongodbDriver); 14 | 15 | mongoose.Mongoose.prototype.mongo = require('mongodb'); 16 | 17 | module.exports = mongoose; 18 | -------------------------------------------------------------------------------- /backend/node_modules/mongoose/lib/modifiedPathsSnapshot.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = class ModifiedPathsSnapshot { 4 | constructor(subdocSnapshot, activePaths, version) { 5 | this.subdocSnapshot = subdocSnapshot; 6 | this.activePaths = activePaths; 7 | this.version = version; 8 | } 9 | }; 10 | -------------------------------------------------------------------------------- /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 | flattenObjectIds: false 17 | }; 18 | -------------------------------------------------------------------------------- /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 | SaveOptions.prototype.__subdocs = null; 15 | 16 | module.exports = SaveOptions; 17 | -------------------------------------------------------------------------------- /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/bitwise.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Module requirements. 3 | */ 4 | 5 | 'use strict'; 6 | 7 | const CastError = require('../../error/cast'); 8 | 9 | /*! 10 | * ignore 11 | */ 12 | 13 | function handleBitwiseOperator(val) { 14 | const _this = this; 15 | if (Array.isArray(val)) { 16 | return val.map(function(v) { 17 | return _castNumber(_this.path, v); 18 | }); 19 | } else if (Buffer.isBuffer(val)) { 20 | return val; 21 | } 22 | // Assume trying to cast to number 23 | return _castNumber(_this.path, val); 24 | } 25 | 26 | /*! 27 | * ignore 28 | */ 29 | 30 | function _castNumber(path, num) { 31 | const v = Number(num); 32 | if (isNaN(v)) { 33 | throw new CastError('number', num, path); 34 | } 35 | return v; 36 | } 37 | 38 | module.exports = handleBitwiseOperator; 39 | -------------------------------------------------------------------------------- /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/double.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Double type constructor 3 | * 4 | * #### Example: 5 | * 6 | * const pi = new mongoose.Types.Double(3.1415); 7 | * 8 | * @constructor Double 9 | */ 10 | 11 | 'use strict'; 12 | 13 | module.exports = require('bson').Double; 14 | -------------------------------------------------------------------------------- /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.Double = require('./double'); 16 | exports.Decimal128 = require('./decimal128'); 17 | exports.ObjectId = require('./objectid'); 18 | 19 | exports.Map = require('./map'); 20 | 21 | exports.Subdocument = require('./subdocument'); 22 | 23 | exports.UUID = require('./uuid'); 24 | -------------------------------------------------------------------------------- /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/lib/env.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.isNode = 'undefined' != typeof process 4 | && 'object' == typeof module 5 | && 'object' == typeof global 6 | && 'function' == typeof Buffer 7 | && process.argv; 8 | 9 | exports.isMongo = !exports.isNode 10 | && 'function' == typeof printjson 11 | && 'function' == typeof ObjectId 12 | && 'function' == typeof rs 13 | && 'function' == typeof sh; 14 | 15 | exports.isBrowser = !exports.isNode 16 | && !exports.isMongo 17 | && 'undefined' != typeof window; 18 | 19 | exports.type = exports.isNode ? 'node' 20 | : exports.isMongo ? 'mongo' 21 | : exports.isBrowser ? 'browser' 22 | : 'unknown'; 23 | -------------------------------------------------------------------------------- /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/fakes.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var inspect = require('../'); 4 | var test = require('tape'); 5 | var hasToStringTag = require('has-tostringtag/shams')(); 6 | var forEach = require('for-each'); 7 | 8 | test('fakes', { skip: !hasToStringTag }, function (t) { 9 | forEach([ 10 | 'Array', 11 | 'Boolean', 12 | 'Date', 13 | 'Error', 14 | 'Number', 15 | 'RegExp', 16 | 'String' 17 | ], function (expected) { 18 | var faker = {}; 19 | faker[Symbol.toStringTag] = expected; 20 | 21 | t.equal( 22 | inspect(faker), 23 | '{ [Symbol(Symbol.toStringTag)]: \'' + expected + '\' }', 24 | 'faker masquerading as ' + expected + ' is not shown as one' 25 | ); 26 | }); 27 | 28 | t.end(); 29 | }); 30 | -------------------------------------------------------------------------------- /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/once/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /backend/node_modules/once/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "once", 3 | "version": "1.4.0", 4 | "description": "Run a function exactly one time", 5 | "main": "once.js", 6 | "directories": { 7 | "test": "test" 8 | }, 9 | "dependencies": { 10 | "wrappy": "1" 11 | }, 12 | "devDependencies": { 13 | "tap": "^7.0.1" 14 | }, 15 | "scripts": { 16 | "test": "tap test/*.js" 17 | }, 18 | "files": [ 19 | "once.js" 20 | ], 21 | "repository": { 22 | "type": "git", 23 | "url": "git://github.com/isaacs/once" 24 | }, 25 | "keywords": [ 26 | "once", 27 | "function", 28 | "one", 29 | "single" 30 | ], 31 | "author": "Isaac Z. Schlueter (http://blog.izs.me/)", 32 | "license": "ISC" 33 | } 34 | -------------------------------------------------------------------------------- /backend/node_modules/qs/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 4 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | max_line_length = 160 11 | quote_type = single 12 | 13 | [test/*] 14 | max_line_length = off 15 | 16 | [LICENSE.md] 17 | indent_size = off 18 | 19 | [*.md] 20 | max_line_length = off 21 | 22 | [*.json] 23 | max_line_length = off 24 | 25 | [Makefile] 26 | max_line_length = off 27 | 28 | [CHANGELOG.md] 29 | indent_style = space 30 | indent_size = 2 31 | 32 | [LICENSE] 33 | indent_size = 2 34 | max_line_length = off 35 | 36 | [coverage/**/*] 37 | indent_size = off 38 | indent_style = off 39 | indent = off 40 | max_line_length = off 41 | 42 | [.nycrc] 43 | indent_style = tab 44 | 45 | [tea.yaml] 46 | indent_size = 2 47 | -------------------------------------------------------------------------------- /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/setprototypeof/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015, Wes Todd 2 | 3 | Permission to use, copy, modify, and/or distribute this software for any 4 | purpose with or without fee is hereby granted, provided that the above 5 | copyright notice and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 10 | SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 12 | OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 13 | CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 | -------------------------------------------------------------------------------- /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/setprototypeof/test/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | /* eslint-env mocha */ 3 | /* eslint no-proto: 0 */ 4 | var assert = require('assert') 5 | var setPrototypeOf = require('..') 6 | 7 | describe('setProtoOf(obj, proto)', function () { 8 | it('should merge objects', function () { 9 | var obj = { a: 1, b: 2 } 10 | var proto = { b: 3, c: 4 } 11 | var mergeObj = setPrototypeOf(obj, proto) 12 | 13 | if (Object.getPrototypeOf) { 14 | assert.strictEqual(Object.getPrototypeOf(obj), proto) 15 | } else if ({ __proto__: [] } instanceof Array) { 16 | assert.strictEqual(obj.__proto__, proto) 17 | } else { 18 | assert.strictEqual(obj.a, 1) 19 | assert.strictEqual(obj.b, 2) 20 | assert.strictEqual(obj.c, 4) 21 | } 22 | assert.strictEqual(mergeObj, obj) 23 | }) 24 | }) 25 | -------------------------------------------------------------------------------- /backend/node_modules/side-channel-list/.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-list/.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-list/.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-list 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-list/.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-list/index.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace getSideChannelList { 2 | type Channel = { 3 | assert: (key: K) => void; 4 | has: (key: K) => boolean; 5 | get: (key: K) => V | undefined; 6 | set: (key: K, value: V) => void; 7 | delete: (key: K) => boolean; 8 | }; 9 | } 10 | 11 | declare function getSideChannelList(): getSideChannelList.Channel; 12 | 13 | export = getSideChannelList; 14 | -------------------------------------------------------------------------------- /backend/node_modules/side-channel-list/list.d.ts: -------------------------------------------------------------------------------- 1 | type ListNode = { 2 | key: K; 3 | next: undefined | ListNode; 4 | value: T; 5 | }; 6 | type RootNode = { 7 | next: undefined | ListNode; 8 | }; 9 | 10 | export function listGetNode(list: RootNode, key: ListNode['key'], isDelete?: boolean): ListNode | undefined; 11 | export function listGet(objects: undefined | RootNode, key: ListNode['key']): T | undefined; 12 | export function listSet(objects: RootNode, key: ListNode['key'], value: T): void; 13 | export function listHas(objects: undefined | RootNode, key: ListNode['key']): boolean; 14 | export function listDelete(objects: undefined | RootNode, key: ListNode['key']): ListNode | undefined; 15 | -------------------------------------------------------------------------------- /backend/node_modules/side-channel-list/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@ljharb/tsconfig", 3 | "compilerOptions": { 4 | "target": "es2021", 5 | }, 6 | "exclude": [ 7 | "coverage", 8 | ], 9 | } 10 | -------------------------------------------------------------------------------- /backend/node_modules/side-channel-map/.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-map/.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-map/.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-map 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-map/.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-map/index.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace getSideChannelMap { 2 | type Channel = { 3 | assert: (key: K) => void; 4 | has: (key: K) => boolean; 5 | get: (key: K) => V | undefined; 6 | set: (key: K, value: V) => void; 7 | delete: (key: K) => boolean; 8 | }; 9 | } 10 | 11 | declare function getSideChannelMap(): getSideChannelMap.Channel; 12 | 13 | declare const x: false | typeof getSideChannelMap; 14 | 15 | export = x; 16 | -------------------------------------------------------------------------------- /backend/node_modules/side-channel-map/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@ljharb/tsconfig", 3 | "compilerOptions": { 4 | "target": "es2021", 5 | }, 6 | "exclude": [ 7 | "coverage", 8 | ], 9 | } 10 | -------------------------------------------------------------------------------- /backend/node_modules/side-channel-weakmap/.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-weakmap/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "rules": { 7 | "id-length": 0, 8 | "max-lines-per-function": 0, 9 | "multiline-comment-style": 1, 10 | "new-cap": [2, { "capIsNewExceptions": ["GetIntrinsic"] }], 11 | }, 12 | } 13 | -------------------------------------------------------------------------------- /backend/node_modules/side-channel-weakmap/.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-weakmap 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-weakmap/.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-weakmap/index.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace getSideChannelWeakMap { 2 | type Channel = { 3 | assert: (key: K) => void; 4 | has: (key: K) => boolean; 5 | get: (key: K) => V | undefined; 6 | set: (key: K, value: V) => void; 7 | delete: (key: K) => boolean; 8 | } 9 | } 10 | 11 | declare function getSideChannelWeakMap(): getSideChannelWeakMap.Channel; 12 | 13 | declare const x: false | typeof getSideChannelWeakMap; 14 | 15 | export = x; 16 | -------------------------------------------------------------------------------- /backend/node_modules/side-channel-weakmap/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@ljharb/tsconfig", 3 | "compilerOptions": { 4 | "target": "es2021", 5 | }, 6 | "exclude": [ 7 | "coverage", 8 | ], 9 | } 10 | -------------------------------------------------------------------------------- /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 | "id-length": 0, 8 | "max-lines-per-function": 0, 9 | "multiline-comment-style": 1, 10 | "new-cap": [2, { "capIsNewExceptions": ["GetIntrinsic"] }], 11 | }, 12 | } 13 | -------------------------------------------------------------------------------- /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/index.d.ts: -------------------------------------------------------------------------------- 1 | import getSideChannelList from 'side-channel-list'; 2 | import getSideChannelMap from 'side-channel-map'; 3 | import getSideChannelWeakMap from 'side-channel-weakmap'; 4 | 5 | declare namespace getSideChannel { 6 | type Channel = 7 | | getSideChannelList.Channel 8 | | ReturnType, false>> 9 | | ReturnType, false>>; 10 | } 11 | 12 | declare function getSideChannel(): getSideChannel.Channel; 13 | 14 | export = getSideChannel; 15 | -------------------------------------------------------------------------------- /backend/node_modules/side-channel/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@ljharb/tsconfig", 3 | "compilerOptions": { 4 | "target": "es2021", 5 | }, 6 | "exclude": [ 7 | "coverage", 8 | ], 9 | } 10 | -------------------------------------------------------------------------------- /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 type Key = string | number; 2 | export 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 coercePotentiallyNull: (value: any) => any; 6 | export declare const isArray: (value: any) => value is any[]; 7 | export declare const isObject: (value: any) => value is Object; 8 | export declare const isFunction: (value: any) => value is Function; 9 | export declare const isProperty: (item: any, key: any) => boolean; 10 | export declare const isVanillaObject: (value: any) => boolean; 11 | export declare const equals: (a: any, b: any) => boolean; 12 | -------------------------------------------------------------------------------- /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/sparse-bitfield/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sparse-bitfield", 3 | "version": "3.0.3", 4 | "description": "Bitfield that allocates a series of small buffers to support sparse bits without allocating a massive buffer", 5 | "main": "index.js", 6 | "dependencies": { 7 | "memory-pager": "^1.0.2" 8 | }, 9 | "devDependencies": { 10 | "buffer-alloc": "^1.1.0", 11 | "standard": "^9.0.0", 12 | "tape": "^4.6.3" 13 | }, 14 | "scripts": { 15 | "test": "standard && tape test.js" 16 | }, 17 | "repository": { 18 | "type": "git", 19 | "url": "https://github.com/mafintosh/sparse-bitfield.git" 20 | }, 21 | "author": "Mathias Buus (@mafintosh)", 22 | "license": "MIT", 23 | "bugs": { 24 | "url": "https://github.com/mafintosh/sparse-bitfield/issues" 25 | }, 26 | "homepage": "https://github.com/mafintosh/sparse-bitfield" 27 | } 28 | -------------------------------------------------------------------------------- /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 | deviation: 6, 8 | ignored: 7 9 | }; 10 | -------------------------------------------------------------------------------- /backend/node_modules/unpipe/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.0 / 2015-06-14 2 | ================== 3 | 4 | * Initial release 5 | -------------------------------------------------------------------------------- /backend/node_modules/whatwg-url/lib/VoidFunction.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | const conversions = require("webidl-conversions"); 4 | const utils = require("./utils.js"); 5 | 6 | exports.convert = (globalObject, value, { context = "The provided value" } = {}) => { 7 | if (typeof value !== "function") { 8 | throw new globalObject.TypeError(context + " is not a function"); 9 | } 10 | 11 | function invokeTheCallbackFunction() { 12 | const thisArg = utils.tryWrapperForImpl(this); 13 | let callResult; 14 | 15 | callResult = Reflect.apply(value, thisArg, []); 16 | } 17 | 18 | invokeTheCallbackFunction.construct = () => { 19 | let callResult = Reflect.construct(value, []); 20 | }; 21 | 22 | invokeTheCallbackFunction[utils.wrapperSymbol] = value; 23 | invokeTheCallbackFunction.objectReference = value; 24 | 25 | return invokeTheCallbackFunction; 26 | }; 27 | -------------------------------------------------------------------------------- /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/wrappy/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /backend/node_modules/wrappy/README.md: -------------------------------------------------------------------------------- 1 | # wrappy 2 | 3 | Callback wrapping utility 4 | 5 | ## USAGE 6 | 7 | ```javascript 8 | var wrappy = require("wrappy") 9 | 10 | // var wrapper = wrappy(wrapperFunction) 11 | 12 | // make sure a cb is called only once 13 | // See also: http://npm.im/once for this specific use case 14 | var once = wrappy(function (cb) { 15 | var called = false 16 | return function () { 17 | if (called) return 18 | called = true 19 | return cb.apply(this, arguments) 20 | } 21 | }) 22 | 23 | function printBoo () { 24 | console.log('boo') 25 | } 26 | // has some rando property 27 | printBoo.iAmBooPrinter = true 28 | 29 | var onlyPrintOnce = once(printBoo) 30 | 31 | onlyPrintOnce() // prints 'boo' 32 | onlyPrintOnce() // does nothing 33 | 34 | // random property is retained! 35 | assert.equal(onlyPrintOnce.iAmBooPrinter, true) 36 | ``` 37 | -------------------------------------------------------------------------------- /backend/node_modules/wrappy/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "wrappy", 3 | "version": "1.0.2", 4 | "description": "Callback wrapping utility", 5 | "main": "wrappy.js", 6 | "files": [ 7 | "wrappy.js" 8 | ], 9 | "directories": { 10 | "test": "test" 11 | }, 12 | "dependencies": {}, 13 | "devDependencies": { 14 | "tap": "^2.3.1" 15 | }, 16 | "scripts": { 17 | "test": "tap --coverage test/*.js" 18 | }, 19 | "repository": { 20 | "type": "git", 21 | "url": "https://github.com/npm/wrappy" 22 | }, 23 | "author": "Isaac Z. Schlueter (http://blog.izs.me/)", 24 | "license": "ISC", 25 | "bugs": { 26 | "url": "https://github.com/npm/wrappy/issues" 27 | }, 28 | "homepage": "https://github.com/npm/wrappy" 29 | } 30 | -------------------------------------------------------------------------------- /backend/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "backend", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "scripts": { 6 | "test": "echo \"Error: no test specified\" && exit 1" 7 | }, 8 | "keywords": [], 9 | "author": "", 10 | "license": "ISC", 11 | "description": "", 12 | "dependencies": { 13 | "cors": "^2.8.5", 14 | "express": "^5.1.0", 15 | "mongoose": "^8.16.5" 16 | } 17 | } 18 | --------------------------------------------------------------------------------