@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.
Files changed (268) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/builds/latest.json +1 -1
  3. package/.output/public/_nuxt/builds/meta/8b851c04-1848-472a-b5cd-0727aaaf90f4.json +1 -0
  4. package/.output/server/chunks/nitro/nitro.mjs +232 -232
  5. package/.output/server/chunks/routes/api/parse.post.mjs +54 -11
  6. package/.output/server/chunks/routes/api/parse.post.mjs.map +1 -1
  7. package/.output/server/node_modules/bson/lib/bson.cjs +157 -48
  8. package/.output/server/node_modules/bson/package.json +9 -11
  9. package/.output/server/node_modules/kareem/index.js +228 -343
  10. package/.output/server/node_modules/kareem/package.json +3 -3
  11. package/.output/server/node_modules/mongodb/lib/bson.js +27 -5
  12. package/.output/server/node_modules/mongodb/lib/bulk/common.js +7 -9
  13. package/.output/server/node_modules/mongodb/lib/change_stream.js +91 -39
  14. package/.output/server/node_modules/mongodb/lib/client-side-encryption/auto_encrypter.js +21 -14
  15. package/.output/server/node_modules/mongodb/lib/client-side-encryption/client_encryption.js +2 -5
  16. package/.output/server/node_modules/mongodb/lib/client-side-encryption/errors.js +3 -1
  17. package/.output/server/node_modules/mongodb/lib/client-side-encryption/mongocryptd_manager.js +1 -1
  18. package/.output/server/node_modules/mongodb/lib/client-side-encryption/state_machine.js +1 -0
  19. package/.output/server/node_modules/mongodb/lib/cmap/auth/aws4.js +161 -0
  20. package/.output/server/node_modules/mongodb/lib/cmap/auth/aws_temporary_credentials.js +11 -58
  21. package/.output/server/node_modules/mongodb/lib/cmap/auth/gssapi.js +4 -6
  22. package/.output/server/node_modules/mongodb/lib/cmap/auth/mongo_credentials.js +2 -16
  23. package/.output/server/node_modules/mongodb/lib/cmap/auth/mongodb_aws.js +14 -23
  24. package/.output/server/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/azure_machine_workflow.js +3 -3
  25. package/.output/server/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/gcp_machine_workflow.js +3 -3
  26. package/.output/server/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/k8s_machine_workflow.js +4 -3
  27. package/.output/server/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/token_machine_workflow.js +4 -3
  28. package/.output/server/node_modules/mongodb/lib/cmap/auth/mongodb_oidc.js +4 -4
  29. package/.output/server/node_modules/mongodb/lib/cmap/auth/plain.js +1 -1
  30. package/.output/server/node_modules/mongodb/lib/cmap/auth/providers.js +0 -1
  31. package/.output/server/node_modules/mongodb/lib/cmap/auth/scram.js +53 -40
  32. package/.output/server/node_modules/mongodb/lib/cmap/commands.js +46 -39
  33. package/.output/server/node_modules/mongodb/lib/cmap/connect.js +35 -3
  34. package/.output/server/node_modules/mongodb/lib/cmap/connection.js +36 -32
  35. package/.output/server/node_modules/mongodb/lib/cmap/connection_pool.js +67 -67
  36. package/.output/server/node_modules/mongodb/lib/cmap/connection_pool_events.js +3 -3
  37. package/.output/server/node_modules/mongodb/lib/cmap/errors.js +1 -1
  38. package/.output/server/node_modules/mongodb/lib/cmap/handshake/client_metadata.js +15 -13
  39. package/.output/server/node_modules/mongodb/lib/cmap/metrics.js +3 -3
  40. package/.output/server/node_modules/mongodb/lib/cmap/wire_protocol/compression.js +26 -10
  41. package/.output/server/node_modules/mongodb/lib/cmap/wire_protocol/constants.js +3 -1
  42. package/.output/server/node_modules/mongodb/lib/cmap/wire_protocol/on_data.js +0 -1
  43. package/.output/server/node_modules/mongodb/lib/cmap/wire_protocol/on_demand/document.js +9 -9
  44. package/.output/server/node_modules/mongodb/lib/cmap/wire_protocol/responses.js +2 -2
  45. package/.output/server/node_modules/mongodb/lib/collection.js +1 -1
  46. package/.output/server/node_modules/mongodb/lib/connection_string.js +30 -15
  47. package/.output/server/node_modules/mongodb/lib/cursor/abstract_cursor.js +17 -34
  48. package/.output/server/node_modules/mongodb/lib/cursor/change_stream_cursor.js +2 -2
  49. package/.output/server/node_modules/mongodb/lib/cursor/find_cursor.js +37 -26
  50. package/.output/server/node_modules/mongodb/lib/cursor/run_command_cursor.js +1 -1
  51. package/.output/server/node_modules/mongodb/lib/db.js +6 -7
  52. package/.output/server/node_modules/mongodb/lib/deps.js +0 -13
  53. package/.output/server/node_modules/mongodb/lib/error.js +7 -10
  54. package/.output/server/node_modules/mongodb/lib/gridfs/download.js +7 -6
  55. package/.output/server/node_modules/mongodb/lib/gridfs/index.js +9 -9
  56. package/.output/server/node_modules/mongodb/lib/gridfs/upload.js +17 -23
  57. package/.output/server/node_modules/mongodb/lib/index.js +2 -4
  58. package/.output/server/node_modules/mongodb/lib/mongo_client.js +58 -67
  59. package/.output/server/node_modules/mongodb/lib/mongo_client_auth_providers.js +0 -6
  60. package/.output/server/node_modules/mongodb/lib/mongo_logger.js +11 -5
  61. package/.output/server/node_modules/mongodb/lib/mongo_types.js +1 -2
  62. package/.output/server/node_modules/mongodb/lib/operations/aggregate.js +0 -3
  63. package/.output/server/node_modules/mongodb/lib/operations/create_collection.js +0 -1
  64. package/.output/server/node_modules/mongodb/lib/operations/drop.js +8 -9
  65. package/.output/server/node_modules/mongodb/lib/operations/end_sessions.js +34 -0
  66. package/.output/server/node_modules/mongodb/lib/operations/execute_operation.js +121 -45
  67. package/.output/server/node_modules/mongodb/lib/operations/operation.js +1 -0
  68. package/.output/server/node_modules/mongodb/lib/read_preference.js +10 -14
  69. package/.output/server/node_modules/mongodb/lib/runtime_adapters.js +32 -0
  70. package/.output/server/node_modules/mongodb/lib/sdam/monitor.js +8 -8
  71. package/.output/server/node_modules/mongodb/lib/sdam/server.js +55 -43
  72. package/.output/server/node_modules/mongodb/lib/sdam/server_description.js +1 -1
  73. package/.output/server/node_modules/mongodb/lib/sdam/server_selection.js +135 -72
  74. package/.output/server/node_modules/mongodb/lib/sdam/srv_polling.js +3 -3
  75. package/.output/server/node_modules/mongodb/lib/sdam/topology.js +37 -77
  76. package/.output/server/node_modules/mongodb/lib/sdam/topology_description.js +1 -1
  77. package/.output/server/node_modules/mongodb/lib/sessions.js +150 -40
  78. package/.output/server/node_modules/mongodb/lib/transactions.js +2 -13
  79. package/.output/server/node_modules/mongodb/lib/utils.js +42 -90
  80. package/.output/server/node_modules/mongodb/package.json +49 -45
  81. package/.output/server/node_modules/mongodb-connection-string-url/lib/index.js +45 -19
  82. package/.output/server/node_modules/mongodb-connection-string-url/lib/redact.js +30 -19
  83. package/.output/server/node_modules/mongodb-connection-string-url/package.json +25 -16
  84. package/.output/server/node_modules/mongoose/lib/aggregate.js +108 -127
  85. package/.output/server/node_modules/mongoose/lib/cast/bigint.js +3 -3
  86. package/.output/server/node_modules/mongoose/lib/cast/boolean.js +3 -3
  87. package/.output/server/node_modules/mongoose/lib/cast/double.js +4 -4
  88. package/.output/server/node_modules/mongoose/lib/cast/int32.js +2 -2
  89. package/.output/server/node_modules/mongoose/lib/cast/number.js +6 -6
  90. package/.output/server/node_modules/mongoose/lib/cast/string.js +3 -3
  91. package/.output/server/node_modules/mongoose/lib/cast/uuid.js +5 -48
  92. package/.output/server/node_modules/mongoose/lib/cast.js +16 -24
  93. package/.output/server/node_modules/mongoose/lib/collection.js +6 -6
  94. package/.output/server/node_modules/mongoose/lib/connection.js +108 -105
  95. package/.output/server/node_modules/mongoose/lib/cursor/aggregationCursor.js +23 -33
  96. package/.output/server/node_modules/mongoose/lib/cursor/changeStream.js +60 -40
  97. package/.output/server/node_modules/mongoose/lib/cursor/queryCursor.js +21 -25
  98. package/.output/server/node_modules/mongoose/lib/document.js +712 -531
  99. package/.output/server/node_modules/mongoose/lib/drivers/node-mongodb-native/collection.js +85 -130
  100. package/.output/server/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js +32 -41
  101. package/.output/server/node_modules/mongoose/lib/error/cast.js +21 -12
  102. package/.output/server/node_modules/mongoose/lib/error/createCollectionsError.js +2 -2
  103. package/.output/server/node_modules/mongoose/lib/error/divergentArray.js +1 -1
  104. package/.output/server/node_modules/mongoose/lib/error/eachAsyncMultiError.js +1 -1
  105. package/.output/server/node_modules/mongoose/lib/error/index.js +3 -3
  106. package/.output/server/node_modules/mongoose/lib/error/invalidSchemaOption.js +1 -1
  107. package/.output/server/node_modules/mongoose/lib/error/messages.js +1 -0
  108. package/.output/server/node_modules/mongoose/lib/error/missingSchema.js +1 -1
  109. package/.output/server/node_modules/mongoose/lib/error/objectParameter.js +4 -5
  110. package/.output/server/node_modules/mongoose/lib/error/overwriteModel.js +1 -1
  111. package/.output/server/node_modules/mongoose/lib/error/setOptionError.js +3 -3
  112. package/.output/server/node_modules/mongoose/lib/error/strict.js +3 -3
  113. package/.output/server/node_modules/mongoose/lib/error/strictPopulate.js +2 -2
  114. package/.output/server/node_modules/mongoose/lib/error/syncIndexes.js +2 -2
  115. package/.output/server/node_modules/mongoose/lib/error/validation.js +2 -10
  116. package/.output/server/node_modules/mongoose/lib/error/validator.js +1 -1
  117. package/.output/server/node_modules/mongoose/lib/error/version.js +2 -2
  118. package/.output/server/node_modules/mongoose/lib/helpers/aggregate/prepareDiscriminatorPipeline.js +4 -4
  119. package/.output/server/node_modules/mongoose/lib/helpers/buildMiddlewareFilter.js +24 -0
  120. package/.output/server/node_modules/mongoose/lib/helpers/clone.js +35 -18
  121. package/.output/server/node_modules/mongoose/lib/helpers/common.js +5 -5
  122. package/.output/server/node_modules/mongoose/lib/helpers/cursor/eachAsync.js +4 -4
  123. package/.output/server/node_modules/mongoose/lib/helpers/discriminator/getConstructor.js +1 -1
  124. package/.output/server/node_modules/mongoose/lib/helpers/discriminator/getDiscriminatorByValue.js +1 -1
  125. package/.output/server/node_modules/mongoose/lib/helpers/discriminator/getSchemaDiscriminatorByValue.js +1 -1
  126. package/.output/server/node_modules/mongoose/lib/helpers/discriminator/mergeDiscriminatorSchema.js +10 -5
  127. package/.output/server/node_modules/mongoose/lib/helpers/document/applyDefaults.js +1 -1
  128. package/.output/server/node_modules/mongoose/lib/helpers/document/applyTimestamps.js +11 -10
  129. package/.output/server/node_modules/mongoose/lib/helpers/document/applyVirtuals.js +10 -9
  130. package/.output/server/node_modules/mongoose/lib/helpers/document/cleanModifiedSubpaths.js +1 -1
  131. package/.output/server/node_modules/mongoose/lib/helpers/document/compile.js +17 -14
  132. package/.output/server/node_modules/mongoose/lib/helpers/document/getDeepestSubdocumentForPath.js +3 -3
  133. package/.output/server/node_modules/mongoose/lib/helpers/document/getEmbeddedDiscriminatorPath.js +2 -2
  134. package/.output/server/node_modules/mongoose/lib/helpers/document/isInPathsToSave.js +24 -0
  135. package/.output/server/node_modules/mongoose/lib/helpers/get.js +1 -1
  136. package/.output/server/node_modules/mongoose/lib/helpers/indexes/decorateDiscriminatorIndexOptions.js +1 -1
  137. package/.output/server/node_modules/mongoose/lib/helpers/indexes/getRelatedIndexes.js +3 -3
  138. package/.output/server/node_modules/mongoose/lib/helpers/indexes/isIndexEqual.js +3 -4
  139. package/.output/server/node_modules/mongoose/lib/helpers/indexes/isIndexSpecEqual.js +3 -3
  140. package/.output/server/node_modules/mongoose/lib/helpers/isBsonType.js +1 -1
  141. package/.output/server/node_modules/mongoose/lib/helpers/isMongooseObject.js +1 -1
  142. package/.output/server/node_modules/mongoose/lib/helpers/isObject.js +2 -2
  143. package/.output/server/node_modules/mongoose/lib/helpers/isSimpleValidator.js +2 -2
  144. package/.output/server/node_modules/mongoose/lib/helpers/minimize.js +2 -2
  145. package/.output/server/node_modules/mongoose/lib/helpers/model/applyDefaultsToPOJO.js +2 -2
  146. package/.output/server/node_modules/mongoose/lib/helpers/model/applyHooks.js +55 -54
  147. package/.output/server/node_modules/mongoose/lib/helpers/model/applyMethods.js +2 -2
  148. package/.output/server/node_modules/mongoose/lib/helpers/model/applyStaticHooks.js +1 -48
  149. package/.output/server/node_modules/mongoose/lib/helpers/model/castBulkWrite.js +8 -12
  150. package/.output/server/node_modules/mongoose/lib/helpers/model/discriminator.js +1 -1
  151. package/.output/server/node_modules/mongoose/lib/helpers/parallelLimit.js +18 -36
  152. package/.output/server/node_modules/mongoose/lib/helpers/pluralize.js +4 -4
  153. package/.output/server/node_modules/mongoose/lib/helpers/populate/assignRawDocsToIdStructure.js +4 -11
  154. package/.output/server/node_modules/mongoose/lib/helpers/populate/assignVals.js +10 -10
  155. package/.output/server/node_modules/mongoose/lib/helpers/populate/createPopulateQueryFilter.js +3 -3
  156. package/.output/server/node_modules/mongoose/lib/helpers/populate/getModelsMapForPopulate.js +197 -69
  157. package/.output/server/node_modules/mongoose/lib/helpers/populate/getSchemaTypes.js +15 -15
  158. package/.output/server/node_modules/mongoose/lib/helpers/populate/markArraySubdocsPopulated.js +1 -1
  159. package/.output/server/node_modules/mongoose/lib/helpers/populate/modelNamesFromRefPath.js +10 -2
  160. package/.output/server/node_modules/mongoose/lib/helpers/populate/setPopulatedVirtualValue.js +5 -5
  161. package/.output/server/node_modules/mongoose/lib/helpers/printJestWarning.js +1 -1
  162. package/.output/server/node_modules/mongoose/lib/helpers/processConnectionOptions.js +1 -1
  163. package/.output/server/node_modules/mongoose/lib/helpers/projection/hasIncludedChildren.js +1 -1
  164. package/.output/server/node_modules/mongoose/lib/helpers/projection/isPathExcluded.js +3 -3
  165. package/.output/server/node_modules/mongoose/lib/helpers/projection/isSubpath.js +1 -1
  166. package/.output/server/node_modules/mongoose/lib/helpers/projection/parseProjection.js +9 -4
  167. package/.output/server/node_modules/mongoose/lib/helpers/query/cast$expr.js +8 -10
  168. package/.output/server/node_modules/mongoose/lib/helpers/query/castFilterPath.js +1 -1
  169. package/.output/server/node_modules/mongoose/lib/helpers/query/castUpdate.js +44 -38
  170. package/.output/server/node_modules/mongoose/lib/helpers/query/getEmbeddedDiscriminatorPath.js +8 -8
  171. package/.output/server/node_modules/mongoose/lib/helpers/query/handleImmutable.js +8 -8
  172. package/.output/server/node_modules/mongoose/lib/helpers/schema/applyPlugins.js +2 -2
  173. package/.output/server/node_modules/mongoose/lib/helpers/schema/applyReadConcern.js +1 -1
  174. package/.output/server/node_modules/mongoose/lib/helpers/schema/applyWriteConcern.js +4 -2
  175. package/.output/server/node_modules/mongoose/lib/helpers/schema/getIndexes.js +5 -11
  176. package/.output/server/node_modules/mongoose/lib/helpers/schema/getSubdocumentStrictValue.js +2 -2
  177. package/.output/server/node_modules/mongoose/lib/helpers/schema/handleIdOption.js +1 -1
  178. package/.output/server/node_modules/mongoose/lib/helpers/schema/idGetter.js +1 -1
  179. package/.output/server/node_modules/mongoose/lib/helpers/schematype/handleImmutable.js +1 -1
  180. package/.output/server/node_modules/mongoose/lib/helpers/setDefaultsOnInsert.js +26 -13
  181. package/.output/server/node_modules/mongoose/lib/helpers/timestamps/setDocumentTimestamps.js +2 -2
  182. package/.output/server/node_modules/mongoose/lib/helpers/timestamps/setupTimestamps.js +60 -38
  183. package/.output/server/node_modules/mongoose/lib/helpers/update/applyTimestampsToUpdate.js +13 -10
  184. package/.output/server/node_modules/mongoose/lib/helpers/update/castArrayFilters.js +4 -4
  185. package/.output/server/node_modules/mongoose/lib/helpers/update/decorateUpdateWithVersionKey.js +1 -1
  186. package/.output/server/node_modules/mongoose/lib/helpers/update/modifiedPaths.js +2 -2
  187. package/.output/server/node_modules/mongoose/lib/helpers/update/removeUnusedArrayFilters.js +7 -2
  188. package/.output/server/node_modules/mongoose/lib/helpers/updateValidators.js +58 -119
  189. package/.output/server/node_modules/mongoose/lib/model.js +940 -946
  190. package/.output/server/node_modules/mongoose/lib/mongoose.js +131 -79
  191. package/.output/server/node_modules/mongoose/lib/options/schemaArrayOptions.js +2 -2
  192. package/.output/server/node_modules/mongoose/lib/options/schemaBufferOptions.js +1 -1
  193. package/.output/server/node_modules/mongoose/lib/options/schemaDocumentArrayOptions.js +23 -0
  194. package/.output/server/node_modules/mongoose/lib/options/schemaNumberOptions.js +3 -3
  195. package/.output/server/node_modules/mongoose/lib/options/schemaObjectIdOptions.js +2 -2
  196. package/.output/server/node_modules/mongoose/lib/options/schemaStringOptions.js +6 -6
  197. package/.output/server/node_modules/mongoose/lib/options/schemaSubdocumentOptions.js +23 -0
  198. package/.output/server/node_modules/mongoose/lib/options/schemaTypeOptions.js +27 -13
  199. package/.output/server/node_modules/mongoose/lib/options/virtualOptions.js +12 -12
  200. package/.output/server/node_modules/mongoose/lib/plugins/index.js +0 -1
  201. package/.output/server/node_modules/mongoose/lib/plugins/saveSubdocs.js +84 -92
  202. package/.output/server/node_modules/mongoose/lib/plugins/sharding.js +33 -15
  203. package/.output/server/node_modules/mongoose/lib/plugins/trackTransaction.js +29 -25
  204. package/.output/server/node_modules/mongoose/lib/query.js +700 -548
  205. package/.output/server/node_modules/mongoose/lib/queryHelpers.js +34 -32
  206. package/.output/server/node_modules/mongoose/lib/schema/array.js +69 -113
  207. package/.output/server/node_modules/mongoose/lib/schema/bigint.js +18 -20
  208. package/.output/server/node_modules/mongoose/lib/schema/boolean.js +20 -22
  209. package/.output/server/node_modules/mongoose/lib/schema/buffer.js +23 -25
  210. package/.output/server/node_modules/mongoose/lib/schema/date.js +19 -21
  211. package/.output/server/node_modules/mongoose/lib/schema/decimal128.js +16 -18
  212. package/.output/server/node_modules/mongoose/lib/schema/documentArray.js +94 -131
  213. package/.output/server/node_modules/mongoose/lib/schema/documentArrayElement.js +50 -16
  214. package/.output/server/node_modules/mongoose/lib/schema/double.js +16 -18
  215. package/.output/server/node_modules/mongoose/lib/schema/index.js +1 -0
  216. package/.output/server/node_modules/mongoose/lib/schema/int32.js +17 -19
  217. package/.output/server/node_modules/mongoose/lib/schema/map.js +17 -24
  218. package/.output/server/node_modules/mongoose/lib/schema/mixed.js +14 -14
  219. package/.output/server/node_modules/mongoose/lib/schema/number.js +38 -28
  220. package/.output/server/node_modules/mongoose/lib/schema/objectId.js +18 -20
  221. package/.output/server/node_modules/mongoose/lib/schema/operators/exists.js +1 -1
  222. package/.output/server/node_modules/mongoose/lib/schema/operators/geospatial.js +1 -1
  223. package/.output/server/node_modules/mongoose/lib/schema/operators/text.js +4 -4
  224. package/.output/server/node_modules/mongoose/lib/schema/string.js +42 -27
  225. package/.output/server/node_modules/mongoose/lib/schema/subdocument.js +47 -58
  226. package/.output/server/node_modules/mongoose/lib/schema/union.js +54 -4
  227. package/.output/server/node_modules/mongoose/lib/schema/uuid.js +17 -40
  228. package/.output/server/node_modules/mongoose/lib/schema.js +235 -176
  229. package/.output/server/node_modules/mongoose/lib/schemaType.js +227 -158
  230. package/.output/server/node_modules/mongoose/lib/stateMachine.js +5 -8
  231. package/.output/server/node_modules/mongoose/lib/types/array/index.js +5 -5
  232. package/.output/server/node_modules/mongoose/lib/types/array/methods/index.js +27 -28
  233. package/.output/server/node_modules/mongoose/lib/types/arraySubdocument.js +11 -11
  234. package/.output/server/node_modules/mongoose/lib/types/buffer.js +15 -15
  235. package/.output/server/node_modules/mongoose/lib/types/decimal128.js +1 -1
  236. package/.output/server/node_modules/mongoose/lib/types/documentArray/index.js +4 -4
  237. package/.output/server/node_modules/mongoose/lib/types/documentArray/methods/index.js +15 -13
  238. package/.output/server/node_modules/mongoose/lib/types/double.js +1 -1
  239. package/.output/server/node_modules/mongoose/lib/types/map.js +20 -71
  240. package/.output/server/node_modules/mongoose/lib/types/objectid.js +1 -1
  241. package/.output/server/node_modules/mongoose/lib/types/subdocument.js +32 -81
  242. package/.output/server/node_modules/mongoose/lib/types/uuid.js +1 -1
  243. package/.output/server/node_modules/mongoose/lib/utils.js +91 -70
  244. package/.output/server/node_modules/mongoose/lib/validOptions.js +4 -3
  245. package/.output/server/node_modules/mongoose/lib/virtualType.js +18 -18
  246. package/.output/server/node_modules/mongoose/package.json +46 -63
  247. package/.output/server/node_modules/mquery/lib/collection/collection.js +3 -1
  248. package/.output/server/node_modules/mquery/lib/collection/node.js +17 -3
  249. package/.output/server/node_modules/mquery/lib/mquery.js +136 -93
  250. package/.output/server/node_modules/mquery/lib/permissions.js +21 -6
  251. package/.output/server/node_modules/mquery/package.json +4 -7
  252. package/.output/server/package.json +7 -9
  253. package/package.json +3 -3
  254. package/.output/public/_nuxt/builds/meta/0d6006db-fbb0-4297-85cf-bf92ceafcb79.json +0 -1
  255. package/.output/server/node_modules/debug/package.json +0 -64
  256. package/.output/server/node_modules/debug/src/browser.js +0 -272
  257. package/.output/server/node_modules/debug/src/common.js +0 -292
  258. package/.output/server/node_modules/debug/src/index.js +0 -10
  259. package/.output/server/node_modules/debug/src/node.js +0 -263
  260. package/.output/server/node_modules/mongodb/lib/client-side-encryption/crypto_callbacks.js +0 -81
  261. package/.output/server/node_modules/mongodb/lib/resource_management.js +0 -58
  262. package/.output/server/node_modules/mongoose/lib/browserDocument.js +0 -101
  263. package/.output/server/node_modules/mongoose/lib/documentProvider.js +0 -30
  264. package/.output/server/node_modules/mongoose/lib/helpers/createJSONSchemaTypeDefinition.js +0 -24
  265. package/.output/server/node_modules/mongoose/lib/helpers/promiseOrCallback.js +0 -54
  266. package/.output/server/node_modules/mongoose/lib/plugins/validateBeforeSave.js +0 -51
  267. package/.output/server/node_modules/supports-color/index.js +0 -202
  268. package/.output/server/node_modules/supports-color/package.json +0 -64
@@ -63,34 +63,24 @@ util.inherits(AggregationCursor, Readable);
63
63
 
64
64
  function _init(model, c, agg) {
65
65
  if (!model.collection.buffer) {
66
- model.hooks.execPre('aggregate', agg, function(err) {
67
- if (err != null) {
68
- _handlePreHookError(c, err);
69
- return;
70
- }
71
- if (typeof agg.options?.cursor?.transform === 'function') {
72
- c._transforms.push(agg.options.cursor.transform);
73
- }
74
-
75
- c.cursor = model.collection.aggregate(agg._pipeline, agg.options || {});
76
- c.emit('cursor', c.cursor);
77
- });
66
+ model.hooks.execPre('aggregate', agg).then(() => onPreComplete(null), err => onPreComplete(err));
78
67
  } else {
79
68
  model.collection.emitter.once('queue', function() {
80
- model.hooks.execPre('aggregate', agg, function(err) {
81
- if (err != null) {
82
- _handlePreHookError(c, err);
83
- return;
84
- }
69
+ model.hooks.execPre('aggregate', agg).then(() => onPreComplete(null), err => onPreComplete(err));
70
+ });
71
+ }
85
72
 
86
- if (typeof agg.options?.cursor?.transform === 'function') {
87
- c._transforms.push(agg.options.cursor.transform);
88
- }
73
+ function onPreComplete(err) {
74
+ if (err != null) {
75
+ _handlePreHookError(c, err);
76
+ return;
77
+ }
78
+ if (typeof agg.options?.cursor?.transform === 'function') {
79
+ c._transforms.push(agg.options.cursor.transform);
80
+ }
89
81
 
90
- c.cursor = model.collection.aggregate(agg._pipeline, agg.options || {});
91
- c.emit('cursor', c.cursor);
92
- });
93
- });
82
+ c.cursor = model.collection.aggregate(agg._pipeline, agg.options || {});
83
+ c.emit('cursor', c.cursor);
94
84
  }
95
85
  }
96
86
 
@@ -227,7 +217,7 @@ AggregationCursor.prototype._markError = function(error) {
227
217
  * @api public
228
218
  * @method close
229
219
  * @emits "close"
230
- * @see AggregationCursor.close https://mongodb.github.io/node-mongodb-native/4.9/classes/AggregationCursor.html#close
220
+ * @see AggregationCursor.close https://mongodb.github.io/node-mongodb-native/7.0/classes/AggregationCursor.html#close
231
221
  */
232
222
 
233
223
  AggregationCursor.prototype.close = async function close() {
@@ -303,10 +293,10 @@ AggregationCursor.prototype.next = async function next() {
303
293
  * Returns a promise that resolves when done.
304
294
  *
305
295
  * @param {Function} fn
306
- * @param {Object} [options]
307
- * @param {Number} [options.parallel] the number of promises to execute in parallel. Defaults to 1.
308
- * @param {Number} [options.batchSize=null] if set, Mongoose will call `fn` with an array of at most `batchSize` documents, instead of a single document
309
- * @param {Boolean} [options.continueOnError=false] if true, `eachAsync()` iterates through all docs even if `fn` throws an error. If false, `eachAsync()` throws an error immediately if the given function `fn()` throws an error.
296
+ * @param {object} [options]
297
+ * @param {number} [options.parallel] the number of promises to execute in parallel. Defaults to 1.
298
+ * @param {number} [options.batchSize=null] if set, Mongoose will call `fn` with an array of at most `batchSize` documents, instead of a single document
299
+ * @param {boolean} [options.continueOnError=false] if true, `eachAsync()` iterates through all docs even if `fn` throws an error. If false, `eachAsync()` throws an error immediately if the given function `fn()` throws an error.
310
300
  * @return {Promise}
311
301
  * @api public
312
302
  * @method eachAsync
@@ -396,11 +386,11 @@ function _transformForAsyncIterator(doc) {
396
386
  }
397
387
 
398
388
  /**
399
- * Adds a [cursor flag](https://mongodb.github.io/node-mongodb-native/4.9/classes/AggregationCursor.html#addCursorFlag).
389
+ * Adds a [cursor flag](https://mongodb.github.io/node-mongodb-native/7.0/classes/AggregationCursor.html#addCursorFlag).
400
390
  * Useful for setting the `noCursorTimeout` and `tailable` flags.
401
391
  *
402
- * @param {String} flag
403
- * @param {Boolean} value
392
+ * @param {'tailable'|'oplogReplay'|'noCursorTimeout'|'awaitData'|'partial'} flag
393
+ * @param {boolean} value
404
394
  * @return {AggregationCursor} this
405
395
  * @api public
406
396
  * @method addCursorFlag
@@ -430,7 +420,7 @@ function _waitForCursor(ctx, cb) {
430
420
  /**
431
421
  * Get the next doc from the underlying cursor and mongooseify it
432
422
  * (populate, etc.)
433
- * @param {Any} ctx
423
+ * @param {any} ctx
434
424
  * @param {Function} cb
435
425
  * @api private
436
426
  */
@@ -18,7 +18,7 @@ const driverChangeStreamEvents = ['close', 'change', 'end', 'error', 'resumeToke
18
18
  */
19
19
 
20
20
  class ChangeStream extends EventEmitter {
21
- constructor(changeStreamThunk, pipeline, options) {
21
+ constructor(changeStreamPromise, pipeline, options) {
22
22
  super();
23
23
 
24
24
  this.driverChangeStream = null;
@@ -28,43 +28,29 @@ class ChangeStream extends EventEmitter {
28
28
  this.options = options;
29
29
  this.errored = false;
30
30
 
31
- if (options && options.hydrate && !options.model) {
31
+ if (options?.hydrate && !options.model) {
32
32
  throw new Error(
33
33
  'Cannot create change stream with `hydrate: true` ' +
34
34
  'unless calling `Model.watch()`'
35
35
  );
36
36
  }
37
37
 
38
- let syncError = null;
39
- this.$driverChangeStreamPromise = new Promise((resolve, reject) => {
40
- // This wrapper is necessary because of buffering.
41
- try {
42
- changeStreamThunk((err, driverChangeStream) => {
43
- if (err != null) {
44
- this.errored = true;
45
- this.emit('error', err);
46
- return reject(err);
47
- }
48
-
49
- this.driverChangeStream = driverChangeStream;
50
- this.emit('ready');
51
- resolve();
52
- });
53
- } catch (err) {
54
- syncError = err;
38
+ this.$driverChangeStreamPromise = changeStreamPromise.then(
39
+ driverChangeStream => {
40
+ this.driverChangeStream = driverChangeStream;
41
+ // Use setImmediate so the stream pump (_read) has a chance to run and
42
+ // the driver cursor initializes before 'ready' resolves. Without this,
43
+ // changes emitted immediately after 'ready' can be missed because the
44
+ // underlying cursor hasn't sent its initial aggregate to MongoDB yet.
45
+ setImmediate(() => this.emit('ready'));
46
+ return this;
47
+ },
48
+ err => {
55
49
  this.errored = true;
56
50
  this.emit('error', err);
57
- reject(err);
51
+ throw err;
58
52
  }
59
- });
60
-
61
- // Because a ChangeStream is an event emitter, there's no way to register an 'error' handler
62
- // that catches errors which occur in the constructor, unless we force sync errors into async
63
- // errors with setImmediate(). For cleaner stack trace, we just immediately throw any synchronous
64
- // errors that occurred with changeStreamThunk().
65
- if (syncError != null) {
66
- throw syncError;
67
- }
53
+ );
68
54
  }
69
55
 
70
56
  _bindEvents() {
@@ -83,7 +69,7 @@ class ChangeStream extends EventEmitter {
83
69
 
84
70
  driverChangeStreamEvents.forEach(ev => {
85
71
  this.driverChangeStream.on(ev, data => {
86
- if (data != null && data.fullDocument != null && this.options && this.options.hydrate) {
72
+ if (data?.fullDocument != null && this.options?.hydrate) {
87
73
  data.fullDocument = this.options.model.hydrate(data.fullDocument);
88
74
  }
89
75
  this.emit(ev, data);
@@ -102,7 +88,7 @@ class ChangeStream extends EventEmitter {
102
88
 
103
89
  driverChangeStreamEvents.forEach(ev => {
104
90
  this.driverChangeStream.on(ev, data => {
105
- if (data != null && data.fullDocument != null && this.options && this.options.hydrate) {
91
+ if (data?.fullDocument != null && this.options?.hydrate) {
106
92
  data.fullDocument = this.options.model.hydrate(data.fullDocument);
107
93
  }
108
94
  this.emit(ev, data);
@@ -114,14 +100,27 @@ class ChangeStream extends EventEmitter {
114
100
  if (this.errored) {
115
101
  throw new MongooseError('Cannot call hasNext() on errored ChangeStream');
116
102
  }
117
- return this.driverChangeStream.hasNext(cb);
103
+
104
+ if (this.driverChangeStream != null) {
105
+ return this.driverChangeStream.hasNext(cb);
106
+ }
107
+
108
+ return this.$driverChangeStreamPromise.then(
109
+ () => this.driverChangeStream.hasNext(cb),
110
+ err => {
111
+ if (cb != null) {
112
+ return cb(err);
113
+ }
114
+ throw err;
115
+ }
116
+ );
118
117
  }
119
118
 
120
119
  next(cb) {
121
120
  if (this.errored) {
122
121
  throw new MongooseError('Cannot call next() on errored ChangeStream');
123
122
  }
124
- if (this.options && this.options.hydrate) {
123
+ if (this.options?.hydrate) {
125
124
  if (cb != null) {
126
125
  const originalCb = cb;
127
126
  cb = (err, data) => {
@@ -135,8 +134,21 @@ class ChangeStream extends EventEmitter {
135
134
  };
136
135
  }
137
136
 
138
- let maybePromise = this.driverChangeStream.next(cb);
139
- if (maybePromise && typeof maybePromise.then === 'function') {
137
+ let maybePromise;
138
+ if (this.driverChangeStream != null) {
139
+ maybePromise = this.driverChangeStream.next(cb);
140
+ } else {
141
+ maybePromise = this.$driverChangeStreamPromise.then(
142
+ () => this.driverChangeStream.next(cb),
143
+ err => {
144
+ if (cb != null) {
145
+ return cb(err);
146
+ }
147
+ throw err;
148
+ }
149
+ );
150
+ }
151
+ if (typeof maybePromise?.then === 'function') {
140
152
  maybePromise = maybePromise.then(data => {
141
153
  if (data.fullDocument != null) {
142
154
  data.fullDocument = this.options.model.hydrate(data.fullDocument);
@@ -147,7 +159,19 @@ class ChangeStream extends EventEmitter {
147
159
  return maybePromise;
148
160
  }
149
161
 
150
- return this.driverChangeStream.next(cb);
162
+ if (this.driverChangeStream != null) {
163
+ return this.driverChangeStream.next(cb);
164
+ }
165
+
166
+ return this.$driverChangeStreamPromise.then(
167
+ () => this.driverChangeStream.next(cb),
168
+ err => {
169
+ if (cb != null) {
170
+ return cb(err);
171
+ }
172
+ throw err;
173
+ }
174
+ );
151
175
  }
152
176
 
153
177
  addListener(event, handler) {
@@ -174,10 +198,6 @@ class ChangeStream extends EventEmitter {
174
198
  return super.once(event, handler);
175
199
  }
176
200
 
177
- _queue(cb) {
178
- this.once('ready', () => cb());
179
- }
180
-
181
201
  close() {
182
202
  this.closed = true;
183
203
  if (this.driverChangeStream) {
@@ -26,7 +26,7 @@ const util = require('util');
26
26
  * Use [`Query#cursor()`](https://mongoosejs.com/docs/api/query.html#Query.prototype.cursor()) instead.
27
27
  *
28
28
  * @param {Query} query
29
- * @param {Object} options query options passed to `.find()`
29
+ * @param {object} options query options passed to `.find()`
30
30
  * @inherits Readable https://nodejs.org/api/stream.html#class-streamreadable
31
31
  * @event `cursor`: Emitted when the cursor is created
32
32
  * @event `error`: Emitted when an error occurred
@@ -49,7 +49,8 @@ function QueryCursor(query) {
49
49
  this._transforms = [];
50
50
  this.model = model;
51
51
  this.options = {};
52
- model.hooks.execPre('find', query, (err) => {
52
+
53
+ const onPreComplete = (err) => {
53
54
  if (err != null) {
54
55
  if (err instanceof kareem.skipWrappedFunction) {
55
56
  const resultValue = err.args[0];
@@ -94,7 +95,9 @@ function QueryCursor(query) {
94
95
  } else {
95
96
  _getRawCursor(query, this);
96
97
  }
97
- });
98
+ };
99
+
100
+ model.hooks.execPre('find', query).then(() => onPreComplete(null), err => onPreComplete(err));
98
101
  }
99
102
 
100
103
  util.inherits(QueryCursor, Readable);
@@ -129,7 +132,7 @@ QueryCursor.prototype._read = function() {
129
132
  }
130
133
  if (!doc) {
131
134
  this.push(null);
132
- this.cursor.close(function(error) {
135
+ this.cursor.close((error) => {
133
136
  if (error) {
134
137
  return this.emit('error', error);
135
138
  }
@@ -224,7 +227,7 @@ QueryCursor.prototype._markError = function(error) {
224
227
  * @api public
225
228
  * @method close
226
229
  * @emits close
227
- * @see AggregationCursor.close https://mongodb.github.io/node-mongodb-native/4.9/classes/AggregationCursor.html#close
230
+ * @see AggregationCursor.close https://mongodb.github.io/node-mongodb-native/7.0/classes/AggregationCursor.html#close
228
231
  */
229
232
 
230
233
  QueryCursor.prototype.close = async function close() {
@@ -334,10 +337,10 @@ QueryCursor.prototype.next = async function next() {
334
337
  * })
335
338
  *
336
339
  * @param {Function} fn
337
- * @param {Object} [options]
338
- * @param {Number} [options.parallel] the number of promises to execute in parallel. Defaults to 1.
339
- * @param {Number} [options.batchSize] if set, will call `fn()` with arrays of documents with length at most `batchSize`
340
- * @param {Boolean} [options.continueOnError=false] if true, `eachAsync()` iterates through all docs even if `fn` throws an error. If false, `eachAsync()` throws an error immediately if the given function `fn()` throws an error.
340
+ * @param {object} [options]
341
+ * @param {number} [options.parallel] the number of promises to execute in parallel. Defaults to 1.
342
+ * @param {number} [options.batchSize] if set, will call `fn()` with arrays of documents with length at most `batchSize`
343
+ * @param {boolean} [options.continueOnError=false] if true, `eachAsync()` iterates through all docs even if `fn` throws an error. If false, `eachAsync()` throws an error immediately if the given function `fn()` throws an error.
341
344
  * @return {Promise}
342
345
  * @api public
343
346
  * @method eachAsync
@@ -365,11 +368,11 @@ QueryCursor.prototype.eachAsync = function(fn, opts) {
365
368
  QueryCursor.prototype.options;
366
369
 
367
370
  /**
368
- * Adds a [cursor flag](https://mongodb.github.io/node-mongodb-native/4.9/classes/FindCursor.html#addCursorFlag).
371
+ * Adds a [cursor flag](https://mongodb.github.io/node-mongodb-native/7.0/classes/FindCursor.html#addCursorFlag).
369
372
  * Useful for setting the `noCursorTimeout` and `tailable` flags.
370
373
  *
371
- * @param {String} flag
372
- * @param {Boolean} value
374
+ * @param {'tailable'|'oplogReplay'|'noCursorTimeout'|'awaitData'|'partial'} flag
375
+ * @param {boolean} value
373
376
  * @return {AggregationCursor} this
374
377
  * @api public
375
378
  * @method addCursorFlag
@@ -423,7 +426,7 @@ if (Symbol.asyncIterator != null) {
423
426
  /**
424
427
  * Get the next doc from the underlying cursor and mongooseify it
425
428
  * (populate, etc.)
426
- * @param {Any} ctx
429
+ * @param {any} ctx
427
430
  * @param {Function} cb
428
431
  * @api private
429
432
  */
@@ -588,12 +591,7 @@ function _populateBatch() {
588
591
 
589
592
  function _nextDoc(ctx, doc, pop, callback) {
590
593
  if (ctx.query._mongooseOptions.lean) {
591
- return ctx.model.hooks.execPost('find', ctx.query, [[doc]], err => {
592
- if (err != null) {
593
- return callback(err);
594
- }
595
- callback(null, doc);
596
- });
594
+ return ctx.model.hooks.execPost('find', ctx.query, [[doc]]).then(() => callback(null, doc), err => callback(err));
597
595
  }
598
596
 
599
597
  const { model, _fields, _userProvidedFields, options } = ctx.query;
@@ -601,12 +599,10 @@ function _nextDoc(ctx, doc, pop, callback) {
601
599
  if (err != null) {
602
600
  return callback(err);
603
601
  }
604
- ctx.model.hooks.execPost('find', ctx.query, [[doc]], err => {
605
- if (err != null) {
606
- return callback(err);
607
- }
608
- callback(null, doc);
609
- });
602
+ if (options.session != null) {
603
+ doc.$session(options.session);
604
+ }
605
+ ctx.model.hooks.execPost('find', ctx.query, [[doc]]).then(() => callback(null, doc), err => callback(err));
610
606
  });
611
607
  }
612
608