@nullix/zod-mongoose-studio 1.0.13 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/8b851c04-1848-472a-b5cd-0727aaaf90f4.json +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +232 -232
- package/.output/server/chunks/routes/api/parse.post.mjs +54 -11
- package/.output/server/chunks/routes/api/parse.post.mjs.map +1 -1
- package/.output/server/node_modules/bson/lib/bson.cjs +157 -48
- package/.output/server/node_modules/bson/package.json +9 -11
- package/.output/server/node_modules/kareem/index.js +228 -343
- package/.output/server/node_modules/kareem/package.json +3 -3
- package/.output/server/node_modules/mongodb/lib/bson.js +27 -5
- package/.output/server/node_modules/mongodb/lib/bulk/common.js +7 -9
- package/.output/server/node_modules/mongodb/lib/change_stream.js +91 -39
- package/.output/server/node_modules/mongodb/lib/client-side-encryption/auto_encrypter.js +21 -14
- package/.output/server/node_modules/mongodb/lib/client-side-encryption/client_encryption.js +2 -5
- package/.output/server/node_modules/mongodb/lib/client-side-encryption/errors.js +3 -1
- package/.output/server/node_modules/mongodb/lib/client-side-encryption/mongocryptd_manager.js +1 -1
- package/.output/server/node_modules/mongodb/lib/client-side-encryption/state_machine.js +1 -0
- package/.output/server/node_modules/mongodb/lib/cmap/auth/aws4.js +161 -0
- package/.output/server/node_modules/mongodb/lib/cmap/auth/aws_temporary_credentials.js +11 -58
- package/.output/server/node_modules/mongodb/lib/cmap/auth/gssapi.js +4 -6
- package/.output/server/node_modules/mongodb/lib/cmap/auth/mongo_credentials.js +2 -16
- package/.output/server/node_modules/mongodb/lib/cmap/auth/mongodb_aws.js +14 -23
- package/.output/server/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/azure_machine_workflow.js +3 -3
- package/.output/server/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/gcp_machine_workflow.js +3 -3
- package/.output/server/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/k8s_machine_workflow.js +4 -3
- package/.output/server/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/token_machine_workflow.js +4 -3
- package/.output/server/node_modules/mongodb/lib/cmap/auth/mongodb_oidc.js +4 -4
- package/.output/server/node_modules/mongodb/lib/cmap/auth/plain.js +1 -1
- package/.output/server/node_modules/mongodb/lib/cmap/auth/providers.js +0 -1
- package/.output/server/node_modules/mongodb/lib/cmap/auth/scram.js +53 -40
- package/.output/server/node_modules/mongodb/lib/cmap/commands.js +46 -39
- package/.output/server/node_modules/mongodb/lib/cmap/connect.js +35 -3
- package/.output/server/node_modules/mongodb/lib/cmap/connection.js +36 -32
- package/.output/server/node_modules/mongodb/lib/cmap/connection_pool.js +67 -67
- package/.output/server/node_modules/mongodb/lib/cmap/connection_pool_events.js +3 -3
- package/.output/server/node_modules/mongodb/lib/cmap/errors.js +1 -1
- package/.output/server/node_modules/mongodb/lib/cmap/handshake/client_metadata.js +15 -13
- package/.output/server/node_modules/mongodb/lib/cmap/metrics.js +3 -3
- package/.output/server/node_modules/mongodb/lib/cmap/wire_protocol/compression.js +26 -10
- package/.output/server/node_modules/mongodb/lib/cmap/wire_protocol/constants.js +3 -1
- package/.output/server/node_modules/mongodb/lib/cmap/wire_protocol/on_data.js +0 -1
- package/.output/server/node_modules/mongodb/lib/cmap/wire_protocol/on_demand/document.js +9 -9
- package/.output/server/node_modules/mongodb/lib/cmap/wire_protocol/responses.js +2 -2
- package/.output/server/node_modules/mongodb/lib/collection.js +1 -1
- package/.output/server/node_modules/mongodb/lib/connection_string.js +30 -15
- package/.output/server/node_modules/mongodb/lib/cursor/abstract_cursor.js +17 -34
- package/.output/server/node_modules/mongodb/lib/cursor/change_stream_cursor.js +2 -2
- package/.output/server/node_modules/mongodb/lib/cursor/find_cursor.js +37 -26
- package/.output/server/node_modules/mongodb/lib/cursor/run_command_cursor.js +1 -1
- package/.output/server/node_modules/mongodb/lib/db.js +6 -7
- package/.output/server/node_modules/mongodb/lib/deps.js +0 -13
- package/.output/server/node_modules/mongodb/lib/error.js +7 -10
- package/.output/server/node_modules/mongodb/lib/gridfs/download.js +7 -6
- package/.output/server/node_modules/mongodb/lib/gridfs/index.js +9 -9
- package/.output/server/node_modules/mongodb/lib/gridfs/upload.js +17 -23
- package/.output/server/node_modules/mongodb/lib/index.js +2 -4
- package/.output/server/node_modules/mongodb/lib/mongo_client.js +58 -67
- package/.output/server/node_modules/mongodb/lib/mongo_client_auth_providers.js +0 -6
- package/.output/server/node_modules/mongodb/lib/mongo_logger.js +11 -5
- package/.output/server/node_modules/mongodb/lib/mongo_types.js +1 -2
- package/.output/server/node_modules/mongodb/lib/operations/aggregate.js +0 -3
- package/.output/server/node_modules/mongodb/lib/operations/create_collection.js +0 -1
- package/.output/server/node_modules/mongodb/lib/operations/drop.js +8 -9
- package/.output/server/node_modules/mongodb/lib/operations/end_sessions.js +34 -0
- package/.output/server/node_modules/mongodb/lib/operations/execute_operation.js +121 -45
- package/.output/server/node_modules/mongodb/lib/operations/operation.js +1 -0
- package/.output/server/node_modules/mongodb/lib/read_preference.js +10 -14
- package/.output/server/node_modules/mongodb/lib/runtime_adapters.js +32 -0
- package/.output/server/node_modules/mongodb/lib/sdam/monitor.js +8 -8
- package/.output/server/node_modules/mongodb/lib/sdam/server.js +55 -43
- package/.output/server/node_modules/mongodb/lib/sdam/server_description.js +1 -1
- package/.output/server/node_modules/mongodb/lib/sdam/server_selection.js +135 -72
- package/.output/server/node_modules/mongodb/lib/sdam/srv_polling.js +3 -3
- package/.output/server/node_modules/mongodb/lib/sdam/topology.js +37 -77
- package/.output/server/node_modules/mongodb/lib/sdam/topology_description.js +1 -1
- package/.output/server/node_modules/mongodb/lib/sessions.js +150 -40
- package/.output/server/node_modules/mongodb/lib/transactions.js +2 -13
- package/.output/server/node_modules/mongodb/lib/utils.js +42 -90
- package/.output/server/node_modules/mongodb/package.json +49 -45
- package/.output/server/node_modules/mongodb-connection-string-url/lib/index.js +45 -19
- package/.output/server/node_modules/mongodb-connection-string-url/lib/redact.js +30 -19
- package/.output/server/node_modules/mongodb-connection-string-url/package.json +25 -16
- package/.output/server/node_modules/mongoose/lib/aggregate.js +108 -127
- package/.output/server/node_modules/mongoose/lib/cast/bigint.js +3 -3
- package/.output/server/node_modules/mongoose/lib/cast/boolean.js +3 -3
- package/.output/server/node_modules/mongoose/lib/cast/double.js +4 -4
- package/.output/server/node_modules/mongoose/lib/cast/int32.js +2 -2
- package/.output/server/node_modules/mongoose/lib/cast/number.js +6 -6
- package/.output/server/node_modules/mongoose/lib/cast/string.js +3 -3
- package/.output/server/node_modules/mongoose/lib/cast/uuid.js +5 -48
- package/.output/server/node_modules/mongoose/lib/cast.js +16 -24
- package/.output/server/node_modules/mongoose/lib/collection.js +6 -6
- package/.output/server/node_modules/mongoose/lib/connection.js +108 -105
- package/.output/server/node_modules/mongoose/lib/cursor/aggregationCursor.js +23 -33
- package/.output/server/node_modules/mongoose/lib/cursor/changeStream.js +60 -40
- package/.output/server/node_modules/mongoose/lib/cursor/queryCursor.js +21 -25
- package/.output/server/node_modules/mongoose/lib/document.js +712 -531
- package/.output/server/node_modules/mongoose/lib/drivers/node-mongodb-native/collection.js +85 -130
- package/.output/server/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js +32 -41
- package/.output/server/node_modules/mongoose/lib/error/cast.js +21 -12
- package/.output/server/node_modules/mongoose/lib/error/createCollectionsError.js +2 -2
- package/.output/server/node_modules/mongoose/lib/error/divergentArray.js +1 -1
- package/.output/server/node_modules/mongoose/lib/error/eachAsyncMultiError.js +1 -1
- package/.output/server/node_modules/mongoose/lib/error/index.js +3 -3
- package/.output/server/node_modules/mongoose/lib/error/invalidSchemaOption.js +1 -1
- package/.output/server/node_modules/mongoose/lib/error/messages.js +1 -0
- package/.output/server/node_modules/mongoose/lib/error/missingSchema.js +1 -1
- package/.output/server/node_modules/mongoose/lib/error/objectParameter.js +4 -5
- package/.output/server/node_modules/mongoose/lib/error/overwriteModel.js +1 -1
- package/.output/server/node_modules/mongoose/lib/error/setOptionError.js +3 -3
- package/.output/server/node_modules/mongoose/lib/error/strict.js +3 -3
- package/.output/server/node_modules/mongoose/lib/error/strictPopulate.js +2 -2
- package/.output/server/node_modules/mongoose/lib/error/syncIndexes.js +2 -2
- package/.output/server/node_modules/mongoose/lib/error/validation.js +2 -10
- package/.output/server/node_modules/mongoose/lib/error/validator.js +1 -1
- package/.output/server/node_modules/mongoose/lib/error/version.js +2 -2
- package/.output/server/node_modules/mongoose/lib/helpers/aggregate/prepareDiscriminatorPipeline.js +4 -4
- package/.output/server/node_modules/mongoose/lib/helpers/buildMiddlewareFilter.js +24 -0
- package/.output/server/node_modules/mongoose/lib/helpers/clone.js +35 -18
- package/.output/server/node_modules/mongoose/lib/helpers/common.js +5 -5
- package/.output/server/node_modules/mongoose/lib/helpers/cursor/eachAsync.js +4 -4
- package/.output/server/node_modules/mongoose/lib/helpers/discriminator/getConstructor.js +1 -1
- package/.output/server/node_modules/mongoose/lib/helpers/discriminator/getDiscriminatorByValue.js +1 -1
- package/.output/server/node_modules/mongoose/lib/helpers/discriminator/getSchemaDiscriminatorByValue.js +1 -1
- package/.output/server/node_modules/mongoose/lib/helpers/discriminator/mergeDiscriminatorSchema.js +10 -5
- package/.output/server/node_modules/mongoose/lib/helpers/document/applyDefaults.js +1 -1
- package/.output/server/node_modules/mongoose/lib/helpers/document/applyTimestamps.js +11 -10
- package/.output/server/node_modules/mongoose/lib/helpers/document/applyVirtuals.js +10 -9
- package/.output/server/node_modules/mongoose/lib/helpers/document/cleanModifiedSubpaths.js +1 -1
- package/.output/server/node_modules/mongoose/lib/helpers/document/compile.js +17 -14
- package/.output/server/node_modules/mongoose/lib/helpers/document/getDeepestSubdocumentForPath.js +3 -3
- package/.output/server/node_modules/mongoose/lib/helpers/document/getEmbeddedDiscriminatorPath.js +2 -2
- package/.output/server/node_modules/mongoose/lib/helpers/document/isInPathsToSave.js +24 -0
- package/.output/server/node_modules/mongoose/lib/helpers/get.js +1 -1
- package/.output/server/node_modules/mongoose/lib/helpers/indexes/decorateDiscriminatorIndexOptions.js +1 -1
- package/.output/server/node_modules/mongoose/lib/helpers/indexes/getRelatedIndexes.js +3 -3
- package/.output/server/node_modules/mongoose/lib/helpers/indexes/isIndexEqual.js +3 -4
- package/.output/server/node_modules/mongoose/lib/helpers/indexes/isIndexSpecEqual.js +3 -3
- package/.output/server/node_modules/mongoose/lib/helpers/isBsonType.js +1 -1
- package/.output/server/node_modules/mongoose/lib/helpers/isMongooseObject.js +1 -1
- package/.output/server/node_modules/mongoose/lib/helpers/isObject.js +2 -2
- package/.output/server/node_modules/mongoose/lib/helpers/isSimpleValidator.js +2 -2
- package/.output/server/node_modules/mongoose/lib/helpers/minimize.js +2 -2
- package/.output/server/node_modules/mongoose/lib/helpers/model/applyDefaultsToPOJO.js +2 -2
- package/.output/server/node_modules/mongoose/lib/helpers/model/applyHooks.js +55 -54
- package/.output/server/node_modules/mongoose/lib/helpers/model/applyMethods.js +2 -2
- package/.output/server/node_modules/mongoose/lib/helpers/model/applyStaticHooks.js +1 -48
- package/.output/server/node_modules/mongoose/lib/helpers/model/castBulkWrite.js +8 -12
- package/.output/server/node_modules/mongoose/lib/helpers/model/discriminator.js +1 -1
- package/.output/server/node_modules/mongoose/lib/helpers/parallelLimit.js +18 -36
- package/.output/server/node_modules/mongoose/lib/helpers/pluralize.js +4 -4
- package/.output/server/node_modules/mongoose/lib/helpers/populate/assignRawDocsToIdStructure.js +4 -11
- package/.output/server/node_modules/mongoose/lib/helpers/populate/assignVals.js +10 -10
- package/.output/server/node_modules/mongoose/lib/helpers/populate/createPopulateQueryFilter.js +3 -3
- package/.output/server/node_modules/mongoose/lib/helpers/populate/getModelsMapForPopulate.js +197 -69
- package/.output/server/node_modules/mongoose/lib/helpers/populate/getSchemaTypes.js +15 -15
- package/.output/server/node_modules/mongoose/lib/helpers/populate/markArraySubdocsPopulated.js +1 -1
- package/.output/server/node_modules/mongoose/lib/helpers/populate/modelNamesFromRefPath.js +10 -2
- package/.output/server/node_modules/mongoose/lib/helpers/populate/setPopulatedVirtualValue.js +5 -5
- package/.output/server/node_modules/mongoose/lib/helpers/printJestWarning.js +1 -1
- package/.output/server/node_modules/mongoose/lib/helpers/processConnectionOptions.js +1 -1
- package/.output/server/node_modules/mongoose/lib/helpers/projection/hasIncludedChildren.js +1 -1
- package/.output/server/node_modules/mongoose/lib/helpers/projection/isPathExcluded.js +3 -3
- package/.output/server/node_modules/mongoose/lib/helpers/projection/isSubpath.js +1 -1
- package/.output/server/node_modules/mongoose/lib/helpers/projection/parseProjection.js +9 -4
- package/.output/server/node_modules/mongoose/lib/helpers/query/cast$expr.js +8 -10
- package/.output/server/node_modules/mongoose/lib/helpers/query/castFilterPath.js +1 -1
- package/.output/server/node_modules/mongoose/lib/helpers/query/castUpdate.js +44 -38
- package/.output/server/node_modules/mongoose/lib/helpers/query/getEmbeddedDiscriminatorPath.js +8 -8
- package/.output/server/node_modules/mongoose/lib/helpers/query/handleImmutable.js +8 -8
- package/.output/server/node_modules/mongoose/lib/helpers/schema/applyPlugins.js +2 -2
- package/.output/server/node_modules/mongoose/lib/helpers/schema/applyReadConcern.js +1 -1
- package/.output/server/node_modules/mongoose/lib/helpers/schema/applyWriteConcern.js +4 -2
- package/.output/server/node_modules/mongoose/lib/helpers/schema/getIndexes.js +5 -11
- package/.output/server/node_modules/mongoose/lib/helpers/schema/getSubdocumentStrictValue.js +2 -2
- package/.output/server/node_modules/mongoose/lib/helpers/schema/handleIdOption.js +1 -1
- package/.output/server/node_modules/mongoose/lib/helpers/schema/idGetter.js +1 -1
- package/.output/server/node_modules/mongoose/lib/helpers/schematype/handleImmutable.js +1 -1
- package/.output/server/node_modules/mongoose/lib/helpers/setDefaultsOnInsert.js +26 -13
- package/.output/server/node_modules/mongoose/lib/helpers/timestamps/setDocumentTimestamps.js +2 -2
- package/.output/server/node_modules/mongoose/lib/helpers/timestamps/setupTimestamps.js +60 -38
- package/.output/server/node_modules/mongoose/lib/helpers/update/applyTimestampsToUpdate.js +13 -10
- package/.output/server/node_modules/mongoose/lib/helpers/update/castArrayFilters.js +4 -4
- package/.output/server/node_modules/mongoose/lib/helpers/update/decorateUpdateWithVersionKey.js +1 -1
- package/.output/server/node_modules/mongoose/lib/helpers/update/modifiedPaths.js +2 -2
- package/.output/server/node_modules/mongoose/lib/helpers/update/removeUnusedArrayFilters.js +7 -2
- package/.output/server/node_modules/mongoose/lib/helpers/updateValidators.js +58 -119
- package/.output/server/node_modules/mongoose/lib/model.js +940 -946
- package/.output/server/node_modules/mongoose/lib/mongoose.js +131 -79
- package/.output/server/node_modules/mongoose/lib/options/schemaArrayOptions.js +2 -2
- package/.output/server/node_modules/mongoose/lib/options/schemaBufferOptions.js +1 -1
- package/.output/server/node_modules/mongoose/lib/options/schemaDocumentArrayOptions.js +23 -0
- package/.output/server/node_modules/mongoose/lib/options/schemaNumberOptions.js +3 -3
- package/.output/server/node_modules/mongoose/lib/options/schemaObjectIdOptions.js +2 -2
- package/.output/server/node_modules/mongoose/lib/options/schemaStringOptions.js +6 -6
- package/.output/server/node_modules/mongoose/lib/options/schemaSubdocumentOptions.js +23 -0
- package/.output/server/node_modules/mongoose/lib/options/schemaTypeOptions.js +27 -13
- package/.output/server/node_modules/mongoose/lib/options/virtualOptions.js +12 -12
- package/.output/server/node_modules/mongoose/lib/plugins/index.js +0 -1
- package/.output/server/node_modules/mongoose/lib/plugins/saveSubdocs.js +84 -92
- package/.output/server/node_modules/mongoose/lib/plugins/sharding.js +33 -15
- package/.output/server/node_modules/mongoose/lib/plugins/trackTransaction.js +29 -25
- package/.output/server/node_modules/mongoose/lib/query.js +700 -548
- package/.output/server/node_modules/mongoose/lib/queryHelpers.js +34 -32
- package/.output/server/node_modules/mongoose/lib/schema/array.js +69 -113
- package/.output/server/node_modules/mongoose/lib/schema/bigint.js +18 -20
- package/.output/server/node_modules/mongoose/lib/schema/boolean.js +20 -22
- package/.output/server/node_modules/mongoose/lib/schema/buffer.js +23 -25
- package/.output/server/node_modules/mongoose/lib/schema/date.js +19 -21
- package/.output/server/node_modules/mongoose/lib/schema/decimal128.js +16 -18
- package/.output/server/node_modules/mongoose/lib/schema/documentArray.js +94 -131
- package/.output/server/node_modules/mongoose/lib/schema/documentArrayElement.js +50 -16
- package/.output/server/node_modules/mongoose/lib/schema/double.js +16 -18
- package/.output/server/node_modules/mongoose/lib/schema/index.js +1 -0
- package/.output/server/node_modules/mongoose/lib/schema/int32.js +17 -19
- package/.output/server/node_modules/mongoose/lib/schema/map.js +17 -24
- package/.output/server/node_modules/mongoose/lib/schema/mixed.js +14 -14
- package/.output/server/node_modules/mongoose/lib/schema/number.js +38 -28
- package/.output/server/node_modules/mongoose/lib/schema/objectId.js +18 -20
- package/.output/server/node_modules/mongoose/lib/schema/operators/exists.js +1 -1
- package/.output/server/node_modules/mongoose/lib/schema/operators/geospatial.js +1 -1
- package/.output/server/node_modules/mongoose/lib/schema/operators/text.js +4 -4
- package/.output/server/node_modules/mongoose/lib/schema/string.js +42 -27
- package/.output/server/node_modules/mongoose/lib/schema/subdocument.js +47 -58
- package/.output/server/node_modules/mongoose/lib/schema/union.js +54 -4
- package/.output/server/node_modules/mongoose/lib/schema/uuid.js +17 -40
- package/.output/server/node_modules/mongoose/lib/schema.js +235 -176
- package/.output/server/node_modules/mongoose/lib/schemaType.js +227 -158
- package/.output/server/node_modules/mongoose/lib/stateMachine.js +5 -8
- package/.output/server/node_modules/mongoose/lib/types/array/index.js +5 -5
- package/.output/server/node_modules/mongoose/lib/types/array/methods/index.js +27 -28
- package/.output/server/node_modules/mongoose/lib/types/arraySubdocument.js +11 -11
- package/.output/server/node_modules/mongoose/lib/types/buffer.js +15 -15
- package/.output/server/node_modules/mongoose/lib/types/decimal128.js +1 -1
- package/.output/server/node_modules/mongoose/lib/types/documentArray/index.js +4 -4
- package/.output/server/node_modules/mongoose/lib/types/documentArray/methods/index.js +15 -13
- package/.output/server/node_modules/mongoose/lib/types/double.js +1 -1
- package/.output/server/node_modules/mongoose/lib/types/map.js +20 -71
- package/.output/server/node_modules/mongoose/lib/types/objectid.js +1 -1
- package/.output/server/node_modules/mongoose/lib/types/subdocument.js +32 -81
- package/.output/server/node_modules/mongoose/lib/types/uuid.js +1 -1
- package/.output/server/node_modules/mongoose/lib/utils.js +91 -70
- package/.output/server/node_modules/mongoose/lib/validOptions.js +4 -3
- package/.output/server/node_modules/mongoose/lib/virtualType.js +18 -18
- package/.output/server/node_modules/mongoose/package.json +46 -63
- package/.output/server/node_modules/mquery/lib/collection/collection.js +3 -1
- package/.output/server/node_modules/mquery/lib/collection/node.js +17 -3
- package/.output/server/node_modules/mquery/lib/mquery.js +136 -93
- package/.output/server/node_modules/mquery/lib/permissions.js +21 -6
- package/.output/server/node_modules/mquery/package.json +4 -7
- package/.output/server/package.json +7 -9
- package/package.json +3 -3
- package/.output/public/_nuxt/builds/meta/0d6006db-fbb0-4297-85cf-bf92ceafcb79.json +0 -1
- package/.output/server/node_modules/debug/package.json +0 -64
- package/.output/server/node_modules/debug/src/browser.js +0 -272
- package/.output/server/node_modules/debug/src/common.js +0 -292
- package/.output/server/node_modules/debug/src/index.js +0 -10
- package/.output/server/node_modules/debug/src/node.js +0 -263
- package/.output/server/node_modules/mongodb/lib/client-side-encryption/crypto_callbacks.js +0 -81
- package/.output/server/node_modules/mongodb/lib/resource_management.js +0 -58
- package/.output/server/node_modules/mongoose/lib/browserDocument.js +0 -101
- package/.output/server/node_modules/mongoose/lib/documentProvider.js +0 -30
- package/.output/server/node_modules/mongoose/lib/helpers/createJSONSchemaTypeDefinition.js +0 -24
- package/.output/server/node_modules/mongoose/lib/helpers/promiseOrCallback.js +0 -54
- package/.output/server/node_modules/mongoose/lib/plugins/validateBeforeSave.js +0 -51
- package/.output/server/node_modules/supports-color/index.js +0 -202
- package/.output/server/node_modules/supports-color/package.json +0 -64
|
@@ -6,9 +6,9 @@ const CastError = require('../error/cast');
|
|
|
6
6
|
* Given a value, cast it to a boolean, or throw a `CastError` if the value
|
|
7
7
|
* cannot be casted. `null` and `undefined` are considered valid.
|
|
8
8
|
*
|
|
9
|
-
* @param {
|
|
10
|
-
* @param {
|
|
11
|
-
* @return {
|
|
9
|
+
* @param {any} value
|
|
10
|
+
* @param {string} [path] optional the path to set on the CastError
|
|
11
|
+
* @return {boolean|null|undefined}
|
|
12
12
|
* @throws {CastError} if `value` is not one of the allowed values
|
|
13
13
|
* @api private
|
|
14
14
|
*/
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const assert = require('assert');
|
|
4
|
-
const BSON = require('bson');
|
|
4
|
+
const BSON = require('mongodb/lib/bson');
|
|
5
5
|
const isBsonType = require('../helpers/isBsonType');
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Given a value, cast it to a IEEE 754-2008 floating point, or throw an `Error` if the value
|
|
9
9
|
* cannot be casted. `null`, `undefined`, and `NaN` are considered valid inputs.
|
|
10
10
|
*
|
|
11
|
-
* @param {
|
|
12
|
-
* @return {
|
|
11
|
+
* @param {any} value
|
|
12
|
+
* @return {number}
|
|
13
13
|
* @throws {Error} if `value` does not represent a IEEE 754-2008 floating point. If casting from a string, see [BSON Double.fromString API documentation](https://mongodb.github.io/node-mongodb-native/Next/classes/BSON.Double.html#fromString)
|
|
14
14
|
* @api private
|
|
15
15
|
*/
|
|
@@ -34,7 +34,7 @@ module.exports = function castDouble(val) {
|
|
|
34
34
|
// ex: { a: 'im an object, valueOf: () => 'helloworld' } // throw an error
|
|
35
35
|
if (typeof tempVal === 'string') {
|
|
36
36
|
try {
|
|
37
|
-
coercedVal = BSON.Double.fromString(
|
|
37
|
+
coercedVal = BSON.Double.fromString(tempVal);
|
|
38
38
|
return coercedVal;
|
|
39
39
|
} catch {
|
|
40
40
|
assert.ok(false);
|
|
@@ -7,8 +7,8 @@ const assert = require('assert');
|
|
|
7
7
|
* Given a value, cast it to a Int32, or throw an `Error` if the value
|
|
8
8
|
* cannot be casted. `null` and `undefined` are considered valid.
|
|
9
9
|
*
|
|
10
|
-
* @param {
|
|
11
|
-
* @return {
|
|
10
|
+
* @param {any} value
|
|
11
|
+
* @return {number}
|
|
12
12
|
* @throws {Error} if `value` does not represent an integer, or is outside the bounds of an 32-bit integer.
|
|
13
13
|
* @api private
|
|
14
14
|
*/
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const assert = require('assert');
|
|
4
|
-
|
|
5
3
|
/**
|
|
6
4
|
* Given a value, cast it to a number, or throw an `Error` if the value
|
|
7
5
|
* cannot be casted. `null` and `undefined` are considered valid.
|
|
8
6
|
*
|
|
9
|
-
* @param {
|
|
10
|
-
* @return {
|
|
7
|
+
* @param {any} value
|
|
8
|
+
* @return {number}
|
|
11
9
|
* @throws {Error} if `value` is not one of the allowed values
|
|
12
10
|
* @api private
|
|
13
11
|
*/
|
|
@@ -24,7 +22,9 @@ module.exports = function castNumber(val) {
|
|
|
24
22
|
val = Number(val);
|
|
25
23
|
}
|
|
26
24
|
|
|
27
|
-
|
|
25
|
+
if (isNaN(val)) {
|
|
26
|
+
throw new Error('Cast to Number failed: value is not a valid number');
|
|
27
|
+
}
|
|
28
28
|
if (val instanceof Number) {
|
|
29
29
|
return val.valueOf();
|
|
30
30
|
}
|
|
@@ -38,5 +38,5 @@ module.exports = function castNumber(val) {
|
|
|
38
38
|
return Number(val);
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
throw new Error('Cast to Number failed: value is not a valid number');
|
|
42
42
|
};
|
|
@@ -6,8 +6,8 @@ const CastError = require('../error/cast');
|
|
|
6
6
|
* Given a value, cast it to a string, or throw a `CastError` if the value
|
|
7
7
|
* cannot be casted. `null` and `undefined` are considered valid.
|
|
8
8
|
*
|
|
9
|
-
* @param {
|
|
10
|
-
* @param {
|
|
9
|
+
* @param {any} value
|
|
10
|
+
* @param {string} [path] optional the path to set on the CastError
|
|
11
11
|
* @return {string|null|undefined}
|
|
12
12
|
* @throws {CastError}
|
|
13
13
|
* @api private
|
|
@@ -20,7 +20,7 @@ module.exports = function castString(value, path) {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
// handle documents being passed
|
|
23
|
-
if (
|
|
23
|
+
if (typeof value?._id === 'string') {
|
|
24
24
|
return value._id;
|
|
25
25
|
}
|
|
26
26
|
|
|
@@ -1,43 +1,31 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const UUID = require('mongodb/lib/bson').UUID;
|
|
4
4
|
|
|
5
5
|
const UUID_FORMAT = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/i;
|
|
6
|
-
const Binary = MongooseBuffer.Binary;
|
|
7
6
|
|
|
8
7
|
module.exports = function castUUID(value) {
|
|
9
8
|
if (value == null) {
|
|
10
9
|
return value;
|
|
11
10
|
}
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
buff._subtype = 4;
|
|
16
|
-
return buff;
|
|
12
|
+
if (value instanceof UUID) {
|
|
13
|
+
return value;
|
|
17
14
|
}
|
|
18
|
-
|
|
19
15
|
if (typeof value === 'string') {
|
|
20
16
|
if (UUID_FORMAT.test(value)) {
|
|
21
|
-
return
|
|
17
|
+
return new UUID(value);
|
|
22
18
|
} else {
|
|
23
19
|
throw new Error(`"${value}" is not a valid UUID string`);
|
|
24
20
|
}
|
|
25
21
|
}
|
|
26
22
|
|
|
27
|
-
if (Buffer.isBuffer(value)) {
|
|
28
|
-
return newBuffer(value);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
if (value instanceof Binary) {
|
|
32
|
-
return newBuffer(value.value(true));
|
|
33
|
-
}
|
|
34
|
-
|
|
35
23
|
// Re: gh-647 and gh-3030, we're ok with casting using `toString()`
|
|
36
24
|
// **unless** its the default Object.toString, because "[object Object]"
|
|
37
25
|
// doesn't really qualify as useful data
|
|
38
26
|
if (value.toString && value.toString !== Object.prototype.toString) {
|
|
39
27
|
if (UUID_FORMAT.test(value.toString())) {
|
|
40
|
-
return
|
|
28
|
+
return new UUID(value.toString());
|
|
41
29
|
}
|
|
42
30
|
}
|
|
43
31
|
|
|
@@ -45,34 +33,3 @@ module.exports = function castUUID(value) {
|
|
|
45
33
|
};
|
|
46
34
|
|
|
47
35
|
module.exports.UUID_FORMAT = UUID_FORMAT;
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Helper function to convert the input hex-string to a buffer
|
|
51
|
-
* @param {String} hex The hex string to convert
|
|
52
|
-
* @returns {Buffer} The hex as buffer
|
|
53
|
-
* @api private
|
|
54
|
-
*/
|
|
55
|
-
|
|
56
|
-
function hex2buffer(hex) {
|
|
57
|
-
// use buffer built-in function to convert from hex-string to buffer
|
|
58
|
-
const buff = hex != null && Buffer.from(hex, 'hex');
|
|
59
|
-
return buff;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Convert a String to Binary
|
|
64
|
-
* @param {String} uuidStr The value to process
|
|
65
|
-
* @returns {MongooseBuffer} The binary to store
|
|
66
|
-
* @api private
|
|
67
|
-
*/
|
|
68
|
-
|
|
69
|
-
function stringToBinary(uuidStr) {
|
|
70
|
-
// Protect against undefined & throwing err
|
|
71
|
-
if (typeof uuidStr !== 'string') uuidStr = '';
|
|
72
|
-
const hex = uuidStr.replace(/[{}-]/g, ''); // remove extra characters
|
|
73
|
-
const bytes = hex2buffer(hex);
|
|
74
|
-
const buff = new MongooseBuffer(bytes);
|
|
75
|
-
buff._subtype = 4;
|
|
76
|
-
|
|
77
|
-
return buff;
|
|
78
|
-
}
|
|
@@ -24,25 +24,25 @@ const ALLOWED_GEOWITHIN_GEOJSON_TYPES = ['Polygon', 'MultiPolygon'];
|
|
|
24
24
|
* Handles internal casting for query filters.
|
|
25
25
|
*
|
|
26
26
|
* @param {Schema} schema
|
|
27
|
-
* @param {
|
|
28
|
-
* @param {
|
|
29
|
-
* @param {
|
|
30
|
-
* @param {
|
|
31
|
-
* @param {
|
|
32
|
-
* @param {
|
|
27
|
+
* @param {object} obj Object to cast
|
|
28
|
+
* @param {object} [options] the query options
|
|
29
|
+
* @param {boolean|"throw"} [options.strict] Whether to enable all strict options
|
|
30
|
+
* @param {boolean|"throw"} [options.strictQuery] Enable strict Queries
|
|
31
|
+
* @param {boolean} [options.sanitizeFilter] avoid adding implicit query selectors ($in)
|
|
32
|
+
* @param {boolean} [options.upsert]
|
|
33
33
|
* @param {Query} [context] passed to setters
|
|
34
34
|
* @api private
|
|
35
35
|
*/
|
|
36
36
|
module.exports = function cast(schema, obj, options, context) {
|
|
37
37
|
if (Array.isArray(obj)) {
|
|
38
|
-
throw new Error('Query filter must be an object, got an array '
|
|
38
|
+
throw new Error('Query filter must be an object, got an array ' + util.inspect(obj));
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
if (obj == null) {
|
|
42
42
|
return obj;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
if (schema
|
|
45
|
+
if (schema?.discriminators != null && obj[schema.options.discriminatorKey] != null) {
|
|
46
46
|
schema = getSchemaDiscriminatorByValue(schema, obj[schema.options.discriminatorKey]) || schema;
|
|
47
47
|
}
|
|
48
48
|
|
|
@@ -79,7 +79,7 @@ module.exports = function cast(schema, obj, options, context) {
|
|
|
79
79
|
val[k] = cast(discriminatorSchema ? discriminatorSchema : schema, val[k], options, context);
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
if (
|
|
82
|
+
if (utils.hasOwnKeys(val[k]) === false && beforeCastKeysLength !== 0) {
|
|
83
83
|
val.splice(k, 1);
|
|
84
84
|
}
|
|
85
85
|
}
|
|
@@ -126,16 +126,12 @@ module.exports = function cast(schema, obj, options, context) {
|
|
|
126
126
|
const pathFirstHalf = split.slice(0, j).join('.');
|
|
127
127
|
const pathLastHalf = split.slice(j).join('.');
|
|
128
128
|
const _schematype = schema.path(pathFirstHalf);
|
|
129
|
-
const discriminatorKey = _schematype
|
|
130
|
-
_schematype.schema &&
|
|
131
|
-
_schematype.schema.options &&
|
|
132
|
-
_schematype.schema.options.discriminatorKey;
|
|
129
|
+
const discriminatorKey = _schematype?.schema?.options?.discriminatorKey;
|
|
133
130
|
|
|
134
131
|
// gh-6027: if we haven't found the schematype but this path is
|
|
135
132
|
// underneath an embedded discriminator and the embedded discriminator
|
|
136
133
|
// key is in the query, use the embedded discriminator schema
|
|
137
|
-
if (_schematype != null &&
|
|
138
|
-
(_schematype.schema && _schematype.schema.discriminators) != null &&
|
|
134
|
+
if (_schematype?.schema?.discriminators != null &&
|
|
139
135
|
discriminatorKey != null &&
|
|
140
136
|
pathLastHalf !== discriminatorKey) {
|
|
141
137
|
const discriminatorVal = get(obj, pathFirstHalf + '.' + discriminatorKey);
|
|
@@ -175,12 +171,12 @@ module.exports = function cast(schema, obj, options, context) {
|
|
|
175
171
|
// If a substring of the input path resolves to an actual real path...
|
|
176
172
|
if (schematype) {
|
|
177
173
|
// Apply the casting; similar code for $elemMatch in schema/array.js
|
|
178
|
-
if (schematype.
|
|
174
|
+
if (schematype.schema) {
|
|
179
175
|
remainingConds = {};
|
|
180
176
|
pathLastHalf = split.slice(j).join('.');
|
|
181
177
|
remainingConds[pathLastHalf] = val;
|
|
182
178
|
|
|
183
|
-
const ret = cast(schematype.
|
|
179
|
+
const ret = cast(schematype.schema, remainingConds, options, context)[pathLastHalf];
|
|
184
180
|
if (ret === void 0) {
|
|
185
181
|
delete obj[path];
|
|
186
182
|
} else {
|
|
@@ -330,9 +326,9 @@ module.exports = function cast(schema, obj, options, context) {
|
|
|
330
326
|
$cond = ks[k];
|
|
331
327
|
nested = val[$cond];
|
|
332
328
|
if ($cond === '$elemMatch') {
|
|
333
|
-
if (nested && schematype
|
|
329
|
+
if (nested && schematype?.schema != null) {
|
|
334
330
|
cast(schematype.schema, nested, options, context);
|
|
335
|
-
} else if (nested && schematype
|
|
331
|
+
} else if (nested && schematype?.$isMongooseArray) {
|
|
336
332
|
if (utils.isPOJO(nested) && nested.$not != null) {
|
|
337
333
|
cast(schema, nested, options, context);
|
|
338
334
|
} else {
|
|
@@ -430,11 +426,7 @@ function getStrictQuery(queryOptions, schemaUserProvidedOptions, schemaOptions,
|
|
|
430
426
|
if ('strictQuery' in schemaUserProvidedOptions) {
|
|
431
427
|
return schemaUserProvidedOptions.strictQuery;
|
|
432
428
|
}
|
|
433
|
-
const mongooseOptions = context
|
|
434
|
-
context.mongooseCollection &&
|
|
435
|
-
context.mongooseCollection.conn &&
|
|
436
|
-
context.mongooseCollection.conn.base &&
|
|
437
|
-
context.mongooseCollection.conn.base.options;
|
|
429
|
+
const mongooseOptions = context?.mongooseCollection?.conn?.base?.options;
|
|
438
430
|
if (mongooseOptions) {
|
|
439
431
|
if ('strictQuery' in mongooseOptions) {
|
|
440
432
|
return mongooseOptions.strictQuery;
|
|
@@ -13,9 +13,9 @@ const immediate = require('./helpers/immediate');
|
|
|
13
13
|
*
|
|
14
14
|
* This is the base class that drivers inherit from and implement.
|
|
15
15
|
*
|
|
16
|
-
* @param {
|
|
16
|
+
* @param {string} name name of the collection
|
|
17
17
|
* @param {Connection} conn A MongooseConnection instance
|
|
18
|
-
* @param {
|
|
18
|
+
* @param {object} [opts] optional collection options
|
|
19
19
|
* @api public
|
|
20
20
|
*/
|
|
21
21
|
|
|
@@ -87,7 +87,7 @@ Collection.prototype.onClose = function() {};
|
|
|
87
87
|
* Queues a method for later execution when its
|
|
88
88
|
* database connection opens.
|
|
89
89
|
*
|
|
90
|
-
* @param {
|
|
90
|
+
* @param {string} name name of the method to queue
|
|
91
91
|
* @param {Array} args arguments to pass to the method when executed
|
|
92
92
|
* @api private
|
|
93
93
|
*/
|
|
@@ -100,7 +100,7 @@ Collection.prototype.addQueue = function(name, args) {
|
|
|
100
100
|
/**
|
|
101
101
|
* Removes a queued method
|
|
102
102
|
*
|
|
103
|
-
* @param {
|
|
103
|
+
* @param {string} name name of the method to queue
|
|
104
104
|
* @param {Array} args arguments to pass to the method when executed
|
|
105
105
|
* @api private
|
|
106
106
|
*/
|
|
@@ -290,7 +290,7 @@ Collection.prototype._shouldBufferCommands = function _shouldBufferCommands() {
|
|
|
290
290
|
if (opts.bufferCommands != null) {
|
|
291
291
|
return opts.bufferCommands;
|
|
292
292
|
}
|
|
293
|
-
if (opts
|
|
293
|
+
if (opts?.schemaUserProvidedOptions?.bufferCommands != null) {
|
|
294
294
|
return opts.schemaUserProvidedOptions.bufferCommands;
|
|
295
295
|
}
|
|
296
296
|
|
|
@@ -308,7 +308,7 @@ Collection.prototype._getBufferTimeoutMS = function _getBufferTimeoutMS() {
|
|
|
308
308
|
if (opts.bufferTimeoutMS != null) {
|
|
309
309
|
return opts.bufferTimeoutMS;
|
|
310
310
|
}
|
|
311
|
-
if (opts
|
|
311
|
+
if (opts?.schemaUserProvidedOptions?.bufferTimeoutMS != null) {
|
|
312
312
|
return opts.schemaUserProvidedOptions.bufferTimeoutMS;
|
|
313
313
|
}
|
|
314
314
|
return conn._getBufferTimeoutMS();
|