@colyseus/core 0.14.21 → 0.14.25

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 (2970) hide show
  1. package/build/Logger.d.ts +9 -0
  2. package/build/Logger.js +12 -0
  3. package/build/Logger.js.map +1 -0
  4. package/build/Logger.mjs +8 -0
  5. package/build/Logger.mjs.map +1 -0
  6. package/build/Room.js +2 -0
  7. package/build/Room.js.map +1 -1
  8. package/build/Room.mjs +2 -0
  9. package/build/Room.mjs.map +1 -1
  10. package/build/Server.js +1 -1
  11. package/build/Server.js.map +1 -1
  12. package/build/Server.mjs +1 -1
  13. package/build/Server.mjs.map +1 -1
  14. package/build/_virtual/AggregationCursor.js_commonjs-proxy +3 -0
  15. package/build/_virtual/AggregationCursor.js_commonjs-proxy.map +1 -0
  16. package/build/_virtual/BufferList.js_commonjs-proxy +3 -0
  17. package/build/_virtual/BufferList.js_commonjs-proxy.map +1 -0
  18. package/build/_virtual/ChangeStream.js_commonjs-proxy +3 -0
  19. package/build/_virtual/ChangeStream.js_commonjs-proxy.map +1 -0
  20. package/build/_virtual/PopulateOptions.js_commonjs-proxy +3 -0
  21. package/build/_virtual/PopulateOptions.js_commonjs-proxy.map +1 -0
  22. package/build/_virtual/QueryCursor.js_commonjs-proxy +3 -0
  23. package/build/_virtual/QueryCursor.js_commonjs-proxy.map +1 -0
  24. package/build/_virtual/ReadPreference.js_commonjs-proxy +3 -0
  25. package/build/_virtual/ReadPreference.js_commonjs-proxy.map +1 -0
  26. package/build/_virtual/SchemaArrayOptions.js_commonjs-proxy +3 -0
  27. package/build/_virtual/SchemaArrayOptions.js_commonjs-proxy.map +1 -0
  28. package/build/_virtual/SchemaBufferOptions.js_commonjs-proxy +3 -0
  29. package/build/_virtual/SchemaBufferOptions.js_commonjs-proxy.map +1 -0
  30. package/build/_virtual/SchemaDateOptions.js_commonjs-proxy +3 -0
  31. package/build/_virtual/SchemaDateOptions.js_commonjs-proxy.map +1 -0
  32. package/build/_virtual/SchemaDocumentArrayOptions.js_commonjs-proxy +3 -0
  33. package/build/_virtual/SchemaDocumentArrayOptions.js_commonjs-proxy.map +1 -0
  34. package/build/_virtual/SchemaMapOptions.js_commonjs-proxy +3 -0
  35. package/build/_virtual/SchemaMapOptions.js_commonjs-proxy.map +1 -0
  36. package/build/_virtual/SchemaNumberOptions.js_commonjs-proxy +3 -0
  37. package/build/_virtual/SchemaNumberOptions.js_commonjs-proxy.map +1 -0
  38. package/build/_virtual/SchemaObjectIdOptions.js_commonjs-proxy +3 -0
  39. package/build/_virtual/SchemaObjectIdOptions.js_commonjs-proxy.map +1 -0
  40. package/build/_virtual/SchemaSingleNestedOptions.js_commonjs-proxy +3 -0
  41. package/build/_virtual/SchemaSingleNestedOptions.js_commonjs-proxy.map +1 -0
  42. package/build/_virtual/SchemaStringOptions.js_commonjs-proxy +3 -0
  43. package/build/_virtual/SchemaStringOptions.js_commonjs-proxy.map +1 -0
  44. package/build/_virtual/SchemaTypeOptions.js_commonjs-proxy +3 -0
  45. package/build/_virtual/SchemaTypeOptions.js_commonjs-proxy.map +1 -0
  46. package/build/_virtual/SingleNestedPath.js_commonjs-proxy +3 -0
  47. package/build/_virtual/SingleNestedPath.js_commonjs-proxy.map +1 -0
  48. package/build/_virtual/SkipPopulateValue.js_commonjs-proxy +3 -0
  49. package/build/_virtual/SkipPopulateValue.js_commonjs-proxy.map +1 -0
  50. package/build/_virtual/VirtualOptions.js_commonjs-proxy +3 -0
  51. package/build/_virtual/VirtualOptions.js_commonjs-proxy.map +1 -0
  52. package/build/_virtual/_commonjsHelpers.js +28 -0
  53. package/build/_virtual/_commonjsHelpers.js.map +1 -0
  54. package/build/_virtual/_stream_duplex.js_commonjs-proxy +3 -0
  55. package/build/_virtual/_stream_duplex.js_commonjs-proxy.map +1 -0
  56. package/build/_virtual/_stream_passthrough.js_commonjs-proxy +3 -0
  57. package/build/_virtual/_stream_passthrough.js_commonjs-proxy.map +1 -0
  58. package/build/_virtual/_stream_readable.js_commonjs-proxy +3 -0
  59. package/build/_virtual/_stream_readable.js_commonjs-proxy.map +1 -0
  60. package/build/_virtual/_stream_transform.js_commonjs-proxy +3 -0
  61. package/build/_virtual/_stream_transform.js_commonjs-proxy.map +1 -0
  62. package/build/_virtual/_stream_writable.js_commonjs-proxy +3 -0
  63. package/build/_virtual/_stream_writable.js_commonjs-proxy.map +1 -0
  64. package/build/_virtual/addAutoId.js_commonjs-proxy +3 -0
  65. package/build/_virtual/addAutoId.js_commonjs-proxy.map +1 -0
  66. package/build/_virtual/add_user.js_commonjs-proxy +3 -0
  67. package/build/_virtual/add_user.js_commonjs-proxy.map +1 -0
  68. package/build/_virtual/admin.js_commonjs-proxy +3 -0
  69. package/build/_virtual/admin.js_commonjs-proxy.map +1 -0
  70. package/build/_virtual/aggregate.js_commonjs-proxy +3 -0
  71. package/build/_virtual/aggregate.js_commonjs-proxy.map +1 -0
  72. package/build/_virtual/aggregate2.js_commonjs-proxy +3 -0
  73. package/build/_virtual/aggregate2.js_commonjs-proxy.map +1 -0
  74. package/build/_virtual/aggregation_cursor.js_commonjs-proxy +3 -0
  75. package/build/_virtual/aggregation_cursor.js_commonjs-proxy.map +1 -0
  76. package/build/_virtual/allServersUnknown.js_commonjs-proxy +3 -0
  77. package/build/_virtual/allServersUnknown.js_commonjs-proxy.map +1 -0
  78. package/build/_virtual/any.js_commonjs-proxy +3 -0
  79. package/build/_virtual/any.js_commonjs-proxy.map +1 -0
  80. package/build/_virtual/apm.js_commonjs-proxy +3 -0
  81. package/build/_virtual/apm.js_commonjs-proxy.map +1 -0
  82. package/build/_virtual/apm2.js_commonjs-proxy +3 -0
  83. package/build/_virtual/apm2.js_commonjs-proxy.map +1 -0
  84. package/build/_virtual/applyGlobalMaxTimeMS.js_commonjs-proxy +3 -0
  85. package/build/_virtual/applyGlobalMaxTimeMS.js_commonjs-proxy.map +1 -0
  86. package/build/_virtual/applyHooks.js_commonjs-proxy +3 -0
  87. package/build/_virtual/applyHooks.js_commonjs-proxy.map +1 -0
  88. package/build/_virtual/applyMethods.js_commonjs-proxy +3 -0
  89. package/build/_virtual/applyMethods.js_commonjs-proxy.map +1 -0
  90. package/build/_virtual/applyPlugins.js_commonjs-proxy +3 -0
  91. package/build/_virtual/applyPlugins.js_commonjs-proxy.map +1 -0
  92. package/build/_virtual/applyQueryMiddleware.js_commonjs-proxy +3 -0
  93. package/build/_virtual/applyQueryMiddleware.js_commonjs-proxy.map +1 -0
  94. package/build/_virtual/applyStaticHooks.js_commonjs-proxy +3 -0
  95. package/build/_virtual/applyStaticHooks.js_commonjs-proxy.map +1 -0
  96. package/build/_virtual/applyStatics.js_commonjs-proxy +3 -0
  97. package/build/_virtual/applyStatics.js_commonjs-proxy.map +1 -0
  98. package/build/_virtual/applyTimestampsToChildren.js_commonjs-proxy +3 -0
  99. package/build/_virtual/applyTimestampsToChildren.js_commonjs-proxy.map +1 -0
  100. package/build/_virtual/applyTimestampsToUpdate.js_commonjs-proxy +3 -0
  101. package/build/_virtual/applyTimestampsToUpdate.js_commonjs-proxy.map +1 -0
  102. package/build/_virtual/applyWriteConcern.js_commonjs-proxy +3 -0
  103. package/build/_virtual/applyWriteConcern.js_commonjs-proxy.map +1 -0
  104. package/build/_virtual/areDiscriminatorValuesEqual.js_commonjs-proxy +3 -0
  105. package/build/_virtual/areDiscriminatorValuesEqual.js_commonjs-proxy.map +1 -0
  106. package/build/_virtual/array.js_commonjs-proxy +3 -0
  107. package/build/_virtual/array.js_commonjs-proxy.map +1 -0
  108. package/build/_virtual/array2.js_commonjs-proxy +3 -0
  109. package/build/_virtual/array2.js_commonjs-proxy.map +1 -0
  110. package/build/_virtual/arrayDepth.js_commonjs-proxy +3 -0
  111. package/build/_virtual/arrayDepth.js_commonjs-proxy.map +1 -0
  112. package/build/_virtual/assignRawDocsToIdStructure.js_commonjs-proxy +3 -0
  113. package/build/_virtual/assignRawDocsToIdStructure.js_commonjs-proxy.map +1 -0
  114. package/build/_virtual/assignVals.js_commonjs-proxy +3 -0
  115. package/build/_virtual/assignVals.js_commonjs-proxy.map +1 -0
  116. package/build/_virtual/async.js_commonjs-proxy +3 -0
  117. package/build/_virtual/async.js_commonjs-proxy.map +1 -0
  118. package/build/_virtual/async_iterator.js_commonjs-proxy +3 -0
  119. package/build/_virtual/async_iterator.js_commonjs-proxy.map +1 -0
  120. package/build/_virtual/auth_provider.js_commonjs-proxy +3 -0
  121. package/build/_virtual/auth_provider.js_commonjs-proxy.map +1 -0
  122. package/build/_virtual/aws4.js_commonjs-proxy +3 -0
  123. package/build/_virtual/aws4.js_commonjs-proxy.map +1 -0
  124. package/build/_virtual/binary.js_commonjs-proxy +3 -0
  125. package/build/_virtual/binary.js_commonjs-proxy.map +1 -0
  126. package/build/_virtual/binary2.js_commonjs-proxy +3 -0
  127. package/build/_virtual/binary2.js_commonjs-proxy.map +1 -0
  128. package/build/_virtual/bind.js_commonjs-proxy +3 -0
  129. package/build/_virtual/bind.js_commonjs-proxy.map +1 -0
  130. package/build/_virtual/bitwise.js_commonjs-proxy +3 -0
  131. package/build/_virtual/bitwise.js_commonjs-proxy.map +1 -0
  132. package/build/_virtual/bl.js_commonjs-proxy +3 -0
  133. package/build/_virtual/bl.js_commonjs-proxy.map +1 -0
  134. package/build/_virtual/bluebird.js_commonjs-proxy +3 -0
  135. package/build/_virtual/bluebird.js_commonjs-proxy.map +1 -0
  136. package/build/_virtual/boolean.js_commonjs-proxy +3 -0
  137. package/build/_virtual/boolean.js_commonjs-proxy.map +1 -0
  138. package/build/_virtual/boolean2.js_commonjs-proxy +3 -0
  139. package/build/_virtual/boolean2.js_commonjs-proxy.map +1 -0
  140. package/build/_virtual/browserDocument.js_commonjs-proxy +3 -0
  141. package/build/_virtual/browserDocument.js_commonjs-proxy.map +1 -0
  142. package/build/_virtual/bson.js_commonjs-proxy +3 -0
  143. package/build/_virtual/bson.js_commonjs-proxy.map +1 -0
  144. package/build/_virtual/buffer-util.js_commonjs-proxy +3 -0
  145. package/build/_virtual/buffer-util.js_commonjs-proxy.map +1 -0
  146. package/build/_virtual/buffer.js_commonjs-proxy +3 -0
  147. package/build/_virtual/buffer.js_commonjs-proxy.map +1 -0
  148. package/build/_virtual/buffer2.js_commonjs-proxy +3 -0
  149. package/build/_virtual/buffer2.js_commonjs-proxy.map +1 -0
  150. package/build/_virtual/bulk_write.js_commonjs-proxy +3 -0
  151. package/build/_virtual/bulk_write.js_commonjs-proxy.map +1 -0
  152. package/build/_virtual/calculate_size.js_commonjs-proxy +3 -0
  153. package/build/_virtual/calculate_size.js_commonjs-proxy.map +1 -0
  154. package/build/_virtual/call_get.js_commonjs-proxy +3 -0
  155. package/build/_virtual/call_get.js_commonjs-proxy.map +1 -0
  156. package/build/_virtual/cancel.js_commonjs-proxy +3 -0
  157. package/build/_virtual/cancel.js_commonjs-proxy.map +1 -0
  158. package/build/_virtual/cast.js_commonjs-proxy +3 -0
  159. package/build/_virtual/cast.js_commonjs-proxy.map +1 -0
  160. package/build/_virtual/cast2.js_commonjs-proxy +3 -0
  161. package/build/_virtual/cast2.js_commonjs-proxy.map +1 -0
  162. package/build/_virtual/castArrayFilters.js_commonjs-proxy +3 -0
  163. package/build/_virtual/castArrayFilters.js_commonjs-proxy.map +1 -0
  164. package/build/_virtual/castBulkWrite.js_commonjs-proxy +3 -0
  165. package/build/_virtual/castBulkWrite.js_commonjs-proxy.map +1 -0
  166. package/build/_virtual/castFilterPath.js_commonjs-proxy +3 -0
  167. package/build/_virtual/castFilterPath.js_commonjs-proxy.map +1 -0
  168. package/build/_virtual/castUpdate.js_commonjs-proxy +3 -0
  169. package/build/_virtual/castUpdate.js_commonjs-proxy.map +1 -0
  170. package/build/_virtual/catch_filter.js_commonjs-proxy +3 -0
  171. package/build/_virtual/catch_filter.js_commonjs-proxy.map +1 -0
  172. package/build/_virtual/change_stream.js_commonjs-proxy +3 -0
  173. package/build/_virtual/change_stream.js_commonjs-proxy.map +1 -0
  174. package/build/_virtual/checkEmbeddedDiscriminatorKeyProjection.js_commonjs-proxy +3 -0
  175. package/build/_virtual/checkEmbeddedDiscriminatorKeyProjection.js_commonjs-proxy.map +1 -0
  176. package/build/_virtual/chunk.js_commonjs-proxy +3 -0
  177. package/build/_virtual/chunk.js_commonjs-proxy.map +1 -0
  178. package/build/_virtual/cleanModifiedSubpaths.js_commonjs-proxy +3 -0
  179. package/build/_virtual/cleanModifiedSubpaths.js_commonjs-proxy.map +1 -0
  180. package/build/_virtual/cleanPositionalOperators.js_commonjs-proxy +3 -0
  181. package/build/_virtual/cleanPositionalOperators.js_commonjs-proxy.map +1 -0
  182. package/build/_virtual/clone.js_commonjs-proxy +3 -0
  183. package/build/_virtual/clone.js_commonjs-proxy.map +1 -0
  184. package/build/_virtual/code.js_commonjs-proxy +3 -0
  185. package/build/_virtual/code.js_commonjs-proxy.map +1 -0
  186. package/build/_virtual/collection.js_commonjs-proxy +3 -0
  187. package/build/_virtual/collection.js_commonjs-proxy.map +1 -0
  188. package/build/_virtual/collection2.js_commonjs-proxy +3 -0
  189. package/build/_virtual/collection2.js_commonjs-proxy.map +1 -0
  190. package/build/_virtual/collection3.js_commonjs-proxy +3 -0
  191. package/build/_virtual/collection3.js_commonjs-proxy.map +1 -0
  192. package/build/_virtual/collection4.js_commonjs-proxy +3 -0
  193. package/build/_virtual/collection4.js_commonjs-proxy.map +1 -0
  194. package/build/_virtual/collection_ops.js_commonjs-proxy +3 -0
  195. package/build/_virtual/collection_ops.js_commonjs-proxy.map +1 -0
  196. package/build/_virtual/collections.js_commonjs-proxy +3 -0
  197. package/build/_virtual/collections.js_commonjs-proxy.map +1 -0
  198. package/build/_virtual/command.js_commonjs-proxy +3 -0
  199. package/build/_virtual/command.js_commonjs-proxy.map +1 -0
  200. package/build/_virtual/command2.js_commonjs-proxy +3 -0
  201. package/build/_virtual/command2.js_commonjs-proxy.map +1 -0
  202. package/build/_virtual/command3.js_commonjs-proxy +3 -0
  203. package/build/_virtual/command3.js_commonjs-proxy.map +1 -0
  204. package/build/_virtual/command_cursor.js_commonjs-proxy +3 -0
  205. package/build/_virtual/command_cursor.js_commonjs-proxy.map +1 -0
  206. package/build/_virtual/command_result.js_commonjs-proxy +3 -0
  207. package/build/_virtual/command_result.js_commonjs-proxy.map +1 -0
  208. package/build/_virtual/command_v2.js_commonjs-proxy +3 -0
  209. package/build/_virtual/command_v2.js_commonjs-proxy.map +1 -0
  210. package/build/_virtual/commands.js_commonjs-proxy +3 -0
  211. package/build/_virtual/commands.js_commonjs-proxy.map +1 -0
  212. package/build/_virtual/commands2.js_commonjs-proxy +3 -0
  213. package/build/_virtual/commands2.js_commonjs-proxy.map +1 -0
  214. package/build/_virtual/common.js_commonjs-proxy +3 -0
  215. package/build/_virtual/common.js_commonjs-proxy.map +1 -0
  216. package/build/_virtual/common2.js_commonjs-proxy +3 -0
  217. package/build/_virtual/common2.js_commonjs-proxy.map +1 -0
  218. package/build/_virtual/common3.js_commonjs-proxy +3 -0
  219. package/build/_virtual/common3.js_commonjs-proxy.map +1 -0
  220. package/build/_virtual/common_functions.js_commonjs-proxy +3 -0
  221. package/build/_virtual/common_functions.js_commonjs-proxy.map +1 -0
  222. package/build/_virtual/compile.js_commonjs-proxy +3 -0
  223. package/build/_virtual/compile.js_commonjs-proxy.map +1 -0
  224. package/build/_virtual/completeMany.js_commonjs-proxy +3 -0
  225. package/build/_virtual/completeMany.js_commonjs-proxy.map +1 -0
  226. package/build/_virtual/compression.js_commonjs-proxy +3 -0
  227. package/build/_virtual/compression.js_commonjs-proxy.map +1 -0
  228. package/build/_virtual/connect.js_commonjs-proxy +3 -0
  229. package/build/_virtual/connect.js_commonjs-proxy.map +1 -0
  230. package/build/_virtual/connect2.js_commonjs-proxy +3 -0
  231. package/build/_virtual/connect2.js_commonjs-proxy.map +1 -0
  232. package/build/_virtual/connection.js_commonjs-proxy +3 -0
  233. package/build/_virtual/connection.js_commonjs-proxy.map +1 -0
  234. package/build/_virtual/connection2.js_commonjs-proxy +3 -0
  235. package/build/_virtual/connection2.js_commonjs-proxy.map +1 -0
  236. package/build/_virtual/connection3.js_commonjs-proxy +3 -0
  237. package/build/_virtual/connection3.js_commonjs-proxy.map +1 -0
  238. package/build/_virtual/connection4.js_commonjs-proxy +3 -0
  239. package/build/_virtual/connection4.js_commonjs-proxy.map +1 -0
  240. package/build/_virtual/connection_pool.js_commonjs-proxy +3 -0
  241. package/build/_virtual/connection_pool.js_commonjs-proxy.map +1 -0
  242. package/build/_virtual/connectionstate.js_commonjs-proxy +3 -0
  243. package/build/_virtual/connectionstate.js_commonjs-proxy.map +1 -0
  244. package/build/_virtual/constants.js_commonjs-proxy +3 -0
  245. package/build/_virtual/constants.js_commonjs-proxy.map +1 -0
  246. package/build/_virtual/constants2.js_commonjs-proxy +3 -0
  247. package/build/_virtual/constants2.js_commonjs-proxy.map +1 -0
  248. package/build/_virtual/constants3.js_commonjs-proxy +3 -0
  249. package/build/_virtual/constants3.js_commonjs-proxy.map +1 -0
  250. package/build/_virtual/context.js_commonjs-proxy +3 -0
  251. package/build/_virtual/context.js_commonjs-proxy.map +1 -0
  252. package/build/_virtual/core_array.js_commonjs-proxy +3 -0
  253. package/build/_virtual/core_array.js_commonjs-proxy.map +1 -0
  254. package/build/_virtual/count.js_commonjs-proxy +3 -0
  255. package/build/_virtual/count.js_commonjs-proxy.map +1 -0
  256. package/build/_virtual/count_documents.js_commonjs-proxy +3 -0
  257. package/build/_virtual/count_documents.js_commonjs-proxy.map +1 -0
  258. package/build/_virtual/createClient.js_commonjs-proxy +3 -0
  259. package/build/_virtual/createClient.js_commonjs-proxy.map +1 -0
  260. package/build/_virtual/createPopulateQueryFilter.js_commonjs-proxy +3 -0
  261. package/build/_virtual/createPopulateQueryFilter.js_commonjs-proxy.map +1 -0
  262. package/build/_virtual/create_collection.js_commonjs-proxy +3 -0
  263. package/build/_virtual/create_collection.js_commonjs-proxy.map +1 -0
  264. package/build/_virtual/create_indexes.js_commonjs-proxy +3 -0
  265. package/build/_virtual/create_indexes.js_commonjs-proxy.map +1 -0
  266. package/build/_virtual/cursor.js_commonjs-proxy +3 -0
  267. package/build/_virtual/cursor.js_commonjs-proxy.map +1 -0
  268. package/build/_virtual/cursor2.js_commonjs-proxy +3 -0
  269. package/build/_virtual/cursor2.js_commonjs-proxy.map +1 -0
  270. package/build/_virtual/cursor_ops.js_commonjs-proxy +3 -0
  271. package/build/_virtual/cursor_ops.js_commonjs-proxy.map +1 -0
  272. package/build/_virtual/customErrors.js_commonjs-proxy +3 -0
  273. package/build/_virtual/customErrors.js_commonjs-proxy.map +1 -0
  274. package/build/_virtual/date.js_commonjs-proxy +3 -0
  275. package/build/_virtual/date.js_commonjs-proxy.map +1 -0
  276. package/build/_virtual/date2.js_commonjs-proxy +3 -0
  277. package/build/_virtual/date2.js_commonjs-proxy.map +1 -0
  278. package/build/_virtual/db.js_commonjs-proxy +3 -0
  279. package/build/_virtual/db.js_commonjs-proxy.map +1 -0
  280. package/build/_virtual/db_ops.js_commonjs-proxy +3 -0
  281. package/build/_virtual/db_ops.js_commonjs-proxy.map +1 -0
  282. package/build/_virtual/db_ref.js_commonjs-proxy +3 -0
  283. package/build/_virtual/db_ref.js_commonjs-proxy.map +1 -0
  284. package/build/_virtual/debug.js_commonjs-proxy +3 -0
  285. package/build/_virtual/debug.js_commonjs-proxy.map +1 -0
  286. package/build/_virtual/debuggability.js_commonjs-proxy +3 -0
  287. package/build/_virtual/debuggability.js_commonjs-proxy.map +1 -0
  288. package/build/_virtual/decimal128.js_commonjs-proxy +3 -0
  289. package/build/_virtual/decimal128.js_commonjs-proxy.map +1 -0
  290. package/build/_virtual/decimal1282.js_commonjs-proxy +3 -0
  291. package/build/_virtual/decimal1282.js_commonjs-proxy.map +1 -0
  292. package/build/_virtual/decimal1283.js_commonjs-proxy +3 -0
  293. package/build/_virtual/decimal1283.js_commonjs-proxy.map +1 -0
  294. package/build/_virtual/decimal1284.js_commonjs-proxy +3 -0
  295. package/build/_virtual/decimal1284.js_commonjs-proxy.map +1 -0
  296. package/build/_virtual/decimal1285.js_commonjs-proxy +3 -0
  297. package/build/_virtual/decimal1285.js_commonjs-proxy.map +1 -0
  298. package/build/_virtual/defaultAuthProviders.js_commonjs-proxy +3 -0
  299. package/build/_virtual/defaultAuthProviders.js_commonjs-proxy.map +1 -0
  300. package/build/_virtual/delete_many.js_commonjs-proxy +3 -0
  301. package/build/_virtual/delete_many.js_commonjs-proxy.map +1 -0
  302. package/build/_virtual/delete_one.js_commonjs-proxy +3 -0
  303. package/build/_virtual/delete_one.js_commonjs-proxy.map +1 -0
  304. package/build/_virtual/deque.js_commonjs-proxy +3 -0
  305. package/build/_virtual/deque.js_commonjs-proxy.map +1 -0
  306. package/build/_virtual/deserializer.js_commonjs-proxy +3 -0
  307. package/build/_virtual/deserializer.js_commonjs-proxy.map +1 -0
  308. package/build/_virtual/destroy.js_commonjs-proxy +3 -0
  309. package/build/_virtual/destroy.js_commonjs-proxy.map +1 -0
  310. package/build/_virtual/direct_resolve.js_commonjs-proxy +3 -0
  311. package/build/_virtual/direct_resolve.js_commonjs-proxy.map +1 -0
  312. package/build/_virtual/discriminator.js_commonjs-proxy +3 -0
  313. package/build/_virtual/discriminator.js_commonjs-proxy.map +1 -0
  314. package/build/_virtual/distinct.js_commonjs-proxy +3 -0
  315. package/build/_virtual/distinct.js_commonjs-proxy.map +1 -0
  316. package/build/_virtual/divergentArray.js_commonjs-proxy +3 -0
  317. package/build/_virtual/divergentArray.js_commonjs-proxy.map +1 -0
  318. package/build/_virtual/document.js_commonjs-proxy +3 -0
  319. package/build/_virtual/document.js_commonjs-proxy.map +1 -0
  320. package/build/_virtual/document_provider.js_commonjs-proxy +3 -0
  321. package/build/_virtual/document_provider.js_commonjs-proxy.map +1 -0
  322. package/build/_virtual/documentarray.js_commonjs-proxy +3 -0
  323. package/build/_virtual/documentarray.js_commonjs-proxy.map +1 -0
  324. package/build/_virtual/documentarray2.js_commonjs-proxy +3 -0
  325. package/build/_virtual/documentarray2.js_commonjs-proxy.map +1 -0
  326. package/build/_virtual/double.js_commonjs-proxy +3 -0
  327. package/build/_virtual/double.js_commonjs-proxy.map +1 -0
  328. package/build/_virtual/download.js_commonjs-proxy +3 -0
  329. package/build/_virtual/download.js_commonjs-proxy.map +1 -0
  330. package/build/_virtual/driver.js_commonjs-proxy +3 -0
  331. package/build/_virtual/driver.js_commonjs-proxy.map +1 -0
  332. package/build/_virtual/drop.js_commonjs-proxy +3 -0
  333. package/build/_virtual/drop.js_commonjs-proxy.map +1 -0
  334. package/build/_virtual/drop_index.js_commonjs-proxy +3 -0
  335. package/build/_virtual/drop_index.js_commonjs-proxy.map +1 -0
  336. package/build/_virtual/drop_indexes.js_commonjs-proxy +3 -0
  337. package/build/_virtual/drop_indexes.js_commonjs-proxy.map +1 -0
  338. package/build/_virtual/dynamic_loaders.js_commonjs-proxy +3 -0
  339. package/build/_virtual/dynamic_loaders.js_commonjs-proxy.map +1 -0
  340. package/build/_virtual/each.js_commonjs-proxy +3 -0
  341. package/build/_virtual/each.js_commonjs-proxy.map +1 -0
  342. package/build/_virtual/each2.js_commonjs-proxy +3 -0
  343. package/build/_virtual/each2.js_commonjs-proxy.map +1 -0
  344. package/build/_virtual/eachAsync.js_commonjs-proxy +3 -0
  345. package/build/_virtual/eachAsync.js_commonjs-proxy.map +1 -0
  346. package/build/_virtual/embedded.js_commonjs-proxy +3 -0
  347. package/build/_virtual/embedded.js_commonjs-proxy.map +1 -0
  348. package/build/_virtual/encrypter.js_commonjs-proxy +3 -0
  349. package/build/_virtual/encrypter.js_commonjs-proxy.map +1 -0
  350. package/build/_virtual/env.js_commonjs-proxy +3 -0
  351. package/build/_virtual/env.js_commonjs-proxy.map +1 -0
  352. package/build/_virtual/error.js_commonjs-proxy +3 -0
  353. package/build/_virtual/error.js_commonjs-proxy.map +1 -0
  354. package/build/_virtual/error2.js_commonjs-proxy +3 -0
  355. package/build/_virtual/error2.js_commonjs-proxy.map +1 -0
  356. package/build/_virtual/errors.js_commonjs-proxy +3 -0
  357. package/build/_virtual/errors.js_commonjs-proxy.map +1 -0
  358. package/build/_virtual/errors2.js_commonjs-proxy +3 -0
  359. package/build/_virtual/errors2.js_commonjs-proxy.map +1 -0
  360. package/build/_virtual/es5.js_commonjs-proxy +3 -0
  361. package/build/_virtual/es5.js_commonjs-proxy.map +1 -0
  362. package/build/_virtual/estimated_document_count.js_commonjs-proxy +3 -0
  363. package/build/_virtual/estimated_document_count.js_commonjs-proxy.map +1 -0
  364. package/build/_virtual/event-target.js_commonjs-proxy +3 -0
  365. package/build/_virtual/event-target.js_commonjs-proxy.map +1 -0
  366. package/build/_virtual/events.js_commonjs-proxy +3 -0
  367. package/build/_virtual/events.js_commonjs-proxy.map +1 -0
  368. package/build/_virtual/events2.js_commonjs-proxy +3 -0
  369. package/build/_virtual/events2.js_commonjs-proxy.map +1 -0
  370. package/build/_virtual/execute_db_admin_command.js_commonjs-proxy +3 -0
  371. package/build/_virtual/execute_db_admin_command.js_commonjs-proxy.map +1 -0
  372. package/build/_virtual/execute_operation.js_commonjs-proxy +3 -0
  373. package/build/_virtual/execute_operation.js_commonjs-proxy.map +1 -0
  374. package/build/_virtual/exists.js_commonjs-proxy +3 -0
  375. package/build/_virtual/exists.js_commonjs-proxy.map +1 -0
  376. package/build/_virtual/explain.js_commonjs-proxy +3 -0
  377. package/build/_virtual/explain.js_commonjs-proxy.map +1 -0
  378. package/build/_virtual/extension.js_commonjs-proxy +3 -0
  379. package/build/_virtual/extension.js_commonjs-proxy.map +1 -0
  380. package/build/_virtual/filter.js_commonjs-proxy +3 -0
  381. package/build/_virtual/filter.js_commonjs-proxy.map +1 -0
  382. package/build/_virtual/finally.js_commonjs-proxy +3 -0
  383. package/build/_virtual/finally.js_commonjs-proxy.map +1 -0
  384. package/build/_virtual/find.js_commonjs-proxy +3 -0
  385. package/build/_virtual/find.js_commonjs-proxy.map +1 -0
  386. package/build/_virtual/find_and_modify.js_commonjs-proxy +3 -0
  387. package/build/_virtual/find_and_modify.js_commonjs-proxy.map +1 -0
  388. package/build/_virtual/find_one.js_commonjs-proxy +3 -0
  389. package/build/_virtual/find_one.js_commonjs-proxy.map +1 -0
  390. package/build/_virtual/find_one_and_delete.js_commonjs-proxy +3 -0
  391. package/build/_virtual/find_one_and_delete.js_commonjs-proxy.map +1 -0
  392. package/build/_virtual/find_one_and_replace.js_commonjs-proxy +3 -0
  393. package/build/_virtual/find_one_and_replace.js_commonjs-proxy.map +1 -0
  394. package/build/_virtual/find_one_and_update.js_commonjs-proxy +3 -0
  395. package/build/_virtual/find_one_and_update.js_commonjs-proxy.map +1 -0
  396. package/build/_virtual/float_parser.js_commonjs-proxy +3 -0
  397. package/build/_virtual/float_parser.js_commonjs-proxy.map +1 -0
  398. package/build/_virtual/generators.js_commonjs-proxy +3 -0
  399. package/build/_virtual/generators.js_commonjs-proxy.map +1 -0
  400. package/build/_virtual/geo_haystack_search.js_commonjs-proxy +3 -0
  401. package/build/_virtual/geo_haystack_search.js_commonjs-proxy.map +1 -0
  402. package/build/_virtual/geospatial.js_commonjs-proxy +3 -0
  403. package/build/_virtual/geospatial.js_commonjs-proxy.map +1 -0
  404. package/build/_virtual/get.js_commonjs-proxy +3 -0
  405. package/build/_virtual/get.js_commonjs-proxy.map +1 -0
  406. package/build/_virtual/getConstructor.js_commonjs-proxy +3 -0
  407. package/build/_virtual/getConstructor.js_commonjs-proxy.map +1 -0
  408. package/build/_virtual/getDefaultBulkwriteResult.js_commonjs-proxy +3 -0
  409. package/build/_virtual/getDefaultBulkwriteResult.js_commonjs-proxy.map +1 -0
  410. package/build/_virtual/getDiscriminatorByValue.js_commonjs-proxy +3 -0
  411. package/build/_virtual/getDiscriminatorByValue.js_commonjs-proxy.map +1 -0
  412. package/build/_virtual/getEmbeddedDiscriminatorPath.js_commonjs-proxy +3 -0
  413. package/build/_virtual/getEmbeddedDiscriminatorPath.js_commonjs-proxy.map +1 -0
  414. package/build/_virtual/getEmbeddedDiscriminatorPath2.js_commonjs-proxy +3 -0
  415. package/build/_virtual/getEmbeddedDiscriminatorPath2.js_commonjs-proxy.map +1 -0
  416. package/build/_virtual/getFunctionName.js_commonjs-proxy +3 -0
  417. package/build/_virtual/getFunctionName.js_commonjs-proxy.map +1 -0
  418. package/build/_virtual/getIndexes.js_commonjs-proxy +3 -0
  419. package/build/_virtual/getIndexes.js_commonjs-proxy.map +1 -0
  420. package/build/_virtual/getModelsMapForPopulate.js_commonjs-proxy +3 -0
  421. package/build/_virtual/getModelsMapForPopulate.js_commonjs-proxy.map +1 -0
  422. package/build/_virtual/getPath.js_commonjs-proxy +3 -0
  423. package/build/_virtual/getPath.js_commonjs-proxy.map +1 -0
  424. package/build/_virtual/getSchemaDiscriminatorByValue.js_commonjs-proxy +3 -0
  425. package/build/_virtual/getSchemaDiscriminatorByValue.js_commonjs-proxy.map +1 -0
  426. package/build/_virtual/getSchemaTypes.js_commonjs-proxy +3 -0
  427. package/build/_virtual/getSchemaTypes.js_commonjs-proxy.map +1 -0
  428. package/build/_virtual/getVirtual.js_commonjs-proxy +3 -0
  429. package/build/_virtual/getVirtual.js_commonjs-proxy.map +1 -0
  430. package/build/_virtual/get_more.js_commonjs-proxy +3 -0
  431. package/build/_virtual/get_more.js_commonjs-proxy.map +1 -0
  432. package/build/_virtual/grid_store.js_commonjs-proxy +3 -0
  433. package/build/_virtual/grid_store.js_commonjs-proxy.map +1 -0
  434. package/build/_virtual/gssapi.js_commonjs-proxy +3 -0
  435. package/build/_virtual/gssapi.js_commonjs-proxy.map +1 -0
  436. package/build/_virtual/handleIdOption.js_commonjs-proxy +3 -0
  437. package/build/_virtual/handleIdOption.js_commonjs-proxy.map +1 -0
  438. package/build/_virtual/handleImmutable.js_commonjs-proxy +3 -0
  439. package/build/_virtual/handleImmutable.js_commonjs-proxy.map +1 -0
  440. package/build/_virtual/handleImmutable2.js_commonjs-proxy +3 -0
  441. package/build/_virtual/handleImmutable2.js_commonjs-proxy.map +1 -0
  442. package/build/_virtual/handleSpreadDoc.js_commonjs-proxy +3 -0
  443. package/build/_virtual/handleSpreadDoc.js_commonjs-proxy.map +1 -0
  444. package/build/_virtual/handleTimestampOption.js_commonjs-proxy +3 -0
  445. package/build/_virtual/handleTimestampOption.js_commonjs-proxy.map +1 -0
  446. package/build/_virtual/hasDollarKeys.js_commonjs-proxy +3 -0
  447. package/build/_virtual/hasDollarKeys.js_commonjs-proxy.map +1 -0
  448. package/build/_virtual/helpers.js_commonjs-proxy +3 -0
  449. package/build/_virtual/helpers.js_commonjs-proxy.map +1 -0
  450. package/build/_virtual/hiredis.js_commonjs-proxy +3 -0
  451. package/build/_virtual/hiredis.js_commonjs-proxy.map +1 -0
  452. package/build/_virtual/idGetter.js_commonjs-proxy +3 -0
  453. package/build/_virtual/idGetter.js_commonjs-proxy.map +1 -0
  454. package/build/_virtual/immediate.js_commonjs-proxy +3 -0
  455. package/build/_virtual/immediate.js_commonjs-proxy.map +1 -0
  456. package/build/_virtual/index.js_commonjs-proxy +3 -0
  457. package/build/_virtual/index.js_commonjs-proxy.map +1 -0
  458. package/build/_virtual/index10.js_commonjs-proxy +3 -0
  459. package/build/_virtual/index10.js_commonjs-proxy.map +1 -0
  460. package/build/_virtual/index11.js_commonjs-proxy +3 -0
  461. package/build/_virtual/index11.js_commonjs-proxy.map +1 -0
  462. package/build/_virtual/index12.js_commonjs-proxy +3 -0
  463. package/build/_virtual/index12.js_commonjs-proxy.map +1 -0
  464. package/build/_virtual/index13.js_commonjs-proxy +3 -0
  465. package/build/_virtual/index13.js_commonjs-proxy.map +1 -0
  466. package/build/_virtual/index14.js_commonjs-proxy +3 -0
  467. package/build/_virtual/index14.js_commonjs-proxy.map +1 -0
  468. package/build/_virtual/index15.js_commonjs-proxy +3 -0
  469. package/build/_virtual/index15.js_commonjs-proxy.map +1 -0
  470. package/build/_virtual/index16.js_commonjs-proxy +3 -0
  471. package/build/_virtual/index16.js_commonjs-proxy.map +1 -0
  472. package/build/_virtual/index17.js_commonjs-proxy +3 -0
  473. package/build/_virtual/index17.js_commonjs-proxy.map +1 -0
  474. package/build/_virtual/index18.js_commonjs-proxy +3 -0
  475. package/build/_virtual/index18.js_commonjs-proxy.map +1 -0
  476. package/build/_virtual/index19.js_commonjs-proxy +3 -0
  477. package/build/_virtual/index19.js_commonjs-proxy.map +1 -0
  478. package/build/_virtual/index2.js_commonjs-proxy +3 -0
  479. package/build/_virtual/index2.js_commonjs-proxy.map +1 -0
  480. package/build/_virtual/index20.js_commonjs-proxy +3 -0
  481. package/build/_virtual/index20.js_commonjs-proxy.map +1 -0
  482. package/build/_virtual/index21.js_commonjs-proxy +7 -0
  483. package/build/_virtual/index21.js_commonjs-proxy.map +1 -0
  484. package/build/_virtual/index22.js_commonjs-proxy +3 -0
  485. package/build/_virtual/index22.js_commonjs-proxy.map +1 -0
  486. package/build/_virtual/index23.js_commonjs-proxy +3 -0
  487. package/build/_virtual/index23.js_commonjs-proxy.map +1 -0
  488. package/build/_virtual/index24.js_commonjs-proxy +3 -0
  489. package/build/_virtual/index24.js_commonjs-proxy.map +1 -0
  490. package/build/_virtual/index25.js_commonjs-proxy +3 -0
  491. package/build/_virtual/index25.js_commonjs-proxy.map +1 -0
  492. package/build/_virtual/index26.js_commonjs-proxy +3 -0
  493. package/build/_virtual/index26.js_commonjs-proxy.map +1 -0
  494. package/build/_virtual/index27.js_commonjs-proxy +3 -0
  495. package/build/_virtual/index27.js_commonjs-proxy.map +1 -0
  496. package/build/_virtual/index28.js_commonjs-proxy +3 -0
  497. package/build/_virtual/index28.js_commonjs-proxy.map +1 -0
  498. package/build/_virtual/index29.js_commonjs-proxy +3 -0
  499. package/build/_virtual/index29.js_commonjs-proxy.map +1 -0
  500. package/build/_virtual/index3.js_commonjs-proxy +3 -0
  501. package/build/_virtual/index3.js_commonjs-proxy.map +1 -0
  502. package/build/_virtual/index30.js_commonjs-proxy +3 -0
  503. package/build/_virtual/index30.js_commonjs-proxy.map +1 -0
  504. package/build/_virtual/index31.js_commonjs-proxy +3 -0
  505. package/build/_virtual/index31.js_commonjs-proxy.map +1 -0
  506. package/build/_virtual/index4.js_commonjs-proxy +3 -0
  507. package/build/_virtual/index4.js_commonjs-proxy.map +1 -0
  508. package/build/_virtual/index5.js_commonjs-proxy +3 -0
  509. package/build/_virtual/index5.js_commonjs-proxy.map +1 -0
  510. package/build/_virtual/index6.js_commonjs-proxy +3 -0
  511. package/build/_virtual/index6.js_commonjs-proxy.map +1 -0
  512. package/build/_virtual/index7.js_commonjs-proxy +3 -0
  513. package/build/_virtual/index7.js_commonjs-proxy.map +1 -0
  514. package/build/_virtual/index8.js_commonjs-proxy +3 -0
  515. package/build/_virtual/index8.js_commonjs-proxy.map +1 -0
  516. package/build/_virtual/index9.js_commonjs-proxy +3 -0
  517. package/build/_virtual/index9.js_commonjs-proxy.map +1 -0
  518. package/build/_virtual/index_exists.js_commonjs-proxy +3 -0
  519. package/build/_virtual/index_exists.js_commonjs-proxy.map +1 -0
  520. package/build/_virtual/index_information.js_commonjs-proxy +3 -0
  521. package/build/_virtual/index_information.js_commonjs-proxy.map +1 -0
  522. package/build/_virtual/indexes.js_commonjs-proxy +3 -0
  523. package/build/_virtual/indexes.js_commonjs-proxy.map +1 -0
  524. package/build/_virtual/inherits.js_commonjs-proxy +3 -0
  525. package/build/_virtual/inherits.js_commonjs-proxy.map +1 -0
  526. package/build/_virtual/inherits_browser.js_commonjs-proxy +3 -0
  527. package/build/_virtual/inherits_browser.js_commonjs-proxy.map +1 -0
  528. package/build/_virtual/insert_many.js_commonjs-proxy +3 -0
  529. package/build/_virtual/insert_many.js_commonjs-proxy.map +1 -0
  530. package/build/_virtual/insert_one.js_commonjs-proxy +3 -0
  531. package/build/_virtual/insert_one.js_commonjs-proxy.map +1 -0
  532. package/build/_virtual/int_32.js_commonjs-proxy +3 -0
  533. package/build/_virtual/int_32.js_commonjs-proxy.map +1 -0
  534. package/build/_virtual/internal.js_commonjs-proxy +3 -0
  535. package/build/_virtual/internal.js_commonjs-proxy.map +1 -0
  536. package/build/_virtual/isAtlas.js_commonjs-proxy +3 -0
  537. package/build/_virtual/isAtlas.js_commonjs-proxy.map +1 -0
  538. package/build/_virtual/isBsonType.js_commonjs-proxy +3 -0
  539. package/build/_virtual/isBsonType.js_commonjs-proxy.map +1 -0
  540. package/build/_virtual/isDefaultIdIndex.js_commonjs-proxy +3 -0
  541. package/build/_virtual/isDefaultIdIndex.js_commonjs-proxy.map +1 -0
  542. package/build/_virtual/isDefiningProjection.js_commonjs-proxy +3 -0
  543. package/build/_virtual/isDefiningProjection.js_commonjs-proxy.map +1 -0
  544. package/build/_virtual/isExclusive.js_commonjs-proxy +3 -0
  545. package/build/_virtual/isExclusive.js_commonjs-proxy.map +1 -0
  546. package/build/_virtual/isInclusive.js_commonjs-proxy +3 -0
  547. package/build/_virtual/isInclusive.js_commonjs-proxy.map +1 -0
  548. package/build/_virtual/isIndexEqual.js_commonjs-proxy +3 -0
  549. package/build/_virtual/isIndexEqual.js_commonjs-proxy.map +1 -0
  550. package/build/_virtual/isMongooseObject.js_commonjs-proxy +3 -0
  551. package/build/_virtual/isMongooseObject.js_commonjs-proxy.map +1 -0
  552. package/build/_virtual/isObject.js_commonjs-proxy +3 -0
  553. package/build/_virtual/isObject.js_commonjs-proxy.map +1 -0
  554. package/build/_virtual/isOperator.js_commonjs-proxy +3 -0
  555. package/build/_virtual/isOperator.js_commonjs-proxy.map +1 -0
  556. package/build/_virtual/isPathExcluded.js_commonjs-proxy +3 -0
  557. package/build/_virtual/isPathExcluded.js_commonjs-proxy.map +1 -0
  558. package/build/_virtual/isPathSelectedInclusive.js_commonjs-proxy +3 -0
  559. package/build/_virtual/isPathSelectedInclusive.js_commonjs-proxy.map +1 -0
  560. package/build/_virtual/isPromise.js_commonjs-proxy +3 -0
  561. package/build/_virtual/isPromise.js_commonjs-proxy.map +1 -0
  562. package/build/_virtual/isSSLError.js_commonjs-proxy +3 -0
  563. package/build/_virtual/isSSLError.js_commonjs-proxy.map +1 -0
  564. package/build/_virtual/is_capped.js_commonjs-proxy +3 -0
  565. package/build/_virtual/is_capped.js_commonjs-proxy.map +1 -0
  566. package/build/_virtual/join.js_commonjs-proxy +3 -0
  567. package/build/_virtual/join.js_commonjs-proxy.map +1 -0
  568. package/build/_virtual/kill_cursors.js_commonjs-proxy +3 -0
  569. package/build/_virtual/kill_cursors.js_commonjs-proxy.map +1 -0
  570. package/build/_virtual/leanPopulateMap.js_commonjs-proxy +3 -0
  571. package/build/_virtual/leanPopulateMap.js_commonjs-proxy.map +1 -0
  572. package/build/_virtual/limiter.js_commonjs-proxy +3 -0
  573. package/build/_virtual/limiter.js_commonjs-proxy.map +1 -0
  574. package/build/_virtual/list_collections.js_commonjs-proxy +3 -0
  575. package/build/_virtual/list_collections.js_commonjs-proxy.map +1 -0
  576. package/build/_virtual/list_databases.js_commonjs-proxy +3 -0
  577. package/build/_virtual/list_databases.js_commonjs-proxy.map +1 -0
  578. package/build/_virtual/list_indexes.js_commonjs-proxy +3 -0
  579. package/build/_virtual/list_indexes.js_commonjs-proxy.map +1 -0
  580. package/build/_virtual/logger.js_commonjs-proxy +3 -0
  581. package/build/_virtual/logger.js_commonjs-proxy.map +1 -0
  582. package/build/_virtual/long.js_commonjs-proxy +3 -0
  583. package/build/_virtual/long.js_commonjs-proxy.map +1 -0
  584. package/build/_virtual/lookupLocalFields.js_commonjs-proxy +3 -0
  585. package/build/_virtual/lookupLocalFields.js_commonjs-proxy.map +1 -0
  586. package/build/_virtual/lru.js_commonjs-proxy +3 -0
  587. package/build/_virtual/lru.js_commonjs-proxy.map +1 -0
  588. package/build/_virtual/map.js_commonjs-proxy +3 -0
  589. package/build/_virtual/map.js_commonjs-proxy.map +1 -0
  590. package/build/_virtual/map2.js_commonjs-proxy +3 -0
  591. package/build/_virtual/map2.js_commonjs-proxy.map +1 -0
  592. package/build/_virtual/map3.js_commonjs-proxy +3 -0
  593. package/build/_virtual/map3.js_commonjs-proxy.map +1 -0
  594. package/build/_virtual/map4.js_commonjs-proxy +3 -0
  595. package/build/_virtual/map4.js_commonjs-proxy.map +1 -0
  596. package/build/_virtual/map_reduce.js_commonjs-proxy +3 -0
  597. package/build/_virtual/map_reduce.js_commonjs-proxy.map +1 -0
  598. package/build/_virtual/max_key.js_commonjs-proxy +3 -0
  599. package/build/_virtual/max_key.js_commonjs-proxy.map +1 -0
  600. package/build/_virtual/memory-code-points.js_commonjs-proxy +3 -0
  601. package/build/_virtual/memory-code-points.js_commonjs-proxy.map +1 -0
  602. package/build/_virtual/merge.js_commonjs-proxy +3 -0
  603. package/build/_virtual/merge.js_commonjs-proxy.map +1 -0
  604. package/build/_virtual/message_stream.js_commonjs-proxy +3 -0
  605. package/build/_virtual/message_stream.js_commonjs-proxy.map +1 -0
  606. package/build/_virtual/messages.js_commonjs-proxy +3 -0
  607. package/build/_virtual/messages.js_commonjs-proxy.map +1 -0
  608. package/build/_virtual/method.js_commonjs-proxy +3 -0
  609. package/build/_virtual/method.js_commonjs-proxy.map +1 -0
  610. package/build/_virtual/min_key.js_commonjs-proxy +3 -0
  611. package/build/_virtual/min_key.js_commonjs-proxy.map +1 -0
  612. package/build/_virtual/missingSchema.js_commonjs-proxy +3 -0
  613. package/build/_virtual/missingSchema.js_commonjs-proxy.map +1 -0
  614. package/build/_virtual/mixed.js_commonjs-proxy +3 -0
  615. package/build/_virtual/mixed.js_commonjs-proxy.map +1 -0
  616. package/build/_virtual/model.js_commonjs-proxy +3 -0
  617. package/build/_virtual/model.js_commonjs-proxy.map +1 -0
  618. package/build/_virtual/modifiedPaths.js_commonjs-proxy +3 -0
  619. package/build/_virtual/modifiedPaths.js_commonjs-proxy.map +1 -0
  620. package/build/_virtual/mongo_client.js_commonjs-proxy +3 -0
  621. package/build/_virtual/mongo_client.js_commonjs-proxy.map +1 -0
  622. package/build/_virtual/mongo_credentials.js_commonjs-proxy +3 -0
  623. package/build/_virtual/mongo_credentials.js_commonjs-proxy.map +1 -0
  624. package/build/_virtual/mongocr.js_commonjs-proxy +3 -0
  625. package/build/_virtual/mongocr.js_commonjs-proxy.map +1 -0
  626. package/build/_virtual/mongodb_aws.js_commonjs-proxy +3 -0
  627. package/build/_virtual/mongodb_aws.js_commonjs-proxy.map +1 -0
  628. package/build/_virtual/mongooseError.js_commonjs-proxy +3 -0
  629. package/build/_virtual/mongooseError.js_commonjs-proxy.map +1 -0
  630. package/build/_virtual/mongos.js_commonjs-proxy +3 -0
  631. package/build/_virtual/mongos.js_commonjs-proxy.map +1 -0
  632. package/build/_virtual/mongos2.js_commonjs-proxy +3 -0
  633. package/build/_virtual/mongos2.js_commonjs-proxy.map +1 -0
  634. package/build/_virtual/monitor.js_commonjs-proxy +3 -0
  635. package/build/_virtual/monitor.js_commonjs-proxy.map +1 -0
  636. package/build/_virtual/moveImmutableProperties.js_commonjs-proxy +3 -0
  637. package/build/_virtual/moveImmutableProperties.js_commonjs-proxy.map +1 -0
  638. package/build/_virtual/mquery.js_commonjs-proxy +3 -0
  639. package/build/_virtual/mquery.js_commonjs-proxy.map +1 -0
  640. package/build/_virtual/msg.js_commonjs-proxy +3 -0
  641. package/build/_virtual/msg.js_commonjs-proxy.map +1 -0
  642. package/build/_virtual/multi.js_commonjs-proxy +3 -0
  643. package/build/_virtual/multi.js_commonjs-proxy.map +1 -0
  644. package/build/_virtual/native_topology.js_commonjs-proxy +3 -0
  645. package/build/_virtual/native_topology.js_commonjs-proxy.map +1 -0
  646. package/build/_virtual/node.js_commonjs-proxy +3 -0
  647. package/build/_virtual/node.js_commonjs-proxy.map +1 -0
  648. package/build/_virtual/node2.js_commonjs-proxy +3 -0
  649. package/build/_virtual/node2.js_commonjs-proxy.map +1 -0
  650. package/build/_virtual/nodeback.js_commonjs-proxy +3 -0
  651. package/build/_virtual/nodeback.js_commonjs-proxy.map +1 -0
  652. package/build/_virtual/nodeify.js_commonjs-proxy +3 -0
  653. package/build/_virtual/nodeify.js_commonjs-proxy.map +1 -0
  654. package/build/_virtual/normalizeRefPath.js_commonjs-proxy +3 -0
  655. package/build/_virtual/normalizeRefPath.js_commonjs-proxy.map +1 -0
  656. package/build/_virtual/notFound.js_commonjs-proxy +3 -0
  657. package/build/_virtual/notFound.js_commonjs-proxy.map +1 -0
  658. package/build/_virtual/number.js_commonjs-proxy +3 -0
  659. package/build/_virtual/number.js_commonjs-proxy.map +1 -0
  660. package/build/_virtual/number2.js_commonjs-proxy +3 -0
  661. package/build/_virtual/number2.js_commonjs-proxy.map +1 -0
  662. package/build/_virtual/objectExpected.js_commonjs-proxy +3 -0
  663. package/build/_virtual/objectExpected.js_commonjs-proxy.map +1 -0
  664. package/build/_virtual/objectParameter.js_commonjs-proxy +3 -0
  665. package/build/_virtual/objectParameter.js_commonjs-proxy.map +1 -0
  666. package/build/_virtual/objectid.js_commonjs-proxy +3 -0
  667. package/build/_virtual/objectid.js_commonjs-proxy.map +1 -0
  668. package/build/_virtual/objectid2.js_commonjs-proxy +3 -0
  669. package/build/_virtual/objectid2.js_commonjs-proxy.map +1 -0
  670. package/build/_virtual/objectid3.js_commonjs-proxy +3 -0
  671. package/build/_virtual/objectid3.js_commonjs-proxy.map +1 -0
  672. package/build/_virtual/objectid4.js_commonjs-proxy +3 -0
  673. package/build/_virtual/objectid4.js_commonjs-proxy.map +1 -0
  674. package/build/_virtual/objectid5.js_commonjs-proxy +3 -0
  675. package/build/_virtual/objectid5.js_commonjs-proxy.map +1 -0
  676. package/build/_virtual/operation.js_commonjs-proxy +3 -0
  677. package/build/_virtual/operation.js_commonjs-proxy.map +1 -0
  678. package/build/_virtual/options.js_commonjs-proxy +3 -0
  679. package/build/_virtual/options.js_commonjs-proxy.map +1 -0
  680. package/build/_virtual/options_operation.js_commonjs-proxy +3 -0
  681. package/build/_virtual/options_operation.js_commonjs-proxy.map +1 -0
  682. package/build/_virtual/ordered.js_commonjs-proxy +3 -0
  683. package/build/_virtual/ordered.js_commonjs-proxy.map +1 -0
  684. package/build/_virtual/overwriteModel.js_commonjs-proxy +3 -0
  685. package/build/_virtual/overwriteModel.js_commonjs-proxy.map +1 -0
  686. package/build/_virtual/parallelLimit.js_commonjs-proxy +3 -0
  687. package/build/_virtual/parallelLimit.js_commonjs-proxy.map +1 -0
  688. package/build/_virtual/parallelSave.js_commonjs-proxy +3 -0
  689. package/build/_virtual/parallelSave.js_commonjs-proxy.map +1 -0
  690. package/build/_virtual/parallelValidate.js_commonjs-proxy +3 -0
  691. package/build/_virtual/parallelValidate.js_commonjs-proxy.map +1 -0
  692. package/build/_virtual/parentPaths.js_commonjs-proxy +3 -0
  693. package/build/_virtual/parentPaths.js_commonjs-proxy.map +1 -0
  694. package/build/_virtual/parseProjection.js_commonjs-proxy +3 -0
  695. package/build/_virtual/parseProjection.js_commonjs-proxy.map +1 -0
  696. package/build/_virtual/parser.js_commonjs-proxy +3 -0
  697. package/build/_virtual/parser.js_commonjs-proxy.map +1 -0
  698. package/build/_virtual/parserError.js_commonjs-proxy +3 -0
  699. package/build/_virtual/parserError.js_commonjs-proxy.map +1 -0
  700. package/build/_virtual/permessage-deflate.js_commonjs-proxy +3 -0
  701. package/build/_virtual/permessage-deflate.js_commonjs-proxy.map +1 -0
  702. package/build/_virtual/permissions.js_commonjs-proxy +3 -0
  703. package/build/_virtual/permissions.js_commonjs-proxy.map +1 -0
  704. package/build/_virtual/plain.js_commonjs-proxy +3 -0
  705. package/build/_virtual/plain.js_commonjs-proxy.map +1 -0
  706. package/build/_virtual/pool.js_commonjs-proxy +3 -0
  707. package/build/_virtual/pool.js_commonjs-proxy.map +1 -0
  708. package/build/_virtual/profiling_level.js_commonjs-proxy +3 -0
  709. package/build/_virtual/profiling_level.js_commonjs-proxy.map +1 -0
  710. package/build/_virtual/promise.js_commonjs-proxy +3 -0
  711. package/build/_virtual/promise.js_commonjs-proxy.map +1 -0
  712. package/build/_virtual/promiseOrCallback.js_commonjs-proxy +3 -0
  713. package/build/_virtual/promiseOrCallback.js_commonjs-proxy.map +1 -0
  714. package/build/_virtual/promise_array.js_commonjs-proxy +3 -0
  715. package/build/_virtual/promise_array.js_commonjs-proxy.map +1 -0
  716. package/build/_virtual/promise_provider.js_commonjs-proxy +3 -0
  717. package/build/_virtual/promise_provider.js_commonjs-proxy.map +1 -0
  718. package/build/_virtual/promisify.js_commonjs-proxy +3 -0
  719. package/build/_virtual/promisify.js_commonjs-proxy.map +1 -0
  720. package/build/_virtual/propertyOptions.js_commonjs-proxy +3 -0
  721. package/build/_virtual/propertyOptions.js_commonjs-proxy.map +1 -0
  722. package/build/_virtual/props.js_commonjs-proxy +3 -0
  723. package/build/_virtual/props.js_commonjs-proxy.map +1 -0
  724. package/build/_virtual/query.js_commonjs-proxy +3 -0
  725. package/build/_virtual/query.js_commonjs-proxy.map +1 -0
  726. package/build/_virtual/query2.js_commonjs-proxy +3 -0
  727. package/build/_virtual/query2.js_commonjs-proxy.map +1 -0
  728. package/build/_virtual/queryhelpers.js_commonjs-proxy +3 -0
  729. package/build/_virtual/queryhelpers.js_commonjs-proxy.map +1 -0
  730. package/build/_virtual/queue.js_commonjs-proxy +3 -0
  731. package/build/_virtual/queue.js_commonjs-proxy.map +1 -0
  732. package/build/_virtual/race.js_commonjs-proxy +3 -0
  733. package/build/_virtual/race.js_commonjs-proxy.map +1 -0
  734. package/build/_virtual/re_index.js_commonjs-proxy +3 -0
  735. package/build/_virtual/re_index.js_commonjs-proxy.map +1 -0
  736. package/build/_virtual/read_concern.js_commonjs-proxy +3 -0
  737. package/build/_virtual/read_concern.js_commonjs-proxy.map +1 -0
  738. package/build/_virtual/read_preference.js_commonjs-proxy +3 -0
  739. package/build/_virtual/read_preference.js_commonjs-proxy.map +1 -0
  740. package/build/_virtual/readable.js_commonjs-proxy +3 -0
  741. package/build/_virtual/readable.js_commonjs-proxy.map +1 -0
  742. package/build/_virtual/receiver.js_commonjs-proxy +3 -0
  743. package/build/_virtual/receiver.js_commonjs-proxy.map +1 -0
  744. package/build/_virtual/redisError.js_commonjs-proxy +3 -0
  745. package/build/_virtual/redisError.js_commonjs-proxy.map +1 -0
  746. package/build/_virtual/reduce.js_commonjs-proxy +3 -0
  747. package/build/_virtual/reduce.js_commonjs-proxy.map +1 -0
  748. package/build/_virtual/regexp.js_commonjs-proxy +3 -0
  749. package/build/_virtual/regexp.js_commonjs-proxy.map +1 -0
  750. package/build/_virtual/removeDeselectedForeignField.js_commonjs-proxy +3 -0
  751. package/build/_virtual/removeDeselectedForeignField.js_commonjs-proxy.map +1 -0
  752. package/build/_virtual/removeOptions.js_commonjs-proxy +3 -0
  753. package/build/_virtual/removeOptions.js_commonjs-proxy.map +1 -0
  754. package/build/_virtual/removeSubdocs.js_commonjs-proxy +3 -0
  755. package/build/_virtual/removeSubdocs.js_commonjs-proxy.map +1 -0
  756. package/build/_virtual/removeUnusedArrayFilters.js_commonjs-proxy +3 -0
  757. package/build/_virtual/removeUnusedArrayFilters.js_commonjs-proxy.map +1 -0
  758. package/build/_virtual/remove_user.js_commonjs-proxy +3 -0
  759. package/build/_virtual/remove_user.js_commonjs-proxy.map +1 -0
  760. package/build/_virtual/rename.js_commonjs-proxy +3 -0
  761. package/build/_virtual/rename.js_commonjs-proxy.map +1 -0
  762. package/build/_virtual/replace_one.js_commonjs-proxy +3 -0
  763. package/build/_virtual/replace_one.js_commonjs-proxy.map +1 -0
  764. package/build/_virtual/replset.js_commonjs-proxy +3 -0
  765. package/build/_virtual/replset.js_commonjs-proxy.map +1 -0
  766. package/build/_virtual/replset2.js_commonjs-proxy +3 -0
  767. package/build/_virtual/replset2.js_commonjs-proxy.map +1 -0
  768. package/build/_virtual/replset_state.js_commonjs-proxy +3 -0
  769. package/build/_virtual/replset_state.js_commonjs-proxy.map +1 -0
  770. package/build/_virtual/replyError.js_commonjs-proxy +3 -0
  771. package/build/_virtual/replyError.js_commonjs-proxy.map +1 -0
  772. package/build/_virtual/run_command.js_commonjs-proxy +3 -0
  773. package/build/_virtual/run_command.js_commonjs-proxy.map +1 -0
  774. package/build/_virtual/sanitizeProjection.js_commonjs-proxy +3 -0
  775. package/build/_virtual/sanitizeProjection.js_commonjs-proxy.map +1 -0
  776. package/build/_virtual/saveOptions.js_commonjs-proxy +3 -0
  777. package/build/_virtual/saveOptions.js_commonjs-proxy.map +1 -0
  778. package/build/_virtual/saveSubdocs.js_commonjs-proxy +3 -0
  779. package/build/_virtual/saveSubdocs.js_commonjs-proxy.map +1 -0
  780. package/build/_virtual/schedule.js_commonjs-proxy +3 -0
  781. package/build/_virtual/schedule.js_commonjs-proxy.map +1 -0
  782. package/build/_virtual/schema.js_commonjs-proxy +3 -0
  783. package/build/_virtual/schema.js_commonjs-proxy.map +1 -0
  784. package/build/_virtual/schematype.js_commonjs-proxy +3 -0
  785. package/build/_virtual/schematype.js_commonjs-proxy.map +1 -0
  786. package/build/_virtual/scram.js_commonjs-proxy +3 -0
  787. package/build/_virtual/scram.js_commonjs-proxy.map +1 -0
  788. package/build/_virtual/selectPopulatedFields.js_commonjs-proxy +3 -0
  789. package/build/_virtual/selectPopulatedFields.js_commonjs-proxy.map +1 -0
  790. package/build/_virtual/sender.js_commonjs-proxy +3 -0
  791. package/build/_virtual/sender.js_commonjs-proxy.map +1 -0
  792. package/build/_virtual/serializer.js_commonjs-proxy +3 -0
  793. package/build/_virtual/serializer.js_commonjs-proxy.map +1 -0
  794. package/build/_virtual/server.js_commonjs-proxy +3 -0
  795. package/build/_virtual/server.js_commonjs-proxy.map +1 -0
  796. package/build/_virtual/server2.js_commonjs-proxy +3 -0
  797. package/build/_virtual/server2.js_commonjs-proxy.map +1 -0
  798. package/build/_virtual/server3.js_commonjs-proxy +3 -0
  799. package/build/_virtual/server3.js_commonjs-proxy.map +1 -0
  800. package/build/_virtual/serverSelection.js_commonjs-proxy +3 -0
  801. package/build/_virtual/serverSelection.js_commonjs-proxy.map +1 -0
  802. package/build/_virtual/server_description.js_commonjs-proxy +3 -0
  803. package/build/_virtual/server_description.js_commonjs-proxy.map +1 -0
  804. package/build/_virtual/server_selection.js_commonjs-proxy +3 -0
  805. package/build/_virtual/server_selection.js_commonjs-proxy.map +1 -0
  806. package/build/_virtual/sessions.js_commonjs-proxy +3 -0
  807. package/build/_virtual/sessions.js_commonjs-proxy.map +1 -0
  808. package/build/_virtual/setDefaultsOnInsert.js_commonjs-proxy +3 -0
  809. package/build/_virtual/setDefaultsOnInsert.js_commonjs-proxy.map +1 -0
  810. package/build/_virtual/setDottedPath.js_commonjs-proxy +3 -0
  811. package/build/_virtual/setDottedPath.js_commonjs-proxy.map +1 -0
  812. package/build/_virtual/set_profiling_level.js_commonjs-proxy +3 -0
  813. package/build/_virtual/set_profiling_level.js_commonjs-proxy.map +1 -0
  814. package/build/_virtual/settle.js_commonjs-proxy +3 -0
  815. package/build/_virtual/settle.js_commonjs-proxy.map +1 -0
  816. package/build/_virtual/setupTimestamps.js_commonjs-proxy +3 -0
  817. package/build/_virtual/setupTimestamps.js_commonjs-proxy.map +1 -0
  818. package/build/_virtual/sharding.js_commonjs-proxy +3 -0
  819. package/build/_virtual/sharding.js_commonjs-proxy.map +1 -0
  820. package/build/_virtual/shared.js_commonjs-proxy +3 -0
  821. package/build/_virtual/shared.js_commonjs-proxy.map +1 -0
  822. package/build/_virtual/shared2.js_commonjs-proxy +3 -0
  823. package/build/_virtual/shared2.js_commonjs-proxy.map +1 -0
  824. package/build/_virtual/some.js_commonjs-proxy +3 -0
  825. package/build/_virtual/some.js_commonjs-proxy.map +1 -0
  826. package/build/_virtual/specialProperties.js_commonjs-proxy +3 -0
  827. package/build/_virtual/specialProperties.js_commonjs-proxy.map +1 -0
  828. package/build/_virtual/srv_polling.js_commonjs-proxy +3 -0
  829. package/build/_virtual/srv_polling.js_commonjs-proxy.map +1 -0
  830. package/build/_virtual/statemachine.js_commonjs-proxy +3 -0
  831. package/build/_virtual/statemachine.js_commonjs-proxy.map +1 -0
  832. package/build/_virtual/stats.js_commonjs-proxy +3 -0
  833. package/build/_virtual/stats.js_commonjs-proxy.map +1 -0
  834. package/build/_virtual/stream.js_commonjs-proxy +3 -0
  835. package/build/_virtual/stream.js_commonjs-proxy.map +1 -0
  836. package/build/_virtual/stream2.js_commonjs-proxy +3 -0
  837. package/build/_virtual/stream2.js_commonjs-proxy.map +1 -0
  838. package/build/_virtual/stream_description.js_commonjs-proxy +3 -0
  839. package/build/_virtual/stream_description.js_commonjs-proxy.map +1 -0
  840. package/build/_virtual/strict.js_commonjs-proxy +3 -0
  841. package/build/_virtual/strict.js_commonjs-proxy.map +1 -0
  842. package/build/_virtual/string.js_commonjs-proxy +3 -0
  843. package/build/_virtual/string.js_commonjs-proxy.map +1 -0
  844. package/build/_virtual/string2.js_commonjs-proxy +3 -0
  845. package/build/_virtual/string2.js_commonjs-proxy.map +1 -0
  846. package/build/_virtual/stringToParts.js_commonjs-proxy +3 -0
  847. package/build/_virtual/stringToParts.js_commonjs-proxy.map +1 -0
  848. package/build/_virtual/string_decoder.js_commonjs-proxy +3 -0
  849. package/build/_virtual/string_decoder.js_commonjs-proxy.map +1 -0
  850. package/build/_virtual/stringifyFunctionOperators.js_commonjs-proxy +3 -0
  851. package/build/_virtual/stringifyFunctionOperators.js_commonjs-proxy.map +1 -0
  852. package/build/_virtual/subdocument.js_commonjs-proxy +3 -0
  853. package/build/_virtual/subdocument.js_commonjs-proxy.map +1 -0
  854. package/build/_virtual/symbol.js_commonjs-proxy +3 -0
  855. package/build/_virtual/symbol.js_commonjs-proxy.map +1 -0
  856. package/build/_virtual/symbols.js_commonjs-proxy +3 -0
  857. package/build/_virtual/symbols.js_commonjs-proxy.map +1 -0
  858. package/build/_virtual/symbols2.js_commonjs-proxy +3 -0
  859. package/build/_virtual/symbols2.js_commonjs-proxy.map +1 -0
  860. package/build/_virtual/synchronous_inspection.js_commonjs-proxy +3 -0
  861. package/build/_virtual/synchronous_inspection.js_commonjs-proxy.map +1 -0
  862. package/build/_virtual/text.js_commonjs-proxy +3 -0
  863. package/build/_virtual/text.js_commonjs-proxy.map +1 -0
  864. package/build/_virtual/thenables.js_commonjs-proxy +3 -0
  865. package/build/_virtual/thenables.js_commonjs-proxy.map +1 -0
  866. package/build/_virtual/timers.js_commonjs-proxy +3 -0
  867. package/build/_virtual/timers.js_commonjs-proxy.map +1 -0
  868. package/build/_virtual/timers2.js_commonjs-proxy +3 -0
  869. package/build/_virtual/timers2.js_commonjs-proxy.map +1 -0
  870. package/build/_virtual/timestamp.js_commonjs-proxy +3 -0
  871. package/build/_virtual/timestamp.js_commonjs-proxy.map +1 -0
  872. package/build/_virtual/topology.js_commonjs-proxy +3 -0
  873. package/build/_virtual/topology.js_commonjs-proxy.map +1 -0
  874. package/build/_virtual/topology_base.js_commonjs-proxy +3 -0
  875. package/build/_virtual/topology_base.js_commonjs-proxy.map +1 -0
  876. package/build/_virtual/topology_description.js_commonjs-proxy +3 -0
  877. package/build/_virtual/topology_description.js_commonjs-proxy.map +1 -0
  878. package/build/_virtual/trackTransaction.js_commonjs-proxy +3 -0
  879. package/build/_virtual/trackTransaction.js_commonjs-proxy.map +1 -0
  880. package/build/_virtual/transactions.js_commonjs-proxy +3 -0
  881. package/build/_virtual/transactions.js_commonjs-proxy.map +1 -0
  882. package/build/_virtual/type.js_commonjs-proxy +3 -0
  883. package/build/_virtual/type.js_commonjs-proxy.map +1 -0
  884. package/build/_virtual/unordered.js_commonjs-proxy +3 -0
  885. package/build/_virtual/unordered.js_commonjs-proxy.map +1 -0
  886. package/build/_virtual/updateValidators.js_commonjs-proxy +3 -0
  887. package/build/_virtual/updateValidators.js_commonjs-proxy.map +1 -0
  888. package/build/_virtual/update_many.js_commonjs-proxy +3 -0
  889. package/build/_virtual/update_many.js_commonjs-proxy.map +1 -0
  890. package/build/_virtual/update_one.js_commonjs-proxy +3 -0
  891. package/build/_virtual/update_one.js_commonjs-proxy.map +1 -0
  892. package/build/_virtual/updatedPathsByArrayFilter.js_commonjs-proxy +3 -0
  893. package/build/_virtual/updatedPathsByArrayFilter.js_commonjs-proxy.map +1 -0
  894. package/build/_virtual/upload.js_commonjs-proxy +3 -0
  895. package/build/_virtual/upload.js_commonjs-proxy.map +1 -0
  896. package/build/_virtual/uri_parser.js_commonjs-proxy +3 -0
  897. package/build/_virtual/uri_parser.js_commonjs-proxy.map +1 -0
  898. package/build/_virtual/url_parser.js_commonjs-proxy +3 -0
  899. package/build/_virtual/url_parser.js_commonjs-proxy.map +1 -0
  900. package/build/_virtual/using.js_commonjs-proxy +3 -0
  901. package/build/_virtual/using.js_commonjs-proxy.map +1 -0
  902. package/build/_virtual/util.js_commonjs-proxy +3 -0
  903. package/build/_virtual/util.js_commonjs-proxy.map +1 -0
  904. package/build/_virtual/util2.js_commonjs-proxy +3 -0
  905. package/build/_virtual/util2.js_commonjs-proxy.map +1 -0
  906. package/build/_virtual/utils.js_commonjs-proxy +3 -0
  907. package/build/_virtual/utils.js_commonjs-proxy.map +1 -0
  908. package/build/_virtual/utils2.js_commonjs-proxy +3 -0
  909. package/build/_virtual/utils2.js_commonjs-proxy.map +1 -0
  910. package/build/_virtual/utils3.js_commonjs-proxy +3 -0
  911. package/build/_virtual/utils3.js_commonjs-proxy.map +1 -0
  912. package/build/_virtual/utils4.js_commonjs-proxy +3 -0
  913. package/build/_virtual/utils4.js_commonjs-proxy.map +1 -0
  914. package/build/_virtual/utils5.js_commonjs-proxy +3 -0
  915. package/build/_virtual/utils5.js_commonjs-proxy.map +1 -0
  916. package/build/_virtual/utils6.js_commonjs-proxy +3 -0
  917. package/build/_virtual/utils6.js_commonjs-proxy.map +1 -0
  918. package/build/_virtual/utils7.js_commonjs-proxy +3 -0
  919. package/build/_virtual/utils7.js_commonjs-proxy.map +1 -0
  920. package/build/_virtual/validateBeforeSave.js_commonjs-proxy +3 -0
  921. package/build/_virtual/validateBeforeSave.js_commonjs-proxy.map +1 -0
  922. package/build/_virtual/validateRef.js_commonjs-proxy +3 -0
  923. package/build/_virtual/validateRef.js_commonjs-proxy.map +1 -0
  924. package/build/_virtual/validate_collection.js_commonjs-proxy +3 -0
  925. package/build/_virtual/validate_collection.js_commonjs-proxy.map +1 -0
  926. package/build/_virtual/validation.js_commonjs-proxy +3 -0
  927. package/build/_virtual/validation.js_commonjs-proxy.map +1 -0
  928. package/build/_virtual/validation2.js_commonjs-proxy +3 -0
  929. package/build/_virtual/validation2.js_commonjs-proxy.map +1 -0
  930. package/build/_virtual/validator.js_commonjs-proxy +3 -0
  931. package/build/_virtual/validator.js_commonjs-proxy.map +1 -0
  932. package/build/_virtual/validoptions.js_commonjs-proxy +3 -0
  933. package/build/_virtual/validoptions.js_commonjs-proxy.map +1 -0
  934. package/build/_virtual/version.js_commonjs-proxy +3 -0
  935. package/build/_virtual/version.js_commonjs-proxy.map +1 -0
  936. package/build/_virtual/virtualtype.js_commonjs-proxy +3 -0
  937. package/build/_virtual/virtualtype.js_commonjs-proxy.map +1 -0
  938. package/build/_virtual/websocket-server.js_commonjs-proxy +3 -0
  939. package/build/_virtual/websocket-server.js_commonjs-proxy.map +1 -0
  940. package/build/_virtual/websocket.js_commonjs-proxy +3 -0
  941. package/build/_virtual/websocket.js_commonjs-proxy.map +1 -0
  942. package/build/_virtual/wrapThunk.js_commonjs-proxy +3 -0
  943. package/build/_virtual/wrapThunk.js_commonjs-proxy.map +1 -0
  944. package/build/_virtual/write_command.js_commonjs-proxy +3 -0
  945. package/build/_virtual/write_command.js_commonjs-proxy.map +1 -0
  946. package/build/_virtual/write_concern.js_commonjs-proxy +3 -0
  947. package/build/_virtual/write_concern.js_commonjs-proxy.map +1 -0
  948. package/build/_virtual/x509.js_commonjs-proxy +3 -0
  949. package/build/_virtual/x509.js_commonjs-proxy.map +1 -0
  950. package/build/bundles/colyseus/build/index.mjs +13 -0
  951. package/build/bundles/colyseus/build/index.mjs.js +25 -0
  952. package/build/bundles/colyseus/build/index.mjs.js.map +1 -0
  953. package/build/bundles/colyseus/build/index.mjs.map +1 -0
  954. package/build/matchmaker/controller.js +3 -1
  955. package/build/matchmaker/controller.js.map +1 -1
  956. package/build/matchmaker/controller.mjs +3 -1
  957. package/build/matchmaker/controller.mjs.map +1 -1
  958. package/build/node_modules/aws4/aws4.js +388 -0
  959. package/build/node_modules/aws4/aws4.js.map +1 -0
  960. package/build/node_modules/aws4/aws4.mjs +380 -0
  961. package/build/node_modules/aws4/aws4.mjs.map +1 -0
  962. package/build/node_modules/aws4/lru.js +101 -0
  963. package/build/node_modules/aws4/lru.js.map +1 -0
  964. package/build/node_modules/aws4/lru.mjs +99 -0
  965. package/build/node_modules/aws4/lru.mjs.map +1 -0
  966. package/build/node_modules/bl/bl.js +403 -0
  967. package/build/node_modules/bl/bl.js.map +1 -0
  968. package/build/node_modules/bl/bl.mjs +397 -0
  969. package/build/node_modules/bl/bl.mjs.map +1 -0
  970. package/build/node_modules/bl/node_modules/readable-stream/lib/_stream_duplex.js +114 -0
  971. package/build/node_modules/bl/node_modules/readable-stream/lib/_stream_duplex.js.map +1 -0
  972. package/build/node_modules/bl/node_modules/readable-stream/lib/_stream_duplex.mjs +112 -0
  973. package/build/node_modules/bl/node_modules/readable-stream/lib/_stream_duplex.mjs.map +1 -0
  974. package/build/node_modules/bl/node_modules/readable-stream/lib/_stream_passthrough.js +29 -0
  975. package/build/node_modules/bl/node_modules/readable-stream/lib/_stream_passthrough.js.map +1 -0
  976. package/build/node_modules/bl/node_modules/readable-stream/lib/_stream_passthrough.mjs +27 -0
  977. package/build/node_modules/bl/node_modules/readable-stream/lib/_stream_passthrough.mjs.map +1 -0
  978. package/build/node_modules/bl/node_modules/readable-stream/lib/_stream_readable.js +1020 -0
  979. package/build/node_modules/bl/node_modules/readable-stream/lib/_stream_readable.js.map +1 -0
  980. package/build/node_modules/bl/node_modules/readable-stream/lib/_stream_readable.mjs +1013 -0
  981. package/build/node_modules/bl/node_modules/readable-stream/lib/_stream_readable.mjs.map +1 -0
  982. package/build/node_modules/bl/node_modules/readable-stream/lib/_stream_transform.js +158 -0
  983. package/build/node_modules/bl/node_modules/readable-stream/lib/_stream_transform.js.map +1 -0
  984. package/build/node_modules/bl/node_modules/readable-stream/lib/_stream_transform.mjs +156 -0
  985. package/build/node_modules/bl/node_modules/readable-stream/lib/_stream_transform.mjs.map +1 -0
  986. package/build/node_modules/bl/node_modules/readable-stream/lib/_stream_writable.js +667 -0
  987. package/build/node_modules/bl/node_modules/readable-stream/lib/_stream_writable.js.map +1 -0
  988. package/build/node_modules/bl/node_modules/readable-stream/lib/_stream_writable.mjs +665 -0
  989. package/build/node_modules/bl/node_modules/readable-stream/lib/_stream_writable.mjs.map +1 -0
  990. package/build/node_modules/bl/node_modules/readable-stream/lib/internal/streams/BufferList.js +93 -0
  991. package/build/node_modules/bl/node_modules/readable-stream/lib/internal/streams/BufferList.js.map +1 -0
  992. package/build/node_modules/bl/node_modules/readable-stream/lib/internal/streams/BufferList.mjs +87 -0
  993. package/build/node_modules/bl/node_modules/readable-stream/lib/internal/streams/BufferList.mjs.map +1 -0
  994. package/build/node_modules/bl/node_modules/readable-stream/lib/internal/streams/destroy.js +79 -0
  995. package/build/node_modules/bl/node_modules/readable-stream/lib/internal/streams/destroy.js.map +1 -0
  996. package/build/node_modules/bl/node_modules/readable-stream/lib/internal/streams/destroy.mjs +77 -0
  997. package/build/node_modules/bl/node_modules/readable-stream/lib/internal/streams/destroy.mjs.map +1 -0
  998. package/build/node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream.js +12 -0
  999. package/build/node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream.js.map +1 -0
  1000. package/build/node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream.mjs +6 -0
  1001. package/build/node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream.mjs.map +1 -0
  1002. package/build/node_modules/bl/node_modules/readable-stream/readable.js +37 -0
  1003. package/build/node_modules/bl/node_modules/readable-stream/readable.js.map +1 -0
  1004. package/build/node_modules/bl/node_modules/readable-stream/readable.mjs +31 -0
  1005. package/build/node_modules/bl/node_modules/readable-stream/readable.mjs.map +1 -0
  1006. package/build/node_modules/bl/node_modules/string_decoder/lib/string_decoder.js +286 -0
  1007. package/build/node_modules/bl/node_modules/string_decoder/lib/string_decoder.js.map +1 -0
  1008. package/build/node_modules/bl/node_modules/string_decoder/lib/string_decoder.mjs +282 -0
  1009. package/build/node_modules/bl/node_modules/string_decoder/lib/string_decoder.mjs.map +1 -0
  1010. package/build/node_modules/bluebird/js/release/any.js +25 -0
  1011. package/build/node_modules/bluebird/js/release/any.js.map +1 -0
  1012. package/build/node_modules/bluebird/js/release/any.mjs +23 -0
  1013. package/build/node_modules/bluebird/js/release/any.mjs.map +1 -0
  1014. package/build/node_modules/bluebird/js/release/async.js +173 -0
  1015. package/build/node_modules/bluebird/js/release/async.js.map +1 -0
  1016. package/build/node_modules/bluebird/js/release/async.mjs +169 -0
  1017. package/build/node_modules/bluebird/js/release/async.mjs.map +1 -0
  1018. package/build/node_modules/bluebird/js/release/bind.js +71 -0
  1019. package/build/node_modules/bluebird/js/release/bind.js.map +1 -0
  1020. package/build/node_modules/bluebird/js/release/bind.mjs +69 -0
  1021. package/build/node_modules/bluebird/js/release/bind.mjs.map +1 -0
  1022. package/build/node_modules/bluebird/js/release/bluebird.js +17 -0
  1023. package/build/node_modules/bluebird/js/release/bluebird.js.map +1 -0
  1024. package/build/node_modules/bluebird/js/release/bluebird.mjs +15 -0
  1025. package/build/node_modules/bluebird/js/release/bluebird.mjs.map +1 -0
  1026. package/build/node_modules/bluebird/js/release/call_get.js +128 -0
  1027. package/build/node_modules/bluebird/js/release/call_get.js.map +1 -0
  1028. package/build/node_modules/bluebird/js/release/call_get.mjs +126 -0
  1029. package/build/node_modules/bluebird/js/release/call_get.mjs.map +1 -0
  1030. package/build/node_modules/bluebird/js/release/cancel.js +135 -0
  1031. package/build/node_modules/bluebird/js/release/cancel.js.map +1 -0
  1032. package/build/node_modules/bluebird/js/release/cancel.mjs +133 -0
  1033. package/build/node_modules/bluebird/js/release/cancel.mjs.map +1 -0
  1034. package/build/node_modules/bluebird/js/release/catch_filter.js +49 -0
  1035. package/build/node_modules/bluebird/js/release/catch_filter.js.map +1 -0
  1036. package/build/node_modules/bluebird/js/release/catch_filter.mjs +47 -0
  1037. package/build/node_modules/bluebird/js/release/catch_filter.mjs.map +1 -0
  1038. package/build/node_modules/bluebird/js/release/context.js +73 -0
  1039. package/build/node_modules/bluebird/js/release/context.js.map +1 -0
  1040. package/build/node_modules/bluebird/js/release/context.mjs +71 -0
  1041. package/build/node_modules/bluebird/js/release/context.mjs.map +1 -0
  1042. package/build/node_modules/bluebird/js/release/debuggability.js +922 -0
  1043. package/build/node_modules/bluebird/js/release/debuggability.js.map +1 -0
  1044. package/build/node_modules/bluebird/js/release/debuggability.mjs +920 -0
  1045. package/build/node_modules/bluebird/js/release/debuggability.mjs.map +1 -0
  1046. package/build/node_modules/bluebird/js/release/direct_resolve.js +50 -0
  1047. package/build/node_modules/bluebird/js/release/direct_resolve.js.map +1 -0
  1048. package/build/node_modules/bluebird/js/release/direct_resolve.mjs +48 -0
  1049. package/build/node_modules/bluebird/js/release/direct_resolve.mjs.map +1 -0
  1050. package/build/node_modules/bluebird/js/release/each.js +33 -0
  1051. package/build/node_modules/bluebird/js/release/each.js.map +1 -0
  1052. package/build/node_modules/bluebird/js/release/each.mjs +31 -0
  1053. package/build/node_modules/bluebird/js/release/each.mjs.map +1 -0
  1054. package/build/node_modules/bluebird/js/release/errors.js +122 -0
  1055. package/build/node_modules/bluebird/js/release/errors.js.map +1 -0
  1056. package/build/node_modules/bluebird/js/release/errors.mjs +120 -0
  1057. package/build/node_modules/bluebird/js/release/errors.mjs.map +1 -0
  1058. package/build/node_modules/bluebird/js/release/es5.js +88 -0
  1059. package/build/node_modules/bluebird/js/release/es5.js.map +1 -0
  1060. package/build/node_modules/bluebird/js/release/es5.mjs +86 -0
  1061. package/build/node_modules/bluebird/js/release/es5.mjs.map +1 -0
  1062. package/build/node_modules/bluebird/js/release/filter.js +16 -0
  1063. package/build/node_modules/bluebird/js/release/filter.js.map +1 -0
  1064. package/build/node_modules/bluebird/js/release/filter.mjs +14 -0
  1065. package/build/node_modules/bluebird/js/release/filter.mjs.map +1 -0
  1066. package/build/node_modules/bluebird/js/release/finally.js +153 -0
  1067. package/build/node_modules/bluebird/js/release/finally.js.map +1 -0
  1068. package/build/node_modules/bluebird/js/release/finally.mjs +151 -0
  1069. package/build/node_modules/bluebird/js/release/finally.mjs.map +1 -0
  1070. package/build/node_modules/bluebird/js/release/generators.js +229 -0
  1071. package/build/node_modules/bluebird/js/release/generators.js.map +1 -0
  1072. package/build/node_modules/bluebird/js/release/generators.mjs +227 -0
  1073. package/build/node_modules/bluebird/js/release/generators.mjs.map +1 -0
  1074. package/build/node_modules/bluebird/js/release/join.js +172 -0
  1075. package/build/node_modules/bluebird/js/release/join.js.map +1 -0
  1076. package/build/node_modules/bluebird/js/release/join.mjs +170 -0
  1077. package/build/node_modules/bluebird/js/release/join.mjs.map +1 -0
  1078. package/build/node_modules/bluebird/js/release/map.js +173 -0
  1079. package/build/node_modules/bluebird/js/release/map.js.map +1 -0
  1080. package/build/node_modules/bluebird/js/release/map.mjs +171 -0
  1081. package/build/node_modules/bluebird/js/release/map.mjs.map +1 -0
  1082. package/build/node_modules/bluebird/js/release/method.js +61 -0
  1083. package/build/node_modules/bluebird/js/release/method.js.map +1 -0
  1084. package/build/node_modules/bluebird/js/release/method.mjs +59 -0
  1085. package/build/node_modules/bluebird/js/release/method.mjs.map +1 -0
  1086. package/build/node_modules/bluebird/js/release/nodeback.js +57 -0
  1087. package/build/node_modules/bluebird/js/release/nodeback.js.map +1 -0
  1088. package/build/node_modules/bluebird/js/release/nodeback.mjs +55 -0
  1089. package/build/node_modules/bluebird/js/release/nodeback.mjs.map +1 -0
  1090. package/build/node_modules/bluebird/js/release/nodeify.js +64 -0
  1091. package/build/node_modules/bluebird/js/release/nodeify.js.map +1 -0
  1092. package/build/node_modules/bluebird/js/release/nodeify.mjs +62 -0
  1093. package/build/node_modules/bluebird/js/release/nodeify.mjs.map +1 -0
  1094. package/build/node_modules/bluebird/js/release/promise.js +815 -0
  1095. package/build/node_modules/bluebird/js/release/promise.js.map +1 -0
  1096. package/build/node_modules/bluebird/js/release/promise.mjs +813 -0
  1097. package/build/node_modules/bluebird/js/release/promise.mjs.map +1 -0
  1098. package/build/node_modules/bluebird/js/release/promise_array.js +190 -0
  1099. package/build/node_modules/bluebird/js/release/promise_array.js.map +1 -0
  1100. package/build/node_modules/bluebird/js/release/promise_array.mjs +188 -0
  1101. package/build/node_modules/bluebird/js/release/promise_array.mjs.map +1 -0
  1102. package/build/node_modules/bluebird/js/release/promisify.js +321 -0
  1103. package/build/node_modules/bluebird/js/release/promisify.js.map +1 -0
  1104. package/build/node_modules/bluebird/js/release/promisify.mjs +319 -0
  1105. package/build/node_modules/bluebird/js/release/promisify.mjs.map +1 -0
  1106. package/build/node_modules/bluebird/js/release/props.js +125 -0
  1107. package/build/node_modules/bluebird/js/release/props.js.map +1 -0
  1108. package/build/node_modules/bluebird/js/release/props.mjs +123 -0
  1109. package/build/node_modules/bluebird/js/release/props.mjs.map +1 -0
  1110. package/build/node_modules/bluebird/js/release/queue.js +77 -0
  1111. package/build/node_modules/bluebird/js/release/queue.js.map +1 -0
  1112. package/build/node_modules/bluebird/js/release/queue.mjs +75 -0
  1113. package/build/node_modules/bluebird/js/release/queue.mjs.map +1 -0
  1114. package/build/node_modules/bluebird/js/release/race.js +55 -0
  1115. package/build/node_modules/bluebird/js/release/race.js.map +1 -0
  1116. package/build/node_modules/bluebird/js/release/race.mjs +53 -0
  1117. package/build/node_modules/bluebird/js/release/race.mjs.map +1 -0
  1118. package/build/node_modules/bluebird/js/release/reduce.js +178 -0
  1119. package/build/node_modules/bluebird/js/release/reduce.js.map +1 -0
  1120. package/build/node_modules/bluebird/js/release/reduce.mjs +176 -0
  1121. package/build/node_modules/bluebird/js/release/reduce.mjs.map +1 -0
  1122. package/build/node_modules/bluebird/js/release/schedule.js +67 -0
  1123. package/build/node_modules/bluebird/js/release/schedule.js.map +1 -0
  1124. package/build/node_modules/bluebird/js/release/schedule.mjs +65 -0
  1125. package/build/node_modules/bluebird/js/release/schedule.mjs.map +1 -0
  1126. package/build/node_modules/bluebird/js/release/settle.js +49 -0
  1127. package/build/node_modules/bluebird/js/release/settle.js.map +1 -0
  1128. package/build/node_modules/bluebird/js/release/settle.mjs +47 -0
  1129. package/build/node_modules/bluebird/js/release/settle.mjs.map +1 -0
  1130. package/build/node_modules/bluebird/js/release/some.js +155 -0
  1131. package/build/node_modules/bluebird/js/release/some.js.map +1 -0
  1132. package/build/node_modules/bluebird/js/release/some.mjs +153 -0
  1133. package/build/node_modules/bluebird/js/release/some.mjs.map +1 -0
  1134. package/build/node_modules/bluebird/js/release/synchronous_inspection.js +107 -0
  1135. package/build/node_modules/bluebird/js/release/synchronous_inspection.js.map +1 -0
  1136. package/build/node_modules/bluebird/js/release/synchronous_inspection.mjs +105 -0
  1137. package/build/node_modules/bluebird/js/release/synchronous_inspection.mjs.map +1 -0
  1138. package/build/node_modules/bluebird/js/release/thenables.js +92 -0
  1139. package/build/node_modules/bluebird/js/release/thenables.js.map +1 -0
  1140. package/build/node_modules/bluebird/js/release/thenables.mjs +90 -0
  1141. package/build/node_modules/bluebird/js/release/thenables.mjs.map +1 -0
  1142. package/build/node_modules/bluebird/js/release/timers.js +99 -0
  1143. package/build/node_modules/bluebird/js/release/timers.js.map +1 -0
  1144. package/build/node_modules/bluebird/js/release/timers.mjs +97 -0
  1145. package/build/node_modules/bluebird/js/release/timers.mjs.map +1 -0
  1146. package/build/node_modules/bluebird/js/release/using.js +233 -0
  1147. package/build/node_modules/bluebird/js/release/using.js.map +1 -0
  1148. package/build/node_modules/bluebird/js/release/using.mjs +231 -0
  1149. package/build/node_modules/bluebird/js/release/using.mjs.map +1 -0
  1150. package/build/node_modules/bluebird/js/release/util.js +380 -0
  1151. package/build/node_modules/bluebird/js/release/util.js.map +1 -0
  1152. package/build/node_modules/bluebird/js/release/util.mjs +378 -0
  1153. package/build/node_modules/bluebird/js/release/util.mjs.map +1 -0
  1154. package/build/node_modules/bson/index.js +51 -0
  1155. package/build/node_modules/bson/index.js.map +1 -0
  1156. package/build/node_modules/bson/index.mjs +49 -0
  1157. package/build/node_modules/bson/index.mjs.map +1 -0
  1158. package/build/node_modules/bson/lib/bson/binary.js +401 -0
  1159. package/build/node_modules/bson/lib/bson/binary.js.map +1 -0
  1160. package/build/node_modules/bson/lib/bson/binary.mjs +393 -0
  1161. package/build/node_modules/bson/lib/bson/binary.mjs.map +1 -0
  1162. package/build/node_modules/bson/lib/bson/bson.js +422 -0
  1163. package/build/node_modules/bson/lib/bson/bson.js.map +1 -0
  1164. package/build/node_modules/bson/lib/bson/bson.mjs +404 -0
  1165. package/build/node_modules/bson/lib/bson/bson.mjs.map +1 -0
  1166. package/build/node_modules/bson/lib/bson/code.js +33 -0
  1167. package/build/node_modules/bson/lib/bson/code.js.map +1 -0
  1168. package/build/node_modules/bson/lib/bson/code.mjs +29 -0
  1169. package/build/node_modules/bson/lib/bson/code.mjs.map +1 -0
  1170. package/build/node_modules/bson/lib/bson/db_ref.js +41 -0
  1171. package/build/node_modules/bson/lib/bson/db_ref.js.map +1 -0
  1172. package/build/node_modules/bson/lib/bson/db_ref.mjs +37 -0
  1173. package/build/node_modules/bson/lib/bson/db_ref.mjs.map +1 -0
  1174. package/build/node_modules/bson/lib/bson/decimal128.js +826 -0
  1175. package/build/node_modules/bson/lib/bson/decimal128.js.map +1 -0
  1176. package/build/node_modules/bson/lib/bson/decimal128.mjs +822 -0
  1177. package/build/node_modules/bson/lib/bson/decimal128.mjs.map +1 -0
  1178. package/build/node_modules/bson/lib/bson/double.js +42 -0
  1179. package/build/node_modules/bson/lib/bson/double.js.map +1 -0
  1180. package/build/node_modules/bson/lib/bson/double.mjs +38 -0
  1181. package/build/node_modules/bson/lib/bson/double.mjs.map +1 -0
  1182. package/build/node_modules/bson/lib/bson/float_parser.js +138 -0
  1183. package/build/node_modules/bson/lib/bson/float_parser.js.map +1 -0
  1184. package/build/node_modules/bson/lib/bson/float_parser.mjs +133 -0
  1185. package/build/node_modules/bson/lib/bson/float_parser.mjs.map +1 -0
  1186. package/build/node_modules/bson/lib/bson/int_32.js +42 -0
  1187. package/build/node_modules/bson/lib/bson/int_32.js.map +1 -0
  1188. package/build/node_modules/bson/lib/bson/int_32.mjs +38 -0
  1189. package/build/node_modules/bson/lib/bson/int_32.mjs.map +1 -0
  1190. package/build/node_modules/bson/lib/bson/long.js +874 -0
  1191. package/build/node_modules/bson/lib/bson/long.js.map +1 -0
  1192. package/build/node_modules/bson/lib/bson/long.mjs +870 -0
  1193. package/build/node_modules/bson/lib/bson/long.mjs.map +1 -0
  1194. package/build/node_modules/bson/lib/bson/map.js +136 -0
  1195. package/build/node_modules/bson/lib/bson/map.js.map +1 -0
  1196. package/build/node_modules/bson/lib/bson/map.mjs +134 -0
  1197. package/build/node_modules/bson/lib/bson/map.mjs.map +1 -0
  1198. package/build/node_modules/bson/lib/bson/max_key.js +23 -0
  1199. package/build/node_modules/bson/lib/bson/max_key.js.map +1 -0
  1200. package/build/node_modules/bson/lib/bson/max_key.mjs +19 -0
  1201. package/build/node_modules/bson/lib/bson/max_key.mjs.map +1 -0
  1202. package/build/node_modules/bson/lib/bson/min_key.js +23 -0
  1203. package/build/node_modules/bson/lib/bson/min_key.js.map +1 -0
  1204. package/build/node_modules/bson/lib/bson/min_key.mjs +19 -0
  1205. package/build/node_modules/bson/lib/bson/min_key.mjs.map +1 -0
  1206. package/build/node_modules/bson/lib/bson/objectid.js +410 -0
  1207. package/build/node_modules/bson/lib/bson/objectid.js.map +1 -0
  1208. package/build/node_modules/bson/lib/bson/objectid.mjs +401 -0
  1209. package/build/node_modules/bson/lib/bson/objectid.mjs.map +1 -0
  1210. package/build/node_modules/bson/lib/bson/parser/calculate_size.js +271 -0
  1211. package/build/node_modules/bson/lib/bson/parser/calculate_size.js.map +1 -0
  1212. package/build/node_modules/bson/lib/bson/parser/calculate_size.mjs +269 -0
  1213. package/build/node_modules/bson/lib/bson/parser/calculate_size.mjs.map +1 -0
  1214. package/build/node_modules/bson/lib/bson/parser/deserializer.js +798 -0
  1215. package/build/node_modules/bson/lib/bson/parser/deserializer.js.map +1 -0
  1216. package/build/node_modules/bson/lib/bson/parser/deserializer.mjs +796 -0
  1217. package/build/node_modules/bson/lib/bson/parser/deserializer.mjs.map +1 -0
  1218. package/build/node_modules/bson/lib/bson/parser/serializer.js +1200 -0
  1219. package/build/node_modules/bson/lib/bson/parser/serializer.js.map +1 -0
  1220. package/build/node_modules/bson/lib/bson/parser/serializer.mjs +1198 -0
  1221. package/build/node_modules/bson/lib/bson/parser/serializer.mjs.map +1 -0
  1222. package/build/node_modules/bson/lib/bson/parser/utils.js +30 -0
  1223. package/build/node_modules/bson/lib/bson/parser/utils.js.map +1 -0
  1224. package/build/node_modules/bson/lib/bson/parser/utils.mjs +28 -0
  1225. package/build/node_modules/bson/lib/bson/parser/utils.mjs.map +1 -0
  1226. package/build/node_modules/bson/lib/bson/regexp.js +42 -0
  1227. package/build/node_modules/bson/lib/bson/regexp.js.map +1 -0
  1228. package/build/node_modules/bson/lib/bson/regexp.mjs +38 -0
  1229. package/build/node_modules/bson/lib/bson/regexp.mjs.map +1 -0
  1230. package/build/node_modules/bson/lib/bson/symbol.js +65 -0
  1231. package/build/node_modules/bson/lib/bson/symbol.js.map +1 -0
  1232. package/build/node_modules/bson/lib/bson/symbol.mjs +57 -0
  1233. package/build/node_modules/bson/lib/bson/symbol.mjs.map +1 -0
  1234. package/build/node_modules/bson/lib/bson/timestamp.js +863 -0
  1235. package/build/node_modules/bson/lib/bson/timestamp.js.map +1 -0
  1236. package/build/node_modules/bson/lib/bson/timestamp.mjs +859 -0
  1237. package/build/node_modules/bson/lib/bson/timestamp.mjs.map +1 -0
  1238. package/build/node_modules/core-util-is/lib/util.js +147 -0
  1239. package/build/node_modules/core-util-is/lib/util.js.map +1 -0
  1240. package/build/node_modules/core-util-is/lib/util.mjs +129 -0
  1241. package/build/node_modules/core-util-is/lib/util.mjs.map +1 -0
  1242. package/build/node_modules/denque/index.js +446 -0
  1243. package/build/node_modules/denque/index.js.map +1 -0
  1244. package/build/node_modules/denque/index.mjs +444 -0
  1245. package/build/node_modules/denque/index.mjs.map +1 -0
  1246. package/build/node_modules/double-ended-queue/js/deque.js +279 -0
  1247. package/build/node_modules/double-ended-queue/js/deque.js.map +1 -0
  1248. package/build/node_modules/double-ended-queue/js/deque.mjs +277 -0
  1249. package/build/node_modules/double-ended-queue/js/deque.mjs.map +1 -0
  1250. package/build/node_modules/inherits/inherits.js +24 -0
  1251. package/build/node_modules/inherits/inherits.js.map +1 -0
  1252. package/build/node_modules/inherits/inherits.mjs +18 -0
  1253. package/build/node_modules/inherits/inherits.mjs.map +1 -0
  1254. package/build/node_modules/inherits/inherits_browser.js +36 -0
  1255. package/build/node_modules/inherits/inherits_browser.js.map +1 -0
  1256. package/build/node_modules/inherits/inherits_browser.mjs +34 -0
  1257. package/build/node_modules/inherits/inherits_browser.mjs.map +1 -0
  1258. package/build/node_modules/isarray/index.js +10 -0
  1259. package/build/node_modules/isarray/index.js.map +1 -0
  1260. package/build/node_modules/isarray/index.mjs +8 -0
  1261. package/build/node_modules/isarray/index.mjs.map +1 -0
  1262. package/build/node_modules/kareem/index.js +514 -0
  1263. package/build/node_modules/kareem/index.js.map +1 -0
  1264. package/build/node_modules/kareem/index.mjs +512 -0
  1265. package/build/node_modules/kareem/index.mjs.map +1 -0
  1266. package/build/node_modules/memory-pager/index.js +165 -0
  1267. package/build/node_modules/memory-pager/index.js.map +1 -0
  1268. package/build/node_modules/memory-pager/index.mjs +163 -0
  1269. package/build/node_modules/memory-pager/index.mjs.map +1 -0
  1270. package/build/node_modules/mongodb/index.js +93 -0
  1271. package/build/node_modules/mongodb/index.js.map +1 -0
  1272. package/build/node_modules/mongodb/index.mjs +91 -0
  1273. package/build/node_modules/mongodb/index.mjs.map +1 -0
  1274. package/build/node_modules/mongodb/lib/admin.js +307 -0
  1275. package/build/node_modules/mongodb/lib/admin.js.map +1 -0
  1276. package/build/node_modules/mongodb/lib/admin.mjs +305 -0
  1277. package/build/node_modules/mongodb/lib/admin.mjs.map +1 -0
  1278. package/build/node_modules/mongodb/lib/aggregation_cursor.js +376 -0
  1279. package/build/node_modules/mongodb/lib/aggregation_cursor.js.map +1 -0
  1280. package/build/node_modules/mongodb/lib/aggregation_cursor.mjs +374 -0
  1281. package/build/node_modules/mongodb/lib/aggregation_cursor.mjs.map +1 -0
  1282. package/build/node_modules/mongodb/lib/apm.js +41 -0
  1283. package/build/node_modules/mongodb/lib/apm.js.map +1 -0
  1284. package/build/node_modules/mongodb/lib/apm.mjs +35 -0
  1285. package/build/node_modules/mongodb/lib/apm.mjs.map +1 -0
  1286. package/build/node_modules/mongodb/lib/async/async_iterator.js +43 -0
  1287. package/build/node_modules/mongodb/lib/async/async_iterator.js.map +1 -0
  1288. package/build/node_modules/mongodb/lib/async/async_iterator.mjs +39 -0
  1289. package/build/node_modules/mongodb/lib/async/async_iterator.mjs.map +1 -0
  1290. package/build/node_modules/mongodb/lib/bulk/common.js +1381 -0
  1291. package/build/node_modules/mongodb/lib/bulk/common.js.map +1 -0
  1292. package/build/node_modules/mongodb/lib/bulk/common.mjs +1379 -0
  1293. package/build/node_modules/mongodb/lib/bulk/common.mjs.map +1 -0
  1294. package/build/node_modules/mongodb/lib/bulk/ordered.js +119 -0
  1295. package/build/node_modules/mongodb/lib/bulk/ordered.js.map +1 -0
  1296. package/build/node_modules/mongodb/lib/bulk/ordered.mjs +115 -0
  1297. package/build/node_modules/mongodb/lib/bulk/ordered.mjs.map +1 -0
  1298. package/build/node_modules/mongodb/lib/bulk/unordered.js +140 -0
  1299. package/build/node_modules/mongodb/lib/bulk/unordered.js.map +1 -0
  1300. package/build/node_modules/mongodb/lib/bulk/unordered.mjs +136 -0
  1301. package/build/node_modules/mongodb/lib/bulk/unordered.mjs.map +1 -0
  1302. package/build/node_modules/mongodb/lib/change_stream.js +640 -0
  1303. package/build/node_modules/mongodb/lib/change_stream.js.map +1 -0
  1304. package/build/node_modules/mongodb/lib/change_stream.mjs +634 -0
  1305. package/build/node_modules/mongodb/lib/change_stream.mjs.map +1 -0
  1306. package/build/node_modules/mongodb/lib/cmap/connection.js +404 -0
  1307. package/build/node_modules/mongodb/lib/cmap/connection.js.map +1 -0
  1308. package/build/node_modules/mongodb/lib/cmap/connection.mjs +398 -0
  1309. package/build/node_modules/mongodb/lib/cmap/connection.mjs.map +1 -0
  1310. package/build/node_modules/mongodb/lib/cmap/connection_pool.js +608 -0
  1311. package/build/node_modules/mongodb/lib/cmap/connection_pool.js.map +1 -0
  1312. package/build/node_modules/mongodb/lib/cmap/connection_pool.mjs +602 -0
  1313. package/build/node_modules/mongodb/lib/cmap/connection_pool.mjs.map +1 -0
  1314. package/build/node_modules/mongodb/lib/cmap/errors.js +41 -0
  1315. package/build/node_modules/mongodb/lib/cmap/errors.js.map +1 -0
  1316. package/build/node_modules/mongodb/lib/cmap/errors.mjs +39 -0
  1317. package/build/node_modules/mongodb/lib/cmap/errors.mjs.map +1 -0
  1318. package/build/node_modules/mongodb/lib/cmap/events.js +157 -0
  1319. package/build/node_modules/mongodb/lib/cmap/events.js.map +1 -0
  1320. package/build/node_modules/mongodb/lib/cmap/events.mjs +155 -0
  1321. package/build/node_modules/mongodb/lib/cmap/events.mjs.map +1 -0
  1322. package/build/node_modules/mongodb/lib/cmap/message_stream.js +211 -0
  1323. package/build/node_modules/mongodb/lib/cmap/message_stream.js.map +1 -0
  1324. package/build/node_modules/mongodb/lib/cmap/message_stream.mjs +205 -0
  1325. package/build/node_modules/mongodb/lib/cmap/message_stream.mjs.map +1 -0
  1326. package/build/node_modules/mongodb/lib/cmap/stream_description.js +51 -0
  1327. package/build/node_modules/mongodb/lib/cmap/stream_description.js.map +1 -0
  1328. package/build/node_modules/mongodb/lib/cmap/stream_description.mjs +49 -0
  1329. package/build/node_modules/mongodb/lib/cmap/stream_description.mjs.map +1 -0
  1330. package/build/node_modules/mongodb/lib/collection.js +2294 -0
  1331. package/build/node_modules/mongodb/lib/collection.js.map +1 -0
  1332. package/build/node_modules/mongodb/lib/collection.mjs +2288 -0
  1333. package/build/node_modules/mongodb/lib/collection.mjs.map +1 -0
  1334. package/build/node_modules/mongodb/lib/command_cursor.js +276 -0
  1335. package/build/node_modules/mongodb/lib/command_cursor.js.map +1 -0
  1336. package/build/node_modules/mongodb/lib/command_cursor.mjs +274 -0
  1337. package/build/node_modules/mongodb/lib/command_cursor.mjs.map +1 -0
  1338. package/build/node_modules/mongodb/lib/constants.js +13 -0
  1339. package/build/node_modules/mongodb/lib/constants.js.map +1 -0
  1340. package/build/node_modules/mongodb/lib/constants.mjs +11 -0
  1341. package/build/node_modules/mongodb/lib/constants.mjs.map +1 -0
  1342. package/build/node_modules/mongodb/lib/core/auth/auth_provider.js +58 -0
  1343. package/build/node_modules/mongodb/lib/core/auth/auth_provider.js.map +1 -0
  1344. package/build/node_modules/mongodb/lib/core/auth/auth_provider.mjs +56 -0
  1345. package/build/node_modules/mongodb/lib/core/auth/auth_provider.mjs.map +1 -0
  1346. package/build/node_modules/mongodb/lib/core/auth/defaultAuthProviders.js +35 -0
  1347. package/build/node_modules/mongodb/lib/core/auth/defaultAuthProviders.js.map +1 -0
  1348. package/build/node_modules/mongodb/lib/core/auth/defaultAuthProviders.mjs +33 -0
  1349. package/build/node_modules/mongodb/lib/core/auth/defaultAuthProviders.mjs.map +1 -0
  1350. package/build/node_modules/mongodb/lib/core/auth/gssapi.js +162 -0
  1351. package/build/node_modules/mongodb/lib/core/auth/gssapi.js.map +1 -0
  1352. package/build/node_modules/mongodb/lib/core/auth/gssapi.mjs +156 -0
  1353. package/build/node_modules/mongodb/lib/core/auth/gssapi.mjs.map +1 -0
  1354. package/build/node_modules/mongodb/lib/core/auth/mongo_credentials.js +110 -0
  1355. package/build/node_modules/mongodb/lib/core/auth/mongo_credentials.js.map +1 -0
  1356. package/build/node_modules/mongodb/lib/core/auth/mongo_credentials.mjs +108 -0
  1357. package/build/node_modules/mongodb/lib/core/auth/mongo_credentials.mjs.map +1 -0
  1358. package/build/node_modules/mongodb/lib/core/auth/mongocr.js +54 -0
  1359. package/build/node_modules/mongodb/lib/core/auth/mongocr.js.map +1 -0
  1360. package/build/node_modules/mongodb/lib/core/auth/mongocr.mjs +48 -0
  1361. package/build/node_modules/mongodb/lib/core/auth/mongocr.mjs.map +1 -0
  1362. package/build/node_modules/mongodb/lib/core/auth/mongodb_aws.js +275 -0
  1363. package/build/node_modules/mongodb/lib/core/auth/mongodb_aws.js.map +1 -0
  1364. package/build/node_modules/mongodb/lib/core/auth/mongodb_aws.mjs +267 -0
  1365. package/build/node_modules/mongodb/lib/core/auth/mongodb_aws.mjs.map +1 -0
  1366. package/build/node_modules/mongodb/lib/core/auth/plain.js +35 -0
  1367. package/build/node_modules/mongodb/lib/core/auth/plain.js.map +1 -0
  1368. package/build/node_modules/mongodb/lib/core/auth/plain.mjs +33 -0
  1369. package/build/node_modules/mongodb/lib/core/auth/plain.mjs.map +1 -0
  1370. package/build/node_modules/mongodb/lib/core/auth/scram.js +362 -0
  1371. package/build/node_modules/mongodb/lib/core/auth/scram.js.map +1 -0
  1372. package/build/node_modules/mongodb/lib/core/auth/scram.mjs +356 -0
  1373. package/build/node_modules/mongodb/lib/core/auth/scram.mjs.map +1 -0
  1374. package/build/node_modules/mongodb/lib/core/auth/x509.js +41 -0
  1375. package/build/node_modules/mongodb/lib/core/auth/x509.js.map +1 -0
  1376. package/build/node_modules/mongodb/lib/core/auth/x509.mjs +39 -0
  1377. package/build/node_modules/mongodb/lib/core/auth/x509.mjs.map +1 -0
  1378. package/build/node_modules/mongodb/lib/core/connection/apm.js +259 -0
  1379. package/build/node_modules/mongodb/lib/core/connection/apm.js.map +1 -0
  1380. package/build/node_modules/mongodb/lib/core/connection/apm.mjs +257 -0
  1381. package/build/node_modules/mongodb/lib/core/connection/apm.mjs.map +1 -0
  1382. package/build/node_modules/mongodb/lib/core/connection/command_result.js +39 -0
  1383. package/build/node_modules/mongodb/lib/core/connection/command_result.js.map +1 -0
  1384. package/build/node_modules/mongodb/lib/core/connection/command_result.mjs +37 -0
  1385. package/build/node_modules/mongodb/lib/core/connection/command_result.mjs.map +1 -0
  1386. package/build/node_modules/mongodb/lib/core/connection/commands.js +514 -0
  1387. package/build/node_modules/mongodb/lib/core/connection/commands.js.map +1 -0
  1388. package/build/node_modules/mongodb/lib/core/connection/commands.mjs +512 -0
  1389. package/build/node_modules/mongodb/lib/core/connection/commands.mjs.map +1 -0
  1390. package/build/node_modules/mongodb/lib/core/connection/connect.js +367 -0
  1391. package/build/node_modules/mongodb/lib/core/connection/connect.js.map +1 -0
  1392. package/build/node_modules/mongodb/lib/core/connection/connect.mjs +360 -0
  1393. package/build/node_modules/mongodb/lib/core/connection/connect.mjs.map +1 -0
  1394. package/build/node_modules/mongodb/lib/core/connection/connection.js +731 -0
  1395. package/build/node_modules/mongodb/lib/core/connection/connection.js.map +1 -0
  1396. package/build/node_modules/mongodb/lib/core/connection/connection.mjs +724 -0
  1397. package/build/node_modules/mongodb/lib/core/connection/connection.mjs.map +1 -0
  1398. package/build/node_modules/mongodb/lib/core/connection/logger.js +262 -0
  1399. package/build/node_modules/mongodb/lib/core/connection/logger.js.map +1 -0
  1400. package/build/node_modules/mongodb/lib/core/connection/logger.mjs +256 -0
  1401. package/build/node_modules/mongodb/lib/core/connection/logger.mjs.map +1 -0
  1402. package/build/node_modules/mongodb/lib/core/connection/msg.js +232 -0
  1403. package/build/node_modules/mongodb/lib/core/connection/msg.js.map +1 -0
  1404. package/build/node_modules/mongodb/lib/core/connection/msg.mjs +230 -0
  1405. package/build/node_modules/mongodb/lib/core/connection/msg.mjs.map +1 -0
  1406. package/build/node_modules/mongodb/lib/core/connection/pool.js +1304 -0
  1407. package/build/node_modules/mongodb/lib/core/connection/pool.js.map +1 -0
  1408. package/build/node_modules/mongodb/lib/core/connection/pool.mjs +1297 -0
  1409. package/build/node_modules/mongodb/lib/core/connection/pool.mjs.map +1 -0
  1410. package/build/node_modules/mongodb/lib/core/connection/utils.js +59 -0
  1411. package/build/node_modules/mongodb/lib/core/connection/utils.js.map +1 -0
  1412. package/build/node_modules/mongodb/lib/core/connection/utils.mjs +57 -0
  1413. package/build/node_modules/mongodb/lib/core/connection/utils.mjs.map +1 -0
  1414. package/build/node_modules/mongodb/lib/core/cursor.js +891 -0
  1415. package/build/node_modules/mongodb/lib/core/cursor.js.map +1 -0
  1416. package/build/node_modules/mongodb/lib/core/cursor.mjs +885 -0
  1417. package/build/node_modules/mongodb/lib/core/cursor.mjs.map +1 -0
  1418. package/build/node_modules/mongodb/lib/core/error.js +354 -0
  1419. package/build/node_modules/mongodb/lib/core/error.js.map +1 -0
  1420. package/build/node_modules/mongodb/lib/core/error.mjs +352 -0
  1421. package/build/node_modules/mongodb/lib/core/error.mjs.map +1 -0
  1422. package/build/node_modules/mongodb/lib/core/index.js +77 -0
  1423. package/build/node_modules/mongodb/lib/core/index.js.map +1 -0
  1424. package/build/node_modules/mongodb/lib/core/index.mjs +75 -0
  1425. package/build/node_modules/mongodb/lib/core/index.mjs.map +1 -0
  1426. package/build/node_modules/mongodb/lib/core/sdam/common.js +70 -0
  1427. package/build/node_modules/mongodb/lib/core/sdam/common.js.map +1 -0
  1428. package/build/node_modules/mongodb/lib/core/sdam/common.mjs +68 -0
  1429. package/build/node_modules/mongodb/lib/core/sdam/common.mjs.map +1 -0
  1430. package/build/node_modules/mongodb/lib/core/sdam/events.js +127 -0
  1431. package/build/node_modules/mongodb/lib/core/sdam/events.js.map +1 -0
  1432. package/build/node_modules/mongodb/lib/core/sdam/events.mjs +125 -0
  1433. package/build/node_modules/mongodb/lib/core/sdam/events.mjs.map +1 -0
  1434. package/build/node_modules/mongodb/lib/core/sdam/monitor.js +430 -0
  1435. package/build/node_modules/mongodb/lib/core/sdam/monitor.js.map +1 -0
  1436. package/build/node_modules/mongodb/lib/core/sdam/monitor.mjs +424 -0
  1437. package/build/node_modules/mongodb/lib/core/sdam/monitor.mjs.map +1 -0
  1438. package/build/node_modules/mongodb/lib/core/sdam/server.js +584 -0
  1439. package/build/node_modules/mongodb/lib/core/sdam/server.js.map +1 -0
  1440. package/build/node_modules/mongodb/lib/core/sdam/server.mjs +578 -0
  1441. package/build/node_modules/mongodb/lib/core/sdam/server.mjs.map +1 -0
  1442. package/build/node_modules/mongodb/lib/core/sdam/server_description.js +234 -0
  1443. package/build/node_modules/mongodb/lib/core/sdam/server_description.js.map +1 -0
  1444. package/build/node_modules/mongodb/lib/core/sdam/server_description.mjs +232 -0
  1445. package/build/node_modules/mongodb/lib/core/sdam/server_description.mjs.map +1 -0
  1446. package/build/node_modules/mongodb/lib/core/sdam/server_selection.js +246 -0
  1447. package/build/node_modules/mongodb/lib/core/sdam/server_selection.js.map +1 -0
  1448. package/build/node_modules/mongodb/lib/core/sdam/server_selection.mjs +244 -0
  1449. package/build/node_modules/mongodb/lib/core/sdam/server_selection.mjs.map +1 -0
  1450. package/build/node_modules/mongodb/lib/core/sdam/srv_polling.js +155 -0
  1451. package/build/node_modules/mongodb/lib/core/sdam/srv_polling.js.map +1 -0
  1452. package/build/node_modules/mongodb/lib/core/sdam/srv_polling.mjs +145 -0
  1453. package/build/node_modules/mongodb/lib/core/sdam/srv_polling.mjs.map +1 -0
  1454. package/build/node_modules/mongodb/lib/core/sdam/topology.js +1170 -0
  1455. package/build/node_modules/mongodb/lib/core/sdam/topology.js.map +1 -0
  1456. package/build/node_modules/mongodb/lib/core/sdam/topology.mjs +1163 -0
  1457. package/build/node_modules/mongodb/lib/core/sdam/topology.mjs.map +1 -0
  1458. package/build/node_modules/mongodb/lib/core/sdam/topology_description.js +468 -0
  1459. package/build/node_modules/mongodb/lib/core/sdam/topology_description.js.map +1 -0
  1460. package/build/node_modules/mongodb/lib/core/sdam/topology_description.mjs +466 -0
  1461. package/build/node_modules/mongodb/lib/core/sdam/topology_description.mjs.map +1 -0
  1462. package/build/node_modules/mongodb/lib/core/sessions.js +797 -0
  1463. package/build/node_modules/mongodb/lib/core/sessions.js.map +1 -0
  1464. package/build/node_modules/mongodb/lib/core/sessions.mjs +791 -0
  1465. package/build/node_modules/mongodb/lib/core/sessions.mjs.map +1 -0
  1466. package/build/node_modules/mongodb/lib/core/topologies/mongos.js +1415 -0
  1467. package/build/node_modules/mongodb/lib/core/topologies/mongos.js.map +1 -0
  1468. package/build/node_modules/mongodb/lib/core/topologies/mongos.mjs +1408 -0
  1469. package/build/node_modules/mongodb/lib/core/topologies/mongos.mjs.map +1 -0
  1470. package/build/node_modules/mongodb/lib/core/topologies/read_preference.js +273 -0
  1471. package/build/node_modules/mongodb/lib/core/topologies/read_preference.js.map +1 -0
  1472. package/build/node_modules/mongodb/lib/core/topologies/read_preference.mjs +271 -0
  1473. package/build/node_modules/mongodb/lib/core/topologies/read_preference.mjs.map +1 -0
  1474. package/build/node_modules/mongodb/lib/core/topologies/replset.js +1586 -0
  1475. package/build/node_modules/mongodb/lib/core/topologies/replset.js.map +1 -0
  1476. package/build/node_modules/mongodb/lib/core/topologies/replset.mjs +1579 -0
  1477. package/build/node_modules/mongodb/lib/core/topologies/replset.mjs.map +1 -0
  1478. package/build/node_modules/mongodb/lib/core/topologies/replset_state.js +1135 -0
  1479. package/build/node_modules/mongodb/lib/core/topologies/replset_state.js.map +1 -0
  1480. package/build/node_modules/mongodb/lib/core/topologies/replset_state.mjs +1128 -0
  1481. package/build/node_modules/mongodb/lib/core/topologies/replset_state.mjs.map +1 -0
  1482. package/build/node_modules/mongodb/lib/core/topologies/server.js +1006 -0
  1483. package/build/node_modules/mongodb/lib/core/topologies/server.js.map +1 -0
  1484. package/build/node_modules/mongodb/lib/core/topologies/server.mjs +999 -0
  1485. package/build/node_modules/mongodb/lib/core/topologies/server.mjs.map +1 -0
  1486. package/build/node_modules/mongodb/lib/core/topologies/shared.js +464 -0
  1487. package/build/node_modules/mongodb/lib/core/topologies/shared.js.map +1 -0
  1488. package/build/node_modules/mongodb/lib/core/topologies/shared.mjs +462 -0
  1489. package/build/node_modules/mongodb/lib/core/topologies/shared.mjs.map +1 -0
  1490. package/build/node_modules/mongodb/lib/core/transactions.js +188 -0
  1491. package/build/node_modules/mongodb/lib/core/transactions.js.map +1 -0
  1492. package/build/node_modules/mongodb/lib/core/transactions.mjs +186 -0
  1493. package/build/node_modules/mongodb/lib/core/transactions.mjs.map +1 -0
  1494. package/build/node_modules/mongodb/lib/core/uri_parser.js +745 -0
  1495. package/build/node_modules/mongodb/lib/core/uri_parser.js.map +1 -0
  1496. package/build/node_modules/mongodb/lib/core/uri_parser.mjs +737 -0
  1497. package/build/node_modules/mongodb/lib/core/uri_parser.mjs.map +1 -0
  1498. package/build/node_modules/mongodb/lib/core/utils.js +307 -0
  1499. package/build/node_modules/mongodb/lib/core/utils.js.map +1 -0
  1500. package/build/node_modules/mongodb/lib/core/utils.mjs +300 -0
  1501. package/build/node_modules/mongodb/lib/core/utils.mjs.map +1 -0
  1502. package/build/node_modules/mongodb/lib/core/wireprotocol/command.js +193 -0
  1503. package/build/node_modules/mongodb/lib/core/wireprotocol/command.js.map +1 -0
  1504. package/build/node_modules/mongodb/lib/core/wireprotocol/command.mjs +191 -0
  1505. package/build/node_modules/mongodb/lib/core/wireprotocol/command.mjs.map +1 -0
  1506. package/build/node_modules/mongodb/lib/core/wireprotocol/compression.js +83 -0
  1507. package/build/node_modules/mongodb/lib/core/wireprotocol/compression.js.map +1 -0
  1508. package/build/node_modules/mongodb/lib/core/wireprotocol/compression.mjs +77 -0
  1509. package/build/node_modules/mongodb/lib/core/wireprotocol/compression.mjs.map +1 -0
  1510. package/build/node_modules/mongodb/lib/core/wireprotocol/constants.js +16 -0
  1511. package/build/node_modules/mongodb/lib/core/wireprotocol/constants.js.map +1 -0
  1512. package/build/node_modules/mongodb/lib/core/wireprotocol/constants.mjs +14 -0
  1513. package/build/node_modules/mongodb/lib/core/wireprotocol/constants.mjs.map +1 -0
  1514. package/build/node_modules/mongodb/lib/core/wireprotocol/get_more.js +105 -0
  1515. package/build/node_modules/mongodb/lib/core/wireprotocol/get_more.js.map +1 -0
  1516. package/build/node_modules/mongodb/lib/core/wireprotocol/get_more.mjs +103 -0
  1517. package/build/node_modules/mongodb/lib/core/wireprotocol/get_more.mjs.map +1 -0
  1518. package/build/node_modules/mongodb/lib/core/wireprotocol/index.js +26 -0
  1519. package/build/node_modules/mongodb/lib/core/wireprotocol/index.js.map +1 -0
  1520. package/build/node_modules/mongodb/lib/core/wireprotocol/index.mjs +24 -0
  1521. package/build/node_modules/mongodb/lib/core/wireprotocol/index.mjs.map +1 -0
  1522. package/build/node_modules/mongodb/lib/core/wireprotocol/kill_cursors.js +80 -0
  1523. package/build/node_modules/mongodb/lib/core/wireprotocol/kill_cursors.js.map +1 -0
  1524. package/build/node_modules/mongodb/lib/core/wireprotocol/kill_cursors.mjs +78 -0
  1525. package/build/node_modules/mongodb/lib/core/wireprotocol/kill_cursors.mjs.map +1 -0
  1526. package/build/node_modules/mongodb/lib/core/wireprotocol/query.js +247 -0
  1527. package/build/node_modules/mongodb/lib/core/wireprotocol/query.js.map +1 -0
  1528. package/build/node_modules/mongodb/lib/core/wireprotocol/query.mjs +245 -0
  1529. package/build/node_modules/mongodb/lib/core/wireprotocol/query.mjs.map +1 -0
  1530. package/build/node_modules/mongodb/lib/core/wireprotocol/shared.js +122 -0
  1531. package/build/node_modules/mongodb/lib/core/wireprotocol/shared.js.map +1 -0
  1532. package/build/node_modules/mongodb/lib/core/wireprotocol/shared.mjs +120 -0
  1533. package/build/node_modules/mongodb/lib/core/wireprotocol/shared.mjs.map +1 -0
  1534. package/build/node_modules/mongodb/lib/core/wireprotocol/write_command.js +68 -0
  1535. package/build/node_modules/mongodb/lib/core/wireprotocol/write_command.js.map +1 -0
  1536. package/build/node_modules/mongodb/lib/core/wireprotocol/write_command.mjs +66 -0
  1537. package/build/node_modules/mongodb/lib/core/wireprotocol/write_command.mjs.map +1 -0
  1538. package/build/node_modules/mongodb/lib/cursor.js +1156 -0
  1539. package/build/node_modules/mongodb/lib/cursor.js.map +1 -0
  1540. package/build/node_modules/mongodb/lib/cursor.mjs +1149 -0
  1541. package/build/node_modules/mongodb/lib/cursor.mjs.map +1 -0
  1542. package/build/node_modules/mongodb/lib/db.js +1092 -0
  1543. package/build/node_modules/mongodb/lib/db.js.map +1 -0
  1544. package/build/node_modules/mongodb/lib/db.mjs +1085 -0
  1545. package/build/node_modules/mongodb/lib/db.mjs.map +1 -0
  1546. package/build/node_modules/mongodb/lib/dynamic_loaders.js +39 -0
  1547. package/build/node_modules/mongodb/lib/dynamic_loaders.js.map +1 -0
  1548. package/build/node_modules/mongodb/lib/dynamic_loaders.mjs +37 -0
  1549. package/build/node_modules/mongodb/lib/dynamic_loaders.mjs.map +1 -0
  1550. package/build/node_modules/mongodb/lib/encrypter.js +176 -0
  1551. package/build/node_modules/mongodb/lib/encrypter.js.map +1 -0
  1552. package/build/node_modules/mongodb/lib/encrypter.mjs +170 -0
  1553. package/build/node_modules/mongodb/lib/encrypter.mjs.map +1 -0
  1554. package/build/node_modules/mongodb/lib/error.js +48 -0
  1555. package/build/node_modules/mongodb/lib/error.js.map +1 -0
  1556. package/build/node_modules/mongodb/lib/error.mjs +46 -0
  1557. package/build/node_modules/mongodb/lib/error.mjs.map +1 -0
  1558. package/build/node_modules/mongodb/lib/explain.js +60 -0
  1559. package/build/node_modules/mongodb/lib/explain.js.map +1 -0
  1560. package/build/node_modules/mongodb/lib/explain.mjs +58 -0
  1561. package/build/node_modules/mongodb/lib/explain.mjs.map +1 -0
  1562. package/build/node_modules/mongodb/lib/gridfs/chunk.js +242 -0
  1563. package/build/node_modules/mongodb/lib/gridfs/chunk.js.map +1 -0
  1564. package/build/node_modules/mongodb/lib/gridfs/chunk.mjs +240 -0
  1565. package/build/node_modules/mongodb/lib/gridfs/chunk.mjs.map +1 -0
  1566. package/build/node_modules/mongodb/lib/gridfs/grid_store.js +1940 -0
  1567. package/build/node_modules/mongodb/lib/gridfs/grid_store.js.map +1 -0
  1568. package/build/node_modules/mongodb/lib/gridfs/grid_store.mjs +1932 -0
  1569. package/build/node_modules/mongodb/lib/gridfs/grid_store.mjs.map +1 -0
  1570. package/build/node_modules/mongodb/lib/gridfs-stream/download.js +441 -0
  1571. package/build/node_modules/mongodb/lib/gridfs-stream/download.js.map +1 -0
  1572. package/build/node_modules/mongodb/lib/gridfs-stream/download.mjs +434 -0
  1573. package/build/node_modules/mongodb/lib/gridfs-stream/download.mjs.map +1 -0
  1574. package/build/node_modules/mongodb/lib/gridfs-stream/index.js +366 -0
  1575. package/build/node_modules/mongodb/lib/gridfs-stream/index.js.map +1 -0
  1576. package/build/node_modules/mongodb/lib/gridfs-stream/index.mjs +359 -0
  1577. package/build/node_modules/mongodb/lib/gridfs-stream/index.mjs.map +1 -0
  1578. package/build/node_modules/mongodb/lib/gridfs-stream/upload.js +552 -0
  1579. package/build/node_modules/mongodb/lib/gridfs-stream/upload.js.map +1 -0
  1580. package/build/node_modules/mongodb/lib/gridfs-stream/upload.mjs +544 -0
  1581. package/build/node_modules/mongodb/lib/gridfs-stream/upload.mjs.map +1 -0
  1582. package/build/node_modules/mongodb/lib/mongo_client.js +514 -0
  1583. package/build/node_modules/mongodb/lib/mongo_client.js.map +1 -0
  1584. package/build/node_modules/mongodb/lib/mongo_client.mjs +507 -0
  1585. package/build/node_modules/mongodb/lib/mongo_client.mjs.map +1 -0
  1586. package/build/node_modules/mongodb/lib/operations/add_user.js +111 -0
  1587. package/build/node_modules/mongodb/lib/operations/add_user.js.map +1 -0
  1588. package/build/node_modules/mongodb/lib/operations/add_user.mjs +105 -0
  1589. package/build/node_modules/mongodb/lib/operations/add_user.mjs.map +1 -0
  1590. package/build/node_modules/mongodb/lib/operations/aggregate.js +111 -0
  1591. package/build/node_modules/mongodb/lib/operations/aggregate.js.map +1 -0
  1592. package/build/node_modules/mongodb/lib/operations/aggregate.mjs +109 -0
  1593. package/build/node_modules/mongodb/lib/operations/aggregate.mjs.map +1 -0
  1594. package/build/node_modules/mongodb/lib/operations/bulk_write.js +103 -0
  1595. package/build/node_modules/mongodb/lib/operations/bulk_write.js.map +1 -0
  1596. package/build/node_modules/mongodb/lib/operations/bulk_write.mjs +101 -0
  1597. package/build/node_modules/mongodb/lib/operations/bulk_write.mjs.map +1 -0
  1598. package/build/node_modules/mongodb/lib/operations/collection_ops.js +361 -0
  1599. package/build/node_modules/mongodb/lib/operations/collection_ops.js.map +1 -0
  1600. package/build/node_modules/mongodb/lib/operations/collection_ops.mjs +359 -0
  1601. package/build/node_modules/mongodb/lib/operations/collection_ops.mjs.map +1 -0
  1602. package/build/node_modules/mongodb/lib/operations/collections.js +62 -0
  1603. package/build/node_modules/mongodb/lib/operations/collections.js.map +1 -0
  1604. package/build/node_modules/mongodb/lib/operations/collections.mjs +60 -0
  1605. package/build/node_modules/mongodb/lib/operations/collections.mjs.map +1 -0
  1606. package/build/node_modules/mongodb/lib/operations/command.js +126 -0
  1607. package/build/node_modules/mongodb/lib/operations/command.js.map +1 -0
  1608. package/build/node_modules/mongodb/lib/operations/command.mjs +124 -0
  1609. package/build/node_modules/mongodb/lib/operations/command.mjs.map +1 -0
  1610. package/build/node_modules/mongodb/lib/operations/command_v2.js +131 -0
  1611. package/build/node_modules/mongodb/lib/operations/command_v2.js.map +1 -0
  1612. package/build/node_modules/mongodb/lib/operations/command_v2.mjs +129 -0
  1613. package/build/node_modules/mongodb/lib/operations/command_v2.mjs.map +1 -0
  1614. package/build/node_modules/mongodb/lib/operations/common_functions.js +408 -0
  1615. package/build/node_modules/mongodb/lib/operations/common_functions.js.map +1 -0
  1616. package/build/node_modules/mongodb/lib/operations/common_functions.mjs +406 -0
  1617. package/build/node_modules/mongodb/lib/operations/common_functions.mjs.map +1 -0
  1618. package/build/node_modules/mongodb/lib/operations/connect.js +805 -0
  1619. package/build/node_modules/mongodb/lib/operations/connect.js.map +1 -0
  1620. package/build/node_modules/mongodb/lib/operations/connect.mjs +798 -0
  1621. package/build/node_modules/mongodb/lib/operations/connect.mjs.map +1 -0
  1622. package/build/node_modules/mongodb/lib/operations/count.js +74 -0
  1623. package/build/node_modules/mongodb/lib/operations/count.js.map +1 -0
  1624. package/build/node_modules/mongodb/lib/operations/count.mjs +72 -0
  1625. package/build/node_modules/mongodb/lib/operations/count.mjs.map +1 -0
  1626. package/build/node_modules/mongodb/lib/operations/count_documents.js +44 -0
  1627. package/build/node_modules/mongodb/lib/operations/count_documents.js.map +1 -0
  1628. package/build/node_modules/mongodb/lib/operations/count_documents.mjs +42 -0
  1629. package/build/node_modules/mongodb/lib/operations/count_documents.mjs.map +1 -0
  1630. package/build/node_modules/mongodb/lib/operations/create_collection.js +111 -0
  1631. package/build/node_modules/mongodb/lib/operations/create_collection.js.map +1 -0
  1632. package/build/node_modules/mongodb/lib/operations/create_collection.mjs +109 -0
  1633. package/build/node_modules/mongodb/lib/operations/create_collection.mjs.map +1 -0
  1634. package/build/node_modules/mongodb/lib/operations/create_indexes.js +146 -0
  1635. package/build/node_modules/mongodb/lib/operations/create_indexes.js.map +1 -0
  1636. package/build/node_modules/mongodb/lib/operations/create_indexes.mjs +144 -0
  1637. package/build/node_modules/mongodb/lib/operations/create_indexes.mjs.map +1 -0
  1638. package/build/node_modules/mongodb/lib/operations/cursor_ops.js +175 -0
  1639. package/build/node_modules/mongodb/lib/operations/cursor_ops.js.map +1 -0
  1640. package/build/node_modules/mongodb/lib/operations/cursor_ops.mjs +173 -0
  1641. package/build/node_modules/mongodb/lib/operations/cursor_ops.mjs.map +1 -0
  1642. package/build/node_modules/mongodb/lib/operations/db_ops.js +474 -0
  1643. package/build/node_modules/mongodb/lib/operations/db_ops.js.map +1 -0
  1644. package/build/node_modules/mongodb/lib/operations/db_ops.mjs +472 -0
  1645. package/build/node_modules/mongodb/lib/operations/db_ops.mjs.map +1 -0
  1646. package/build/node_modules/mongodb/lib/operations/delete_many.js +44 -0
  1647. package/build/node_modules/mongodb/lib/operations/delete_many.js.map +1 -0
  1648. package/build/node_modules/mongodb/lib/operations/delete_many.mjs +42 -0
  1649. package/build/node_modules/mongodb/lib/operations/delete_many.mjs.map +1 -0
  1650. package/build/node_modules/mongodb/lib/operations/delete_one.js +44 -0
  1651. package/build/node_modules/mongodb/lib/operations/delete_one.js.map +1 -0
  1652. package/build/node_modules/mongodb/lib/operations/delete_one.mjs +42 -0
  1653. package/build/node_modules/mongodb/lib/operations/delete_one.mjs.map +1 -0
  1654. package/build/node_modules/mongodb/lib/operations/distinct.js +102 -0
  1655. package/build/node_modules/mongodb/lib/operations/distinct.js.map +1 -0
  1656. package/build/node_modules/mongodb/lib/operations/distinct.mjs +100 -0
  1657. package/build/node_modules/mongodb/lib/operations/distinct.mjs.map +1 -0
  1658. package/build/node_modules/mongodb/lib/operations/drop.js +60 -0
  1659. package/build/node_modules/mongodb/lib/operations/drop.js.map +1 -0
  1660. package/build/node_modules/mongodb/lib/operations/drop.mjs +58 -0
  1661. package/build/node_modules/mongodb/lib/operations/drop.mjs.map +1 -0
  1662. package/build/node_modules/mongodb/lib/operations/drop_index.js +49 -0
  1663. package/build/node_modules/mongodb/lib/operations/drop_index.js.map +1 -0
  1664. package/build/node_modules/mongodb/lib/operations/drop_index.mjs +47 -0
  1665. package/build/node_modules/mongodb/lib/operations/drop_index.mjs.map +1 -0
  1666. package/build/node_modules/mongodb/lib/operations/drop_indexes.js +30 -0
  1667. package/build/node_modules/mongodb/lib/operations/drop_indexes.js.map +1 -0
  1668. package/build/node_modules/mongodb/lib/operations/drop_indexes.mjs +28 -0
  1669. package/build/node_modules/mongodb/lib/operations/drop_indexes.mjs.map +1 -0
  1670. package/build/node_modules/mongodb/lib/operations/estimated_document_count.js +64 -0
  1671. package/build/node_modules/mongodb/lib/operations/estimated_document_count.js.map +1 -0
  1672. package/build/node_modules/mongodb/lib/operations/estimated_document_count.mjs +62 -0
  1673. package/build/node_modules/mongodb/lib/operations/estimated_document_count.mjs.map +1 -0
  1674. package/build/node_modules/mongodb/lib/operations/execute_db_admin_command.js +41 -0
  1675. package/build/node_modules/mongodb/lib/operations/execute_db_admin_command.js.map +1 -0
  1676. package/build/node_modules/mongodb/lib/operations/execute_db_admin_command.mjs +39 -0
  1677. package/build/node_modules/mongodb/lib/operations/execute_db_admin_command.mjs.map +1 -0
  1678. package/build/node_modules/mongodb/lib/operations/execute_operation.js +173 -0
  1679. package/build/node_modules/mongodb/lib/operations/execute_operation.js.map +1 -0
  1680. package/build/node_modules/mongodb/lib/operations/execute_operation.mjs +171 -0
  1681. package/build/node_modules/mongodb/lib/operations/execute_operation.mjs.map +1 -0
  1682. package/build/node_modules/mongodb/lib/operations/find.js +57 -0
  1683. package/build/node_modules/mongodb/lib/operations/find.js.map +1 -0
  1684. package/build/node_modules/mongodb/lib/operations/find.mjs +55 -0
  1685. package/build/node_modules/mongodb/lib/operations/find.mjs.map +1 -0
  1686. package/build/node_modules/mongodb/lib/operations/find_and_modify.js +138 -0
  1687. package/build/node_modules/mongodb/lib/operations/find_and_modify.js.map +1 -0
  1688. package/build/node_modules/mongodb/lib/operations/find_and_modify.mjs +136 -0
  1689. package/build/node_modules/mongodb/lib/operations/find_and_modify.mjs.map +1 -0
  1690. package/build/node_modules/mongodb/lib/operations/find_one.js +47 -0
  1691. package/build/node_modules/mongodb/lib/operations/find_one.js.map +1 -0
  1692. package/build/node_modules/mongodb/lib/operations/find_one.mjs +45 -0
  1693. package/build/node_modules/mongodb/lib/operations/find_one.mjs.map +1 -0
  1694. package/build/node_modules/mongodb/lib/operations/find_one_and_delete.js +24 -0
  1695. package/build/node_modules/mongodb/lib/operations/find_one_and_delete.js.map +1 -0
  1696. package/build/node_modules/mongodb/lib/operations/find_one_and_delete.mjs +22 -0
  1697. package/build/node_modules/mongodb/lib/operations/find_one_and_delete.mjs.map +1 -0
  1698. package/build/node_modules/mongodb/lib/operations/find_one_and_replace.js +44 -0
  1699. package/build/node_modules/mongodb/lib/operations/find_one_and_replace.js.map +1 -0
  1700. package/build/node_modules/mongodb/lib/operations/find_one_and_replace.mjs +42 -0
  1701. package/build/node_modules/mongodb/lib/operations/find_one_and_replace.mjs.map +1 -0
  1702. package/build/node_modules/mongodb/lib/operations/find_one_and_update.js +44 -0
  1703. package/build/node_modules/mongodb/lib/operations/find_one_and_update.js.map +1 -0
  1704. package/build/node_modules/mongodb/lib/operations/find_one_and_update.mjs +42 -0
  1705. package/build/node_modules/mongodb/lib/operations/find_one_and_update.mjs.map +1 -0
  1706. package/build/node_modules/mongodb/lib/operations/geo_haystack_search.js +87 -0
  1707. package/build/node_modules/mongodb/lib/operations/geo_haystack_search.js.map +1 -0
  1708. package/build/node_modules/mongodb/lib/operations/geo_haystack_search.mjs +85 -0
  1709. package/build/node_modules/mongodb/lib/operations/geo_haystack_search.mjs.map +1 -0
  1710. package/build/node_modules/mongodb/lib/operations/index_exists.js +46 -0
  1711. package/build/node_modules/mongodb/lib/operations/index_exists.js.map +1 -0
  1712. package/build/node_modules/mongodb/lib/operations/index_exists.mjs +44 -0
  1713. package/build/node_modules/mongodb/lib/operations/index_exists.mjs.map +1 -0
  1714. package/build/node_modules/mongodb/lib/operations/index_information.js +29 -0
  1715. package/build/node_modules/mongodb/lib/operations/index_information.js.map +1 -0
  1716. package/build/node_modules/mongodb/lib/operations/index_information.mjs +27 -0
  1717. package/build/node_modules/mongodb/lib/operations/index_information.mjs.map +1 -0
  1718. package/build/node_modules/mongodb/lib/operations/indexes.js +28 -0
  1719. package/build/node_modules/mongodb/lib/operations/indexes.js.map +1 -0
  1720. package/build/node_modules/mongodb/lib/operations/indexes.mjs +26 -0
  1721. package/build/node_modules/mongodb/lib/operations/indexes.mjs.map +1 -0
  1722. package/build/node_modules/mongodb/lib/operations/insert_many.js +67 -0
  1723. package/build/node_modules/mongodb/lib/operations/insert_many.js.map +1 -0
  1724. package/build/node_modules/mongodb/lib/operations/insert_many.mjs +65 -0
  1725. package/build/node_modules/mongodb/lib/operations/insert_many.mjs.map +1 -0
  1726. package/build/node_modules/mongodb/lib/operations/insert_one.js +46 -0
  1727. package/build/node_modules/mongodb/lib/operations/insert_one.js.map +1 -0
  1728. package/build/node_modules/mongodb/lib/operations/insert_one.mjs +44 -0
  1729. package/build/node_modules/mongodb/lib/operations/insert_one.mjs.map +1 -0
  1730. package/build/node_modules/mongodb/lib/operations/is_capped.js +24 -0
  1731. package/build/node_modules/mongodb/lib/operations/is_capped.js.map +1 -0
  1732. package/build/node_modules/mongodb/lib/operations/is_capped.mjs +22 -0
  1733. package/build/node_modules/mongodb/lib/operations/is_capped.mjs.map +1 -0
  1734. package/build/node_modules/mongodb/lib/operations/list_collections.js +113 -0
  1735. package/build/node_modules/mongodb/lib/operations/list_collections.js.map +1 -0
  1736. package/build/node_modules/mongodb/lib/operations/list_collections.mjs +111 -0
  1737. package/build/node_modules/mongodb/lib/operations/list_collections.mjs.map +1 -0
  1738. package/build/node_modules/mongodb/lib/operations/list_databases.js +44 -0
  1739. package/build/node_modules/mongodb/lib/operations/list_databases.js.map +1 -0
  1740. package/build/node_modules/mongodb/lib/operations/list_databases.mjs +42 -0
  1741. package/build/node_modules/mongodb/lib/operations/list_databases.mjs.map +1 -0
  1742. package/build/node_modules/mongodb/lib/operations/list_indexes.js +48 -0
  1743. package/build/node_modules/mongodb/lib/operations/list_indexes.js.map +1 -0
  1744. package/build/node_modules/mongodb/lib/operations/list_indexes.mjs +46 -0
  1745. package/build/node_modules/mongodb/lib/operations/list_indexes.mjs.map +1 -0
  1746. package/build/node_modules/mongodb/lib/operations/map_reduce.js +220 -0
  1747. package/build/node_modules/mongodb/lib/operations/map_reduce.js.map +1 -0
  1748. package/build/node_modules/mongodb/lib/operations/map_reduce.mjs +218 -0
  1749. package/build/node_modules/mongodb/lib/operations/map_reduce.mjs.map +1 -0
  1750. package/build/node_modules/mongodb/lib/operations/operation.js +82 -0
  1751. package/build/node_modules/mongodb/lib/operations/operation.js.map +1 -0
  1752. package/build/node_modules/mongodb/lib/operations/operation.mjs +80 -0
  1753. package/build/node_modules/mongodb/lib/operations/operation.mjs.map +1 -0
  1754. package/build/node_modules/mongodb/lib/operations/options_operation.js +39 -0
  1755. package/build/node_modules/mongodb/lib/operations/options_operation.js.map +1 -0
  1756. package/build/node_modules/mongodb/lib/operations/options_operation.mjs +37 -0
  1757. package/build/node_modules/mongodb/lib/operations/options_operation.mjs.map +1 -0
  1758. package/build/node_modules/mongodb/lib/operations/profiling_level.js +34 -0
  1759. package/build/node_modules/mongodb/lib/operations/profiling_level.js.map +1 -0
  1760. package/build/node_modules/mongodb/lib/operations/profiling_level.mjs +32 -0
  1761. package/build/node_modules/mongodb/lib/operations/profiling_level.mjs.map +1 -0
  1762. package/build/node_modules/mongodb/lib/operations/re_index.js +41 -0
  1763. package/build/node_modules/mongodb/lib/operations/re_index.js.map +1 -0
  1764. package/build/node_modules/mongodb/lib/operations/re_index.mjs +39 -0
  1765. package/build/node_modules/mongodb/lib/operations/re_index.mjs.map +1 -0
  1766. package/build/node_modules/mongodb/lib/operations/remove_user.js +60 -0
  1767. package/build/node_modules/mongodb/lib/operations/remove_user.js.map +1 -0
  1768. package/build/node_modules/mongodb/lib/operations/remove_user.mjs +58 -0
  1769. package/build/node_modules/mongodb/lib/operations/remove_user.mjs.map +1 -0
  1770. package/build/node_modules/mongodb/lib/operations/rename.js +69 -0
  1771. package/build/node_modules/mongodb/lib/operations/rename.js.map +1 -0
  1772. package/build/node_modules/mongodb/lib/operations/rename.mjs +67 -0
  1773. package/build/node_modules/mongodb/lib/operations/rename.mjs.map +1 -0
  1774. package/build/node_modules/mongodb/lib/operations/replace_one.js +61 -0
  1775. package/build/node_modules/mongodb/lib/operations/replace_one.js.map +1 -0
  1776. package/build/node_modules/mongodb/lib/operations/replace_one.mjs +59 -0
  1777. package/build/node_modules/mongodb/lib/operations/replace_one.mjs.map +1 -0
  1778. package/build/node_modules/mongodb/lib/operations/run_command.js +24 -0
  1779. package/build/node_modules/mongodb/lib/operations/run_command.js.map +1 -0
  1780. package/build/node_modules/mongodb/lib/operations/run_command.mjs +22 -0
  1781. package/build/node_modules/mongodb/lib/operations/run_command.mjs.map +1 -0
  1782. package/build/node_modules/mongodb/lib/operations/set_profiling_level.js +52 -0
  1783. package/build/node_modules/mongodb/lib/operations/set_profiling_level.js.map +1 -0
  1784. package/build/node_modules/mongodb/lib/operations/set_profiling_level.mjs +50 -0
  1785. package/build/node_modules/mongodb/lib/operations/set_profiling_level.mjs.map +1 -0
  1786. package/build/node_modules/mongodb/lib/operations/stats.js +51 -0
  1787. package/build/node_modules/mongodb/lib/operations/stats.js.map +1 -0
  1788. package/build/node_modules/mongodb/lib/operations/stats.mjs +49 -0
  1789. package/build/node_modules/mongodb/lib/operations/stats.mjs.map +1 -0
  1790. package/build/node_modules/mongodb/lib/operations/update_many.js +62 -0
  1791. package/build/node_modules/mongodb/lib/operations/update_many.js.map +1 -0
  1792. package/build/node_modules/mongodb/lib/operations/update_many.mjs +60 -0
  1793. package/build/node_modules/mongodb/lib/operations/update_many.mjs.map +1 -0
  1794. package/build/node_modules/mongodb/lib/operations/update_one.js +62 -0
  1795. package/build/node_modules/mongodb/lib/operations/update_one.js.map +1 -0
  1796. package/build/node_modules/mongodb/lib/operations/update_one.mjs +60 -0
  1797. package/build/node_modules/mongodb/lib/operations/update_one.mjs.map +1 -0
  1798. package/build/node_modules/mongodb/lib/operations/validate_collection.js +42 -0
  1799. package/build/node_modules/mongodb/lib/operations/validate_collection.js.map +1 -0
  1800. package/build/node_modules/mongodb/lib/operations/validate_collection.mjs +40 -0
  1801. package/build/node_modules/mongodb/lib/operations/validate_collection.mjs.map +1 -0
  1802. package/build/node_modules/mongodb/lib/read_concern.js +64 -0
  1803. package/build/node_modules/mongodb/lib/read_concern.js.map +1 -0
  1804. package/build/node_modules/mongodb/lib/read_concern.mjs +62 -0
  1805. package/build/node_modules/mongodb/lib/read_concern.mjs.map +1 -0
  1806. package/build/node_modules/mongodb/lib/topologies/mongos.js +454 -0
  1807. package/build/node_modules/mongodb/lib/topologies/mongos.js.map +1 -0
  1808. package/build/node_modules/mongodb/lib/topologies/mongos.mjs +452 -0
  1809. package/build/node_modules/mongodb/lib/topologies/mongos.mjs.map +1 -0
  1810. package/build/node_modules/mongodb/lib/topologies/native_topology.js +86 -0
  1811. package/build/node_modules/mongodb/lib/topologies/native_topology.js.map +1 -0
  1812. package/build/node_modules/mongodb/lib/topologies/native_topology.mjs +84 -0
  1813. package/build/node_modules/mongodb/lib/topologies/native_topology.mjs.map +1 -0
  1814. package/build/node_modules/mongodb/lib/topologies/replset.js +496 -0
  1815. package/build/node_modules/mongodb/lib/topologies/replset.js.map +1 -0
  1816. package/build/node_modules/mongodb/lib/topologies/replset.mjs +494 -0
  1817. package/build/node_modules/mongodb/lib/topologies/replset.mjs.map +1 -0
  1818. package/build/node_modules/mongodb/lib/topologies/server.js +456 -0
  1819. package/build/node_modules/mongodb/lib/topologies/server.js.map +1 -0
  1820. package/build/node_modules/mongodb/lib/topologies/server.mjs +454 -0
  1821. package/build/node_modules/mongodb/lib/topologies/server.mjs.map +1 -0
  1822. package/build/node_modules/mongodb/lib/topologies/topology_base.js +439 -0
  1823. package/build/node_modules/mongodb/lib/topologies/topology_base.js.map +1 -0
  1824. package/build/node_modules/mongodb/lib/topologies/topology_base.mjs +428 -0
  1825. package/build/node_modules/mongodb/lib/topologies/topology_base.mjs.map +1 -0
  1826. package/build/node_modules/mongodb/lib/url_parser.js +646 -0
  1827. package/build/node_modules/mongodb/lib/url_parser.js.map +1 -0
  1828. package/build/node_modules/mongodb/lib/url_parser.mjs +637 -0
  1829. package/build/node_modules/mongodb/lib/url_parser.mjs.map +1 -0
  1830. package/build/node_modules/mongodb/lib/utils.js +919 -0
  1831. package/build/node_modules/mongodb/lib/utils.js.map +1 -0
  1832. package/build/node_modules/mongodb/lib/utils.mjs +917 -0
  1833. package/build/node_modules/mongodb/lib/utils.mjs.map +1 -0
  1834. package/build/node_modules/mongodb/lib/write_concern.js +99 -0
  1835. package/build/node_modules/mongodb/lib/write_concern.js.map +1 -0
  1836. package/build/node_modules/mongodb/lib/write_concern.mjs +97 -0
  1837. package/build/node_modules/mongodb/lib/write_concern.mjs.map +1 -0
  1838. package/build/node_modules/mongodb/package.json.js +146 -0
  1839. package/build/node_modules/mongodb/package.json.js.map +1 -0
  1840. package/build/node_modules/mongodb/package.mjs +127 -0
  1841. package/build/node_modules/mongodb/package.mjs.map +1 -0
  1842. package/build/node_modules/mongoose/index.js +8 -0
  1843. package/build/node_modules/mongoose/index.js.map +1 -0
  1844. package/build/node_modules/mongoose/index.mjs +6 -0
  1845. package/build/node_modules/mongoose/index.mjs.map +1 -0
  1846. package/build/node_modules/mongoose/lib/aggregate.js +1176 -0
  1847. package/build/node_modules/mongoose/lib/aggregate.js.map +1 -0
  1848. package/build/node_modules/mongoose/lib/aggregate.mjs +1170 -0
  1849. package/build/node_modules/mongoose/lib/aggregate.mjs.map +1 -0
  1850. package/build/node_modules/mongoose/lib/browserDocument.js +119 -0
  1851. package/build/node_modules/mongoose/lib/browserDocument.js.map +1 -0
  1852. package/build/node_modules/mongoose/lib/browserDocument.mjs +113 -0
  1853. package/build/node_modules/mongoose/lib/browserDocument.mjs.map +1 -0
  1854. package/build/node_modules/mongoose/lib/cast/boolean.js +41 -0
  1855. package/build/node_modules/mongoose/lib/cast/boolean.js.map +1 -0
  1856. package/build/node_modules/mongoose/lib/cast/boolean.mjs +39 -0
  1857. package/build/node_modules/mongoose/lib/cast/boolean.mjs.map +1 -0
  1858. package/build/node_modules/mongoose/lib/cast/date.js +48 -0
  1859. package/build/node_modules/mongoose/lib/cast/date.js.map +1 -0
  1860. package/build/node_modules/mongoose/lib/cast/date.mjs +42 -0
  1861. package/build/node_modules/mongoose/lib/cast/date.mjs.map +1 -0
  1862. package/build/node_modules/mongoose/lib/cast/decimal128.js +43 -0
  1863. package/build/node_modules/mongoose/lib/cast/decimal128.js.map +1 -0
  1864. package/build/node_modules/mongoose/lib/cast/decimal128.mjs +37 -0
  1865. package/build/node_modules/mongoose/lib/cast/decimal128.mjs.map +1 -0
  1866. package/build/node_modules/mongoose/lib/cast/number.js +50 -0
  1867. package/build/node_modules/mongoose/lib/cast/number.js.map +1 -0
  1868. package/build/node_modules/mongoose/lib/cast/number.mjs +44 -0
  1869. package/build/node_modules/mongoose/lib/cast/number.mjs.map +1 -0
  1870. package/build/node_modules/mongoose/lib/cast/objectid.js +39 -0
  1871. package/build/node_modules/mongoose/lib/cast/objectid.js.map +1 -0
  1872. package/build/node_modules/mongoose/lib/cast/objectid.mjs +33 -0
  1873. package/build/node_modules/mongoose/lib/cast/objectid.mjs.map +1 -0
  1874. package/build/node_modules/mongoose/lib/cast/string.js +40 -0
  1875. package/build/node_modules/mongoose/lib/cast/string.js.map +1 -0
  1876. package/build/node_modules/mongoose/lib/cast/string.mjs +38 -0
  1877. package/build/node_modules/mongoose/lib/cast/string.mjs.map +1 -0
  1878. package/build/node_modules/mongoose/lib/cast.js +382 -0
  1879. package/build/node_modules/mongoose/lib/cast.js.map +1 -0
  1880. package/build/node_modules/mongoose/lib/cast.mjs +376 -0
  1881. package/build/node_modules/mongoose/lib/cast.mjs.map +1 -0
  1882. package/build/node_modules/mongoose/lib/collection.js +333 -0
  1883. package/build/node_modules/mongoose/lib/collection.js.map +1 -0
  1884. package/build/node_modules/mongoose/lib/collection.mjs +327 -0
  1885. package/build/node_modules/mongoose/lib/collection.mjs.map +1 -0
  1886. package/build/node_modules/mongoose/lib/connection.js +1534 -0
  1887. package/build/node_modules/mongoose/lib/connection.js.map +1 -0
  1888. package/build/node_modules/mongoose/lib/connection.mjs +1528 -0
  1889. package/build/node_modules/mongoose/lib/connection.mjs.map +1 -0
  1890. package/build/node_modules/mongoose/lib/connectionstate.js +29 -0
  1891. package/build/node_modules/mongoose/lib/connectionstate.js.map +1 -0
  1892. package/build/node_modules/mongoose/lib/connectionstate.mjs +27 -0
  1893. package/build/node_modules/mongoose/lib/connectionstate.mjs.map +1 -0
  1894. package/build/node_modules/mongoose/lib/cursor/AggregationCursor.js +384 -0
  1895. package/build/node_modules/mongoose/lib/cursor/AggregationCursor.js.map +1 -0
  1896. package/build/node_modules/mongoose/lib/cursor/AggregationCursor.mjs +377 -0
  1897. package/build/node_modules/mongoose/lib/cursor/AggregationCursor.mjs.map +1 -0
  1898. package/build/node_modules/mongoose/lib/cursor/ChangeStream.js +70 -0
  1899. package/build/node_modules/mongoose/lib/cursor/ChangeStream.js.map +1 -0
  1900. package/build/node_modules/mongoose/lib/cursor/ChangeStream.mjs +64 -0
  1901. package/build/node_modules/mongoose/lib/cursor/ChangeStream.mjs.map +1 -0
  1902. package/build/node_modules/mongoose/lib/cursor/QueryCursor.js +522 -0
  1903. package/build/node_modules/mongoose/lib/cursor/QueryCursor.js.map +1 -0
  1904. package/build/node_modules/mongoose/lib/cursor/QueryCursor.mjs +515 -0
  1905. package/build/node_modules/mongoose/lib/cursor/QueryCursor.mjs.map +1 -0
  1906. package/build/node_modules/mongoose/lib/document.js +4305 -0
  1907. package/build/node_modules/mongoose/lib/document.js.map +1 -0
  1908. package/build/node_modules/mongoose/lib/document.mjs +4298 -0
  1909. package/build/node_modules/mongoose/lib/document.mjs.map +1 -0
  1910. package/build/node_modules/mongoose/lib/document_provider.js +40 -0
  1911. package/build/node_modules/mongoose/lib/document_provider.js.map +1 -0
  1912. package/build/node_modules/mongoose/lib/document_provider.mjs +36 -0
  1913. package/build/node_modules/mongoose/lib/document_provider.mjs.map +1 -0
  1914. package/build/node_modules/mongoose/lib/driver.js +27 -0
  1915. package/build/node_modules/mongoose/lib/driver.js.map +1 -0
  1916. package/build/node_modules/mongoose/lib/driver.mjs +22 -0
  1917. package/build/node_modules/mongoose/lib/driver.mjs.map +1 -0
  1918. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/ReadPreference.js +52 -0
  1919. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/ReadPreference.js.map +1 -0
  1920. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/ReadPreference.mjs +50 -0
  1921. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/ReadPreference.mjs.map +1 -0
  1922. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/binary.js +14 -0
  1923. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/binary.js.map +1 -0
  1924. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/binary.mjs +12 -0
  1925. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/binary.mjs.map +1 -0
  1926. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/collection.js +470 -0
  1927. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/collection.js.map +1 -0
  1928. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/collection.mjs +463 -0
  1929. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/collection.mjs.map +1 -0
  1930. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js +219 -0
  1931. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js.map +1 -0
  1932. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.mjs +217 -0
  1933. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.mjs.map +1 -0
  1934. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/decimal128.js +12 -0
  1935. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/decimal128.js.map +1 -0
  1936. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/decimal128.mjs +10 -0
  1937. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/decimal128.mjs.map +1 -0
  1938. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/index.js +39 -0
  1939. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/index.js.map +1 -0
  1940. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/index.mjs +30 -0
  1941. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/index.mjs.map +1 -0
  1942. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/objectid.js +18 -0
  1943. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/objectid.js.map +1 -0
  1944. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/objectid.mjs +16 -0
  1945. package/build/node_modules/mongoose/lib/drivers/node-mongodb-native/objectid.mjs.map +1 -0
  1946. package/build/node_modules/mongoose/lib/error/cast.js +161 -0
  1947. package/build/node_modules/mongoose/lib/error/cast.js.map +1 -0
  1948. package/build/node_modules/mongoose/lib/error/cast.mjs +155 -0
  1949. package/build/node_modules/mongoose/lib/error/cast.mjs.map +1 -0
  1950. package/build/node_modules/mongoose/lib/error/divergentArray.js +35 -0
  1951. package/build/node_modules/mongoose/lib/error/divergentArray.js.map +1 -0
  1952. package/build/node_modules/mongoose/lib/error/divergentArray.mjs +33 -0
  1953. package/build/node_modules/mongoose/lib/error/divergentArray.mjs.map +1 -0
  1954. package/build/node_modules/mongoose/lib/error/index.js +225 -0
  1955. package/build/node_modules/mongoose/lib/error/index.js.map +1 -0
  1956. package/build/node_modules/mongoose/lib/error/index.mjs +223 -0
  1957. package/build/node_modules/mongoose/lib/error/index.mjs.map +1 -0
  1958. package/build/node_modules/mongoose/lib/error/messages.js +32 -0
  1959. package/build/node_modules/mongoose/lib/error/messages.js.map +1 -0
  1960. package/build/node_modules/mongoose/lib/error/messages.mjs +30 -0
  1961. package/build/node_modules/mongoose/lib/error/messages.mjs.map +1 -0
  1962. package/build/node_modules/mongoose/lib/error/missingSchema.js +28 -0
  1963. package/build/node_modules/mongoose/lib/error/missingSchema.js.map +1 -0
  1964. package/build/node_modules/mongoose/lib/error/missingSchema.mjs +26 -0
  1965. package/build/node_modules/mongoose/lib/error/missingSchema.mjs.map +1 -0
  1966. package/build/node_modules/mongoose/lib/error/mongooseError.js +16 -0
  1967. package/build/node_modules/mongoose/lib/error/mongooseError.js.map +1 -0
  1968. package/build/node_modules/mongoose/lib/error/mongooseError.mjs +14 -0
  1969. package/build/node_modules/mongoose/lib/error/mongooseError.mjs.map +1 -0
  1970. package/build/node_modules/mongoose/lib/error/notFound.js +54 -0
  1971. package/build/node_modules/mongoose/lib/error/notFound.js.map +1 -0
  1972. package/build/node_modules/mongoose/lib/error/notFound.mjs +48 -0
  1973. package/build/node_modules/mongoose/lib/error/notFound.mjs.map +1 -0
  1974. package/build/node_modules/mongoose/lib/error/objectExpected.js +35 -0
  1975. package/build/node_modules/mongoose/lib/error/objectExpected.js.map +1 -0
  1976. package/build/node_modules/mongoose/lib/error/objectExpected.mjs +33 -0
  1977. package/build/node_modules/mongoose/lib/error/objectExpected.mjs.map +1 -0
  1978. package/build/node_modules/mongoose/lib/error/objectParameter.js +35 -0
  1979. package/build/node_modules/mongoose/lib/error/objectParameter.js.map +1 -0
  1980. package/build/node_modules/mongoose/lib/error/objectParameter.mjs +33 -0
  1981. package/build/node_modules/mongoose/lib/error/objectParameter.mjs.map +1 -0
  1982. package/build/node_modules/mongoose/lib/error/overwriteModel.js +26 -0
  1983. package/build/node_modules/mongoose/lib/error/overwriteModel.js.map +1 -0
  1984. package/build/node_modules/mongoose/lib/error/overwriteModel.mjs +24 -0
  1985. package/build/node_modules/mongoose/lib/error/overwriteModel.mjs.map +1 -0
  1986. package/build/node_modules/mongoose/lib/error/parallelSave.js +35 -0
  1987. package/build/node_modules/mongoose/lib/error/parallelSave.js.map +1 -0
  1988. package/build/node_modules/mongoose/lib/error/parallelSave.mjs +33 -0
  1989. package/build/node_modules/mongoose/lib/error/parallelSave.mjs.map +1 -0
  1990. package/build/node_modules/mongoose/lib/error/parallelValidate.js +36 -0
  1991. package/build/node_modules/mongoose/lib/error/parallelValidate.js.map +1 -0
  1992. package/build/node_modules/mongoose/lib/error/parallelValidate.mjs +34 -0
  1993. package/build/node_modules/mongoose/lib/error/parallelValidate.mjs.map +1 -0
  1994. package/build/node_modules/mongoose/lib/error/serverSelection.js +69 -0
  1995. package/build/node_modules/mongoose/lib/error/serverSelection.js.map +1 -0
  1996. package/build/node_modules/mongoose/lib/error/serverSelection.mjs +67 -0
  1997. package/build/node_modules/mongoose/lib/error/serverSelection.mjs.map +1 -0
  1998. package/build/node_modules/mongoose/lib/error/strict.js +38 -0
  1999. package/build/node_modules/mongoose/lib/error/strict.js.map +1 -0
  2000. package/build/node_modules/mongoose/lib/error/strict.mjs +36 -0
  2001. package/build/node_modules/mongoose/lib/error/strict.mjs.map +1 -0
  2002. package/build/node_modules/mongoose/lib/error/validation.js +121 -0
  2003. package/build/node_modules/mongoose/lib/error/validation.js.map +1 -0
  2004. package/build/node_modules/mongoose/lib/error/validation.mjs +115 -0
  2005. package/build/node_modules/mongoose/lib/error/validation.mjs.map +1 -0
  2006. package/build/node_modules/mongoose/lib/error/validator.js +99 -0
  2007. package/build/node_modules/mongoose/lib/error/validator.js.map +1 -0
  2008. package/build/node_modules/mongoose/lib/error/validator.mjs +97 -0
  2009. package/build/node_modules/mongoose/lib/error/validator.mjs.map +1 -0
  2010. package/build/node_modules/mongoose/lib/error/version.js +41 -0
  2011. package/build/node_modules/mongoose/lib/error/version.js.map +1 -0
  2012. package/build/node_modules/mongoose/lib/error/version.mjs +39 -0
  2013. package/build/node_modules/mongoose/lib/error/version.mjs.map +1 -0
  2014. package/build/node_modules/mongoose/lib/helpers/aggregate/stringifyFunctionOperators.js +53 -0
  2015. package/build/node_modules/mongoose/lib/helpers/aggregate/stringifyFunctionOperators.js.map +1 -0
  2016. package/build/node_modules/mongoose/lib/helpers/aggregate/stringifyFunctionOperators.mjs +51 -0
  2017. package/build/node_modules/mongoose/lib/helpers/aggregate/stringifyFunctionOperators.mjs.map +1 -0
  2018. package/build/node_modules/mongoose/lib/helpers/arrayDepth.js +36 -0
  2019. package/build/node_modules/mongoose/lib/helpers/arrayDepth.js.map +1 -0
  2020. package/build/node_modules/mongoose/lib/helpers/arrayDepth.mjs +34 -0
  2021. package/build/node_modules/mongoose/lib/helpers/arrayDepth.mjs.map +1 -0
  2022. package/build/node_modules/mongoose/lib/helpers/clone.js +141 -0
  2023. package/build/node_modules/mongoose/lib/helpers/clone.js.map +1 -0
  2024. package/build/node_modules/mongoose/lib/helpers/clone.mjs +139 -0
  2025. package/build/node_modules/mongoose/lib/helpers/clone.mjs.map +1 -0
  2026. package/build/node_modules/mongoose/lib/helpers/common.js +123 -0
  2027. package/build/node_modules/mongoose/lib/helpers/common.js.map +1 -0
  2028. package/build/node_modules/mongoose/lib/helpers/common.mjs +118 -0
  2029. package/build/node_modules/mongoose/lib/helpers/common.mjs.map +1 -0
  2030. package/build/node_modules/mongoose/lib/helpers/cursor/eachAsync.js +163 -0
  2031. package/build/node_modules/mongoose/lib/helpers/cursor/eachAsync.js.map +1 -0
  2032. package/build/node_modules/mongoose/lib/helpers/cursor/eachAsync.mjs +161 -0
  2033. package/build/node_modules/mongoose/lib/helpers/cursor/eachAsync.mjs.map +1 -0
  2034. package/build/node_modules/mongoose/lib/helpers/discriminator/areDiscriminatorValuesEqual.js +19 -0
  2035. package/build/node_modules/mongoose/lib/helpers/discriminator/areDiscriminatorValuesEqual.js.map +1 -0
  2036. package/build/node_modules/mongoose/lib/helpers/discriminator/areDiscriminatorValuesEqual.mjs +17 -0
  2037. package/build/node_modules/mongoose/lib/helpers/discriminator/areDiscriminatorValuesEqual.mjs.map +1 -0
  2038. package/build/node_modules/mongoose/lib/helpers/discriminator/checkEmbeddedDiscriminatorKeyProjection.js +15 -0
  2039. package/build/node_modules/mongoose/lib/helpers/discriminator/checkEmbeddedDiscriminatorKeyProjection.js.map +1 -0
  2040. package/build/node_modules/mongoose/lib/helpers/discriminator/checkEmbeddedDiscriminatorKeyProjection.mjs +13 -0
  2041. package/build/node_modules/mongoose/lib/helpers/discriminator/checkEmbeddedDiscriminatorKeyProjection.mjs.map +1 -0
  2042. package/build/node_modules/mongoose/lib/helpers/discriminator/getConstructor.js +28 -0
  2043. package/build/node_modules/mongoose/lib/helpers/discriminator/getConstructor.js.map +1 -0
  2044. package/build/node_modules/mongoose/lib/helpers/discriminator/getConstructor.mjs +26 -0
  2045. package/build/node_modules/mongoose/lib/helpers/discriminator/getConstructor.mjs.map +1 -0
  2046. package/build/node_modules/mongoose/lib/helpers/discriminator/getDiscriminatorByValue.js +30 -0
  2047. package/build/node_modules/mongoose/lib/helpers/discriminator/getDiscriminatorByValue.js.map +1 -0
  2048. package/build/node_modules/mongoose/lib/helpers/discriminator/getDiscriminatorByValue.mjs +28 -0
  2049. package/build/node_modules/mongoose/lib/helpers/discriminator/getDiscriminatorByValue.mjs.map +1 -0
  2050. package/build/node_modules/mongoose/lib/helpers/discriminator/getSchemaDiscriminatorByValue.js +29 -0
  2051. package/build/node_modules/mongoose/lib/helpers/discriminator/getSchemaDiscriminatorByValue.js.map +1 -0
  2052. package/build/node_modules/mongoose/lib/helpers/discriminator/getSchemaDiscriminatorByValue.mjs +27 -0
  2053. package/build/node_modules/mongoose/lib/helpers/discriminator/getSchemaDiscriminatorByValue.mjs.map +1 -0
  2054. package/build/node_modules/mongoose/lib/helpers/document/cleanModifiedSubpaths.js +31 -0
  2055. package/build/node_modules/mongoose/lib/helpers/document/cleanModifiedSubpaths.js.map +1 -0
  2056. package/build/node_modules/mongoose/lib/helpers/document/cleanModifiedSubpaths.mjs +29 -0
  2057. package/build/node_modules/mongoose/lib/helpers/document/cleanModifiedSubpaths.mjs.map +1 -0
  2058. package/build/node_modules/mongoose/lib/helpers/document/compile.js +229 -0
  2059. package/build/node_modules/mongoose/lib/helpers/document/compile.js.map +1 -0
  2060. package/build/node_modules/mongoose/lib/helpers/document/compile.mjs +224 -0
  2061. package/build/node_modules/mongoose/lib/helpers/document/compile.mjs.map +1 -0
  2062. package/build/node_modules/mongoose/lib/helpers/document/getEmbeddedDiscriminatorPath.js +46 -0
  2063. package/build/node_modules/mongoose/lib/helpers/document/getEmbeddedDiscriminatorPath.js.map +1 -0
  2064. package/build/node_modules/mongoose/lib/helpers/document/getEmbeddedDiscriminatorPath.mjs +44 -0
  2065. package/build/node_modules/mongoose/lib/helpers/document/getEmbeddedDiscriminatorPath.mjs.map +1 -0
  2066. package/build/node_modules/mongoose/lib/helpers/document/handleSpreadDoc.js +20 -0
  2067. package/build/node_modules/mongoose/lib/helpers/document/handleSpreadDoc.js.map +1 -0
  2068. package/build/node_modules/mongoose/lib/helpers/document/handleSpreadDoc.mjs +18 -0
  2069. package/build/node_modules/mongoose/lib/helpers/document/handleSpreadDoc.mjs.map +1 -0
  2070. package/build/node_modules/mongoose/lib/helpers/each.js +28 -0
  2071. package/build/node_modules/mongoose/lib/helpers/each.js.map +1 -0
  2072. package/build/node_modules/mongoose/lib/helpers/each.mjs +26 -0
  2073. package/build/node_modules/mongoose/lib/helpers/each.mjs.map +1 -0
  2074. package/build/node_modules/mongoose/lib/helpers/get.js +67 -0
  2075. package/build/node_modules/mongoose/lib/helpers/get.js.map +1 -0
  2076. package/build/node_modules/mongoose/lib/helpers/get.mjs +65 -0
  2077. package/build/node_modules/mongoose/lib/helpers/get.mjs.map +1 -0
  2078. package/build/node_modules/mongoose/lib/helpers/getDefaultBulkwriteResult.js +31 -0
  2079. package/build/node_modules/mongoose/lib/helpers/getDefaultBulkwriteResult.js.map +1 -0
  2080. package/build/node_modules/mongoose/lib/helpers/getDefaultBulkwriteResult.mjs +29 -0
  2081. package/build/node_modules/mongoose/lib/helpers/getDefaultBulkwriteResult.mjs.map +1 -0
  2082. package/build/node_modules/mongoose/lib/helpers/getFunctionName.js +11 -0
  2083. package/build/node_modules/mongoose/lib/helpers/getFunctionName.js.map +1 -0
  2084. package/build/node_modules/mongoose/lib/helpers/getFunctionName.mjs +9 -0
  2085. package/build/node_modules/mongoose/lib/helpers/getFunctionName.mjs.map +1 -0
  2086. package/build/node_modules/mongoose/lib/helpers/immediate.js +17 -0
  2087. package/build/node_modules/mongoose/lib/helpers/immediate.js.map +1 -0
  2088. package/build/node_modules/mongoose/lib/helpers/immediate.mjs +15 -0
  2089. package/build/node_modules/mongoose/lib/helpers/immediate.mjs.map +1 -0
  2090. package/build/node_modules/mongoose/lib/helpers/indexes/isDefaultIdIndex.js +21 -0
  2091. package/build/node_modules/mongoose/lib/helpers/indexes/isDefaultIdIndex.js.map +1 -0
  2092. package/build/node_modules/mongoose/lib/helpers/indexes/isDefaultIdIndex.mjs +19 -0
  2093. package/build/node_modules/mongoose/lib/helpers/indexes/isDefaultIdIndex.mjs.map +1 -0
  2094. package/build/node_modules/mongoose/lib/helpers/indexes/isIndexEqual.js +98 -0
  2095. package/build/node_modules/mongoose/lib/helpers/indexes/isIndexEqual.js.map +1 -0
  2096. package/build/node_modules/mongoose/lib/helpers/indexes/isIndexEqual.mjs +96 -0
  2097. package/build/node_modules/mongoose/lib/helpers/indexes/isIndexEqual.mjs.map +1 -0
  2098. package/build/node_modules/mongoose/lib/helpers/isBsonType.js +16 -0
  2099. package/build/node_modules/mongoose/lib/helpers/isBsonType.js.map +1 -0
  2100. package/build/node_modules/mongoose/lib/helpers/isBsonType.mjs +14 -0
  2101. package/build/node_modules/mongoose/lib/helpers/isBsonType.mjs.map +1 -0
  2102. package/build/node_modules/mongoose/lib/helpers/isMongooseObject.js +24 -0
  2103. package/build/node_modules/mongoose/lib/helpers/isMongooseObject.js.map +1 -0
  2104. package/build/node_modules/mongoose/lib/helpers/isMongooseObject.mjs +22 -0
  2105. package/build/node_modules/mongoose/lib/helpers/isMongooseObject.mjs.map +1 -0
  2106. package/build/node_modules/mongoose/lib/helpers/isObject.js +19 -0
  2107. package/build/node_modules/mongoose/lib/helpers/isObject.js.map +1 -0
  2108. package/build/node_modules/mongoose/lib/helpers/isObject.mjs +17 -0
  2109. package/build/node_modules/mongoose/lib/helpers/isObject.mjs.map +1 -0
  2110. package/build/node_modules/mongoose/lib/helpers/isPromise.js +10 -0
  2111. package/build/node_modules/mongoose/lib/helpers/isPromise.js.map +1 -0
  2112. package/build/node_modules/mongoose/lib/helpers/isPromise.mjs +8 -0
  2113. package/build/node_modules/mongoose/lib/helpers/isPromise.mjs.map +1 -0
  2114. package/build/node_modules/mongoose/lib/helpers/model/applyHooks.js +141 -0
  2115. package/build/node_modules/mongoose/lib/helpers/model/applyHooks.js.map +1 -0
  2116. package/build/node_modules/mongoose/lib/helpers/model/applyHooks.mjs +139 -0
  2117. package/build/node_modules/mongoose/lib/helpers/model/applyHooks.mjs.map +1 -0
  2118. package/build/node_modules/mongoose/lib/helpers/model/applyMethods.js +59 -0
  2119. package/build/node_modules/mongoose/lib/helpers/model/applyMethods.js.map +1 -0
  2120. package/build/node_modules/mongoose/lib/helpers/model/applyMethods.mjs +57 -0
  2121. package/build/node_modules/mongoose/lib/helpers/model/applyMethods.mjs.map +1 -0
  2122. package/build/node_modules/mongoose/lib/helpers/model/applyStaticHooks.js +77 -0
  2123. package/build/node_modules/mongoose/lib/helpers/model/applyStaticHooks.js.map +1 -0
  2124. package/build/node_modules/mongoose/lib/helpers/model/applyStaticHooks.mjs +75 -0
  2125. package/build/node_modules/mongoose/lib/helpers/model/applyStaticHooks.mjs.map +1 -0
  2126. package/build/node_modules/mongoose/lib/helpers/model/applyStatics.js +15 -0
  2127. package/build/node_modules/mongoose/lib/helpers/model/applyStatics.js.map +1 -0
  2128. package/build/node_modules/mongoose/lib/helpers/model/applyStatics.mjs +13 -0
  2129. package/build/node_modules/mongoose/lib/helpers/model/applyStatics.mjs.map +1 -0
  2130. package/build/node_modules/mongoose/lib/helpers/model/castBulkWrite.js +227 -0
  2131. package/build/node_modules/mongoose/lib/helpers/model/castBulkWrite.js.map +1 -0
  2132. package/build/node_modules/mongoose/lib/helpers/model/castBulkWrite.mjs +225 -0
  2133. package/build/node_modules/mongoose/lib/helpers/model/castBulkWrite.mjs.map +1 -0
  2134. package/build/node_modules/mongoose/lib/helpers/model/discriminator.js +212 -0
  2135. package/build/node_modules/mongoose/lib/helpers/model/discriminator.js.map +1 -0
  2136. package/build/node_modules/mongoose/lib/helpers/model/discriminator.mjs +210 -0
  2137. package/build/node_modules/mongoose/lib/helpers/model/discriminator.mjs.map +1 -0
  2138. package/build/node_modules/mongoose/lib/helpers/parallelLimit.js +58 -0
  2139. package/build/node_modules/mongoose/lib/helpers/parallelLimit.js.map +1 -0
  2140. package/build/node_modules/mongoose/lib/helpers/parallelLimit.mjs +56 -0
  2141. package/build/node_modules/mongoose/lib/helpers/parallelLimit.mjs.map +1 -0
  2142. package/build/node_modules/mongoose/lib/helpers/path/parentPaths.js +16 -0
  2143. package/build/node_modules/mongoose/lib/helpers/path/parentPaths.js.map +1 -0
  2144. package/build/node_modules/mongoose/lib/helpers/path/parentPaths.mjs +14 -0
  2145. package/build/node_modules/mongoose/lib/helpers/path/parentPaths.mjs.map +1 -0
  2146. package/build/node_modules/mongoose/lib/helpers/path/setDottedPath.js +19 -0
  2147. package/build/node_modules/mongoose/lib/helpers/path/setDottedPath.js.map +1 -0
  2148. package/build/node_modules/mongoose/lib/helpers/path/setDottedPath.mjs +17 -0
  2149. package/build/node_modules/mongoose/lib/helpers/path/setDottedPath.mjs.map +1 -0
  2150. package/build/node_modules/mongoose/lib/helpers/populate/SkipPopulateValue.js +13 -0
  2151. package/build/node_modules/mongoose/lib/helpers/populate/SkipPopulateValue.js.map +1 -0
  2152. package/build/node_modules/mongoose/lib/helpers/populate/SkipPopulateValue.mjs +11 -0
  2153. package/build/node_modules/mongoose/lib/helpers/populate/SkipPopulateValue.mjs.map +1 -0
  2154. package/build/node_modules/mongoose/lib/helpers/populate/assignRawDocsToIdStructure.js +104 -0
  2155. package/build/node_modules/mongoose/lib/helpers/populate/assignRawDocsToIdStructure.js.map +1 -0
  2156. package/build/node_modules/mongoose/lib/helpers/populate/assignRawDocsToIdStructure.mjs +102 -0
  2157. package/build/node_modules/mongoose/lib/helpers/populate/assignRawDocsToIdStructure.mjs.map +1 -0
  2158. package/build/node_modules/mongoose/lib/helpers/populate/assignVals.js +291 -0
  2159. package/build/node_modules/mongoose/lib/helpers/populate/assignVals.js.map +1 -0
  2160. package/build/node_modules/mongoose/lib/helpers/populate/assignVals.mjs +289 -0
  2161. package/build/node_modules/mongoose/lib/helpers/populate/assignVals.mjs.map +1 -0
  2162. package/build/node_modules/mongoose/lib/helpers/populate/createPopulateQueryFilter.js +82 -0
  2163. package/build/node_modules/mongoose/lib/helpers/populate/createPopulateQueryFilter.js.map +1 -0
  2164. package/build/node_modules/mongoose/lib/helpers/populate/createPopulateQueryFilter.mjs +80 -0
  2165. package/build/node_modules/mongoose/lib/helpers/populate/createPopulateQueryFilter.mjs.map +1 -0
  2166. package/build/node_modules/mongoose/lib/helpers/populate/getModelsMapForPopulate.js +550 -0
  2167. package/build/node_modules/mongoose/lib/helpers/populate/getModelsMapForPopulate.js.map +1 -0
  2168. package/build/node_modules/mongoose/lib/helpers/populate/getModelsMapForPopulate.mjs +544 -0
  2169. package/build/node_modules/mongoose/lib/helpers/populate/getModelsMapForPopulate.mjs.map +1 -0
  2170. package/build/node_modules/mongoose/lib/helpers/populate/getSchemaTypes.js +218 -0
  2171. package/build/node_modules/mongoose/lib/helpers/populate/getSchemaTypes.js.map +1 -0
  2172. package/build/node_modules/mongoose/lib/helpers/populate/getSchemaTypes.mjs +216 -0
  2173. package/build/node_modules/mongoose/lib/helpers/populate/getSchemaTypes.mjs.map +1 -0
  2174. package/build/node_modules/mongoose/lib/helpers/populate/getVirtual.js +75 -0
  2175. package/build/node_modules/mongoose/lib/helpers/populate/getVirtual.js.map +1 -0
  2176. package/build/node_modules/mongoose/lib/helpers/populate/getVirtual.mjs +73 -0
  2177. package/build/node_modules/mongoose/lib/helpers/populate/getVirtual.mjs.map +1 -0
  2178. package/build/node_modules/mongoose/lib/helpers/populate/leanPopulateMap.js +10 -0
  2179. package/build/node_modules/mongoose/lib/helpers/populate/leanPopulateMap.js.map +1 -0
  2180. package/build/node_modules/mongoose/lib/helpers/populate/leanPopulateMap.mjs +8 -0
  2181. package/build/node_modules/mongoose/lib/helpers/populate/leanPopulateMap.mjs.map +1 -0
  2182. package/build/node_modules/mongoose/lib/helpers/populate/lookupLocalFields.js +31 -0
  2183. package/build/node_modules/mongoose/lib/helpers/populate/lookupLocalFields.js.map +1 -0
  2184. package/build/node_modules/mongoose/lib/helpers/populate/lookupLocalFields.mjs +29 -0
  2185. package/build/node_modules/mongoose/lib/helpers/populate/lookupLocalFields.mjs.map +1 -0
  2186. package/build/node_modules/mongoose/lib/helpers/populate/normalizeRefPath.js +48 -0
  2187. package/build/node_modules/mongoose/lib/helpers/populate/normalizeRefPath.js.map +1 -0
  2188. package/build/node_modules/mongoose/lib/helpers/populate/normalizeRefPath.mjs +46 -0
  2189. package/build/node_modules/mongoose/lib/helpers/populate/normalizeRefPath.mjs.map +1 -0
  2190. package/build/node_modules/mongoose/lib/helpers/populate/removeDeselectedForeignField.js +34 -0
  2191. package/build/node_modules/mongoose/lib/helpers/populate/removeDeselectedForeignField.js.map +1 -0
  2192. package/build/node_modules/mongoose/lib/helpers/populate/removeDeselectedForeignField.mjs +32 -0
  2193. package/build/node_modules/mongoose/lib/helpers/populate/removeDeselectedForeignField.mjs.map +1 -0
  2194. package/build/node_modules/mongoose/lib/helpers/populate/validateRef.js +26 -0
  2195. package/build/node_modules/mongoose/lib/helpers/populate/validateRef.js.map +1 -0
  2196. package/build/node_modules/mongoose/lib/helpers/populate/validateRef.mjs +20 -0
  2197. package/build/node_modules/mongoose/lib/helpers/populate/validateRef.mjs.map +1 -0
  2198. package/build/node_modules/mongoose/lib/helpers/printJestWarning.js +16 -0
  2199. package/build/node_modules/mongoose/lib/helpers/printJestWarning.js.map +1 -0
  2200. package/build/node_modules/mongoose/lib/helpers/printJestWarning.mjs +14 -0
  2201. package/build/node_modules/mongoose/lib/helpers/printJestWarning.mjs.map +1 -0
  2202. package/build/node_modules/mongoose/lib/helpers/projection/isDefiningProjection.js +21 -0
  2203. package/build/node_modules/mongoose/lib/helpers/projection/isDefiningProjection.js.map +1 -0
  2204. package/build/node_modules/mongoose/lib/helpers/projection/isDefiningProjection.mjs +19 -0
  2205. package/build/node_modules/mongoose/lib/helpers/projection/isDefiningProjection.mjs.map +1 -0
  2206. package/build/node_modules/mongoose/lib/helpers/projection/isExclusive.js +35 -0
  2207. package/build/node_modules/mongoose/lib/helpers/projection/isExclusive.js.map +1 -0
  2208. package/build/node_modules/mongoose/lib/helpers/projection/isExclusive.mjs +33 -0
  2209. package/build/node_modules/mongoose/lib/helpers/projection/isExclusive.mjs.map +1 -0
  2210. package/build/node_modules/mongoose/lib/helpers/projection/isInclusive.js +37 -0
  2211. package/build/node_modules/mongoose/lib/helpers/projection/isInclusive.js.map +1 -0
  2212. package/build/node_modules/mongoose/lib/helpers/projection/isInclusive.mjs +35 -0
  2213. package/build/node_modules/mongoose/lib/helpers/projection/isInclusive.mjs.map +1 -0
  2214. package/build/node_modules/mongoose/lib/helpers/projection/isPathExcluded.js +38 -0
  2215. package/build/node_modules/mongoose/lib/helpers/projection/isPathExcluded.js.map +1 -0
  2216. package/build/node_modules/mongoose/lib/helpers/projection/isPathExcluded.mjs +36 -0
  2217. package/build/node_modules/mongoose/lib/helpers/projection/isPathExcluded.mjs.map +1 -0
  2218. package/build/node_modules/mongoose/lib/helpers/projection/isPathSelectedInclusive.js +31 -0
  2219. package/build/node_modules/mongoose/lib/helpers/projection/isPathSelectedInclusive.js.map +1 -0
  2220. package/build/node_modules/mongoose/lib/helpers/projection/isPathSelectedInclusive.mjs +29 -0
  2221. package/build/node_modules/mongoose/lib/helpers/projection/isPathSelectedInclusive.mjs.map +1 -0
  2222. package/build/node_modules/mongoose/lib/helpers/projection/parseProjection.js +36 -0
  2223. package/build/node_modules/mongoose/lib/helpers/projection/parseProjection.js.map +1 -0
  2224. package/build/node_modules/mongoose/lib/helpers/projection/parseProjection.mjs +34 -0
  2225. package/build/node_modules/mongoose/lib/helpers/projection/parseProjection.mjs.map +1 -0
  2226. package/build/node_modules/mongoose/lib/helpers/promiseOrCallback.js +49 -0
  2227. package/build/node_modules/mongoose/lib/helpers/promiseOrCallback.js.map +1 -0
  2228. package/build/node_modules/mongoose/lib/helpers/promiseOrCallback.mjs +47 -0
  2229. package/build/node_modules/mongoose/lib/helpers/promiseOrCallback.mjs.map +1 -0
  2230. package/build/node_modules/mongoose/lib/helpers/query/applyGlobalMaxTimeMS.js +18 -0
  2231. package/build/node_modules/mongoose/lib/helpers/query/applyGlobalMaxTimeMS.js.map +1 -0
  2232. package/build/node_modules/mongoose/lib/helpers/query/applyGlobalMaxTimeMS.mjs +16 -0
  2233. package/build/node_modules/mongoose/lib/helpers/query/applyGlobalMaxTimeMS.mjs.map +1 -0
  2234. package/build/node_modules/mongoose/lib/helpers/query/applyQueryMiddleware.js +96 -0
  2235. package/build/node_modules/mongoose/lib/helpers/query/applyQueryMiddleware.js.map +1 -0
  2236. package/build/node_modules/mongoose/lib/helpers/query/applyQueryMiddleware.mjs +94 -0
  2237. package/build/node_modules/mongoose/lib/helpers/query/applyQueryMiddleware.mjs.map +1 -0
  2238. package/build/node_modules/mongoose/lib/helpers/query/castFilterPath.js +58 -0
  2239. package/build/node_modules/mongoose/lib/helpers/query/castFilterPath.js.map +1 -0
  2240. package/build/node_modules/mongoose/lib/helpers/query/castFilterPath.mjs +56 -0
  2241. package/build/node_modules/mongoose/lib/helpers/query/castFilterPath.mjs.map +1 -0
  2242. package/build/node_modules/mongoose/lib/helpers/query/castUpdate.js +561 -0
  2243. package/build/node_modules/mongoose/lib/helpers/query/castUpdate.js.map +1 -0
  2244. package/build/node_modules/mongoose/lib/helpers/query/castUpdate.mjs +559 -0
  2245. package/build/node_modules/mongoose/lib/helpers/query/castUpdate.mjs.map +1 -0
  2246. package/build/node_modules/mongoose/lib/helpers/query/completeMany.js +54 -0
  2247. package/build/node_modules/mongoose/lib/helpers/query/completeMany.js.map +1 -0
  2248. package/build/node_modules/mongoose/lib/helpers/query/completeMany.mjs +52 -0
  2249. package/build/node_modules/mongoose/lib/helpers/query/completeMany.mjs.map +1 -0
  2250. package/build/node_modules/mongoose/lib/helpers/query/getEmbeddedDiscriminatorPath.js +87 -0
  2251. package/build/node_modules/mongoose/lib/helpers/query/getEmbeddedDiscriminatorPath.js.map +1 -0
  2252. package/build/node_modules/mongoose/lib/helpers/query/getEmbeddedDiscriminatorPath.mjs +85 -0
  2253. package/build/node_modules/mongoose/lib/helpers/query/getEmbeddedDiscriminatorPath.mjs.map +1 -0
  2254. package/build/node_modules/mongoose/lib/helpers/query/handleImmutable.js +31 -0
  2255. package/build/node_modules/mongoose/lib/helpers/query/handleImmutable.js.map +1 -0
  2256. package/build/node_modules/mongoose/lib/helpers/query/handleImmutable.mjs +29 -0
  2257. package/build/node_modules/mongoose/lib/helpers/query/handleImmutable.mjs.map +1 -0
  2258. package/build/node_modules/mongoose/lib/helpers/query/hasDollarKeys.js +22 -0
  2259. package/build/node_modules/mongoose/lib/helpers/query/hasDollarKeys.js.map +1 -0
  2260. package/build/node_modules/mongoose/lib/helpers/query/hasDollarKeys.mjs +20 -0
  2261. package/build/node_modules/mongoose/lib/helpers/query/hasDollarKeys.mjs.map +1 -0
  2262. package/build/node_modules/mongoose/lib/helpers/query/isOperator.js +14 -0
  2263. package/build/node_modules/mongoose/lib/helpers/query/isOperator.js.map +1 -0
  2264. package/build/node_modules/mongoose/lib/helpers/query/isOperator.mjs +12 -0
  2265. package/build/node_modules/mongoose/lib/helpers/query/isOperator.mjs.map +1 -0
  2266. package/build/node_modules/mongoose/lib/helpers/query/sanitizeProjection.js +17 -0
  2267. package/build/node_modules/mongoose/lib/helpers/query/sanitizeProjection.js.map +1 -0
  2268. package/build/node_modules/mongoose/lib/helpers/query/sanitizeProjection.mjs +15 -0
  2269. package/build/node_modules/mongoose/lib/helpers/query/sanitizeProjection.mjs.map +1 -0
  2270. package/build/node_modules/mongoose/lib/helpers/query/selectPopulatedFields.js +52 -0
  2271. package/build/node_modules/mongoose/lib/helpers/query/selectPopulatedFields.js.map +1 -0
  2272. package/build/node_modules/mongoose/lib/helpers/query/selectPopulatedFields.mjs +50 -0
  2273. package/build/node_modules/mongoose/lib/helpers/query/selectPopulatedFields.mjs.map +1 -0
  2274. package/build/node_modules/mongoose/lib/helpers/query/wrapThunk.js +21 -0
  2275. package/build/node_modules/mongoose/lib/helpers/query/wrapThunk.js.map +1 -0
  2276. package/build/node_modules/mongoose/lib/helpers/query/wrapThunk.mjs +19 -0
  2277. package/build/node_modules/mongoose/lib/helpers/query/wrapThunk.mjs.map +1 -0
  2278. package/build/node_modules/mongoose/lib/helpers/schema/addAutoId.js +10 -0
  2279. package/build/node_modules/mongoose/lib/helpers/schema/addAutoId.js.map +1 -0
  2280. package/build/node_modules/mongoose/lib/helpers/schema/addAutoId.mjs +8 -0
  2281. package/build/node_modules/mongoose/lib/helpers/schema/addAutoId.mjs.map +1 -0
  2282. package/build/node_modules/mongoose/lib/helpers/schema/applyPlugins.js +47 -0
  2283. package/build/node_modules/mongoose/lib/helpers/schema/applyPlugins.js.map +1 -0
  2284. package/build/node_modules/mongoose/lib/helpers/schema/applyPlugins.mjs +45 -0
  2285. package/build/node_modules/mongoose/lib/helpers/schema/applyPlugins.mjs.map +1 -0
  2286. package/build/node_modules/mongoose/lib/helpers/schema/applyWriteConcern.js +33 -0
  2287. package/build/node_modules/mongoose/lib/helpers/schema/applyWriteConcern.js.map +1 -0
  2288. package/build/node_modules/mongoose/lib/helpers/schema/applyWriteConcern.mjs +31 -0
  2289. package/build/node_modules/mongoose/lib/helpers/schema/applyWriteConcern.mjs.map +1 -0
  2290. package/build/node_modules/mongoose/lib/helpers/schema/cleanPositionalOperators.js +15 -0
  2291. package/build/node_modules/mongoose/lib/helpers/schema/cleanPositionalOperators.js.map +1 -0
  2292. package/build/node_modules/mongoose/lib/helpers/schema/cleanPositionalOperators.mjs +13 -0
  2293. package/build/node_modules/mongoose/lib/helpers/schema/cleanPositionalOperators.mjs.map +1 -0
  2294. package/build/node_modules/mongoose/lib/helpers/schema/getIndexes.js +158 -0
  2295. package/build/node_modules/mongoose/lib/helpers/schema/getIndexes.js.map +1 -0
  2296. package/build/node_modules/mongoose/lib/helpers/schema/getIndexes.mjs +156 -0
  2297. package/build/node_modules/mongoose/lib/helpers/schema/getIndexes.mjs.map +1 -0
  2298. package/build/node_modules/mongoose/lib/helpers/schema/getPath.js +38 -0
  2299. package/build/node_modules/mongoose/lib/helpers/schema/getPath.js.map +1 -0
  2300. package/build/node_modules/mongoose/lib/helpers/schema/getPath.mjs +36 -0
  2301. package/build/node_modules/mongoose/lib/helpers/schema/getPath.mjs.map +1 -0
  2302. package/build/node_modules/mongoose/lib/helpers/schema/handleIdOption.js +23 -0
  2303. package/build/node_modules/mongoose/lib/helpers/schema/handleIdOption.js.map +1 -0
  2304. package/build/node_modules/mongoose/lib/helpers/schema/handleIdOption.mjs +21 -0
  2305. package/build/node_modules/mongoose/lib/helpers/schema/handleIdOption.mjs.map +1 -0
  2306. package/build/node_modules/mongoose/lib/helpers/schema/handleTimestampOption.js +27 -0
  2307. package/build/node_modules/mongoose/lib/helpers/schema/handleTimestampOption.js.map +1 -0
  2308. package/build/node_modules/mongoose/lib/helpers/schema/handleTimestampOption.mjs +25 -0
  2309. package/build/node_modules/mongoose/lib/helpers/schema/handleTimestampOption.mjs.map +1 -0
  2310. package/build/node_modules/mongoose/lib/helpers/schema/merge.js +30 -0
  2311. package/build/node_modules/mongoose/lib/helpers/schema/merge.js.map +1 -0
  2312. package/build/node_modules/mongoose/lib/helpers/schema/merge.mjs +28 -0
  2313. package/build/node_modules/mongoose/lib/helpers/schema/merge.mjs.map +1 -0
  2314. package/build/node_modules/mongoose/lib/helpers/schematype/handleImmutable.js +48 -0
  2315. package/build/node_modules/mongoose/lib/helpers/schematype/handleImmutable.js.map +1 -0
  2316. package/build/node_modules/mongoose/lib/helpers/schematype/handleImmutable.mjs +46 -0
  2317. package/build/node_modules/mongoose/lib/helpers/schematype/handleImmutable.mjs.map +1 -0
  2318. package/build/node_modules/mongoose/lib/helpers/setDefaultsOnInsert.js +134 -0
  2319. package/build/node_modules/mongoose/lib/helpers/setDefaultsOnInsert.js.map +1 -0
  2320. package/build/node_modules/mongoose/lib/helpers/setDefaultsOnInsert.mjs +132 -0
  2321. package/build/node_modules/mongoose/lib/helpers/setDefaultsOnInsert.mjs.map +1 -0
  2322. package/build/node_modules/mongoose/lib/helpers/specialProperties.js +6 -0
  2323. package/build/node_modules/mongoose/lib/helpers/specialProperties.js.map +1 -0
  2324. package/build/node_modules/mongoose/lib/helpers/specialProperties.mjs +4 -0
  2325. package/build/node_modules/mongoose/lib/helpers/specialProperties.mjs.map +1 -0
  2326. package/build/node_modules/mongoose/lib/helpers/symbols.js +61 -0
  2327. package/build/node_modules/mongoose/lib/helpers/symbols.js.map +1 -0
  2328. package/build/node_modules/mongoose/lib/helpers/symbols.mjs +41 -0
  2329. package/build/node_modules/mongoose/lib/helpers/symbols.mjs.map +1 -0
  2330. package/build/node_modules/mongoose/lib/helpers/timers.js +13 -0
  2331. package/build/node_modules/mongoose/lib/helpers/timers.js.map +1 -0
  2332. package/build/node_modules/mongoose/lib/helpers/timers.mjs +9 -0
  2333. package/build/node_modules/mongoose/lib/helpers/timers.mjs.map +1 -0
  2334. package/build/node_modules/mongoose/lib/helpers/timestamps/setupTimestamps.js +114 -0
  2335. package/build/node_modules/mongoose/lib/helpers/timestamps/setupTimestamps.js.map +1 -0
  2336. package/build/node_modules/mongoose/lib/helpers/timestamps/setupTimestamps.mjs +112 -0
  2337. package/build/node_modules/mongoose/lib/helpers/timestamps/setupTimestamps.mjs.map +1 -0
  2338. package/build/node_modules/mongoose/lib/helpers/topology/allServersUnknown.js +14 -0
  2339. package/build/node_modules/mongoose/lib/helpers/topology/allServersUnknown.js.map +1 -0
  2340. package/build/node_modules/mongoose/lib/helpers/topology/allServersUnknown.mjs +12 -0
  2341. package/build/node_modules/mongoose/lib/helpers/topology/allServersUnknown.mjs.map +1 -0
  2342. package/build/node_modules/mongoose/lib/helpers/topology/isAtlas.js +15 -0
  2343. package/build/node_modules/mongoose/lib/helpers/topology/isAtlas.js.map +1 -0
  2344. package/build/node_modules/mongoose/lib/helpers/topology/isAtlas.mjs +13 -0
  2345. package/build/node_modules/mongoose/lib/helpers/topology/isAtlas.mjs.map +1 -0
  2346. package/build/node_modules/mongoose/lib/helpers/topology/isSSLError.js +18 -0
  2347. package/build/node_modules/mongoose/lib/helpers/topology/isSSLError.js.map +1 -0
  2348. package/build/node_modules/mongoose/lib/helpers/topology/isSSLError.mjs +16 -0
  2349. package/build/node_modules/mongoose/lib/helpers/topology/isSSLError.mjs.map +1 -0
  2350. package/build/node_modules/mongoose/lib/helpers/update/applyTimestampsToChildren.js +175 -0
  2351. package/build/node_modules/mongoose/lib/helpers/update/applyTimestampsToChildren.js.map +1 -0
  2352. package/build/node_modules/mongoose/lib/helpers/update/applyTimestampsToChildren.mjs +173 -0
  2353. package/build/node_modules/mongoose/lib/helpers/update/applyTimestampsToChildren.mjs.map +1 -0
  2354. package/build/node_modules/mongoose/lib/helpers/update/applyTimestampsToUpdate.js +124 -0
  2355. package/build/node_modules/mongoose/lib/helpers/update/applyTimestampsToUpdate.js.map +1 -0
  2356. package/build/node_modules/mongoose/lib/helpers/update/applyTimestampsToUpdate.mjs +122 -0
  2357. package/build/node_modules/mongoose/lib/helpers/update/applyTimestampsToUpdate.mjs.map +1 -0
  2358. package/build/node_modules/mongoose/lib/helpers/update/castArrayFilters.js +63 -0
  2359. package/build/node_modules/mongoose/lib/helpers/update/castArrayFilters.js.map +1 -0
  2360. package/build/node_modules/mongoose/lib/helpers/update/castArrayFilters.mjs +61 -0
  2361. package/build/node_modules/mongoose/lib/helpers/update/castArrayFilters.mjs.map +1 -0
  2362. package/build/node_modules/mongoose/lib/helpers/update/modifiedPaths.js +38 -0
  2363. package/build/node_modules/mongoose/lib/helpers/update/modifiedPaths.js.map +1 -0
  2364. package/build/node_modules/mongoose/lib/helpers/update/modifiedPaths.mjs +36 -0
  2365. package/build/node_modules/mongoose/lib/helpers/update/modifiedPaths.mjs.map +1 -0
  2366. package/build/node_modules/mongoose/lib/helpers/update/moveImmutableProperties.js +56 -0
  2367. package/build/node_modules/mongoose/lib/helpers/update/moveImmutableProperties.js.map +1 -0
  2368. package/build/node_modules/mongoose/lib/helpers/update/moveImmutableProperties.mjs +54 -0
  2369. package/build/node_modules/mongoose/lib/helpers/update/moveImmutableProperties.mjs.map +1 -0
  2370. package/build/node_modules/mongoose/lib/helpers/update/removeUnusedArrayFilters.js +21 -0
  2371. package/build/node_modules/mongoose/lib/helpers/update/removeUnusedArrayFilters.js.map +1 -0
  2372. package/build/node_modules/mongoose/lib/helpers/update/removeUnusedArrayFilters.mjs +19 -0
  2373. package/build/node_modules/mongoose/lib/helpers/update/removeUnusedArrayFilters.mjs.map +1 -0
  2374. package/build/node_modules/mongoose/lib/helpers/update/updatedPathsByArrayFilter.js +27 -0
  2375. package/build/node_modules/mongoose/lib/helpers/update/updatedPathsByArrayFilter.js.map +1 -0
  2376. package/build/node_modules/mongoose/lib/helpers/update/updatedPathsByArrayFilter.mjs +25 -0
  2377. package/build/node_modules/mongoose/lib/helpers/update/updatedPathsByArrayFilter.mjs.map +1 -0
  2378. package/build/node_modules/mongoose/lib/helpers/updateValidators.js +263 -0
  2379. package/build/node_modules/mongoose/lib/helpers/updateValidators.js.map +1 -0
  2380. package/build/node_modules/mongoose/lib/helpers/updateValidators.mjs +261 -0
  2381. package/build/node_modules/mongoose/lib/helpers/updateValidators.mjs.map +1 -0
  2382. package/build/node_modules/mongoose/lib/index.js +1208 -0
  2383. package/build/node_modules/mongoose/lib/index.js.map +1 -0
  2384. package/build/node_modules/mongoose/lib/index.mjs +1201 -0
  2385. package/build/node_modules/mongoose/lib/index.mjs.map +1 -0
  2386. package/build/node_modules/mongoose/lib/internal.js +47 -0
  2387. package/build/node_modules/mongoose/lib/internal.js.map +1 -0
  2388. package/build/node_modules/mongoose/lib/internal.mjs +45 -0
  2389. package/build/node_modules/mongoose/lib/internal.mjs.map +1 -0
  2390. package/build/node_modules/mongoose/lib/model.js +5089 -0
  2391. package/build/node_modules/mongoose/lib/model.js.map +1 -0
  2392. package/build/node_modules/mongoose/lib/model.mjs +5082 -0
  2393. package/build/node_modules/mongoose/lib/model.mjs.map +1 -0
  2394. package/build/node_modules/mongoose/lib/options/PopulateOptions.js +39 -0
  2395. package/build/node_modules/mongoose/lib/options/PopulateOptions.js.map +1 -0
  2396. package/build/node_modules/mongoose/lib/options/PopulateOptions.mjs +37 -0
  2397. package/build/node_modules/mongoose/lib/options/PopulateOptions.mjs.map +1 -0
  2398. package/build/node_modules/mongoose/lib/options/SchemaArrayOptions.js +63 -0
  2399. package/build/node_modules/mongoose/lib/options/SchemaArrayOptions.js.map +1 -0
  2400. package/build/node_modules/mongoose/lib/options/SchemaArrayOptions.mjs +61 -0
  2401. package/build/node_modules/mongoose/lib/options/SchemaArrayOptions.mjs.map +1 -0
  2402. package/build/node_modules/mongoose/lib/options/SchemaBufferOptions.js +42 -0
  2403. package/build/node_modules/mongoose/lib/options/SchemaBufferOptions.js.map +1 -0
  2404. package/build/node_modules/mongoose/lib/options/SchemaBufferOptions.mjs +40 -0
  2405. package/build/node_modules/mongoose/lib/options/SchemaBufferOptions.mjs.map +1 -0
  2406. package/build/node_modules/mongoose/lib/options/SchemaDateOptions.js +68 -0
  2407. package/build/node_modules/mongoose/lib/options/SchemaDateOptions.js.map +1 -0
  2408. package/build/node_modules/mongoose/lib/options/SchemaDateOptions.mjs +66 -0
  2409. package/build/node_modules/mongoose/lib/options/SchemaDateOptions.mjs.map +1 -0
  2410. package/build/node_modules/mongoose/lib/options/SchemaDocumentArrayOptions.js +72 -0
  2411. package/build/node_modules/mongoose/lib/options/SchemaDocumentArrayOptions.js.map +1 -0
  2412. package/build/node_modules/mongoose/lib/options/SchemaDocumentArrayOptions.mjs +70 -0
  2413. package/build/node_modules/mongoose/lib/options/SchemaDocumentArrayOptions.mjs.map +1 -0
  2414. package/build/node_modules/mongoose/lib/options/SchemaMapOptions.js +47 -0
  2415. package/build/node_modules/mongoose/lib/options/SchemaMapOptions.js.map +1 -0
  2416. package/build/node_modules/mongoose/lib/options/SchemaMapOptions.mjs +45 -0
  2417. package/build/node_modules/mongoose/lib/options/SchemaMapOptions.mjs.map +1 -0
  2418. package/build/node_modules/mongoose/lib/options/SchemaNumberOptions.js +103 -0
  2419. package/build/node_modules/mongoose/lib/options/SchemaNumberOptions.js.map +1 -0
  2420. package/build/node_modules/mongoose/lib/options/SchemaNumberOptions.mjs +101 -0
  2421. package/build/node_modules/mongoose/lib/options/SchemaNumberOptions.mjs.map +1 -0
  2422. package/build/node_modules/mongoose/lib/options/SchemaObjectIdOptions.js +67 -0
  2423. package/build/node_modules/mongoose/lib/options/SchemaObjectIdOptions.js.map +1 -0
  2424. package/build/node_modules/mongoose/lib/options/SchemaObjectIdOptions.mjs +65 -0
  2425. package/build/node_modules/mongoose/lib/options/SchemaObjectIdOptions.mjs.map +1 -0
  2426. package/build/node_modules/mongoose/lib/options/SchemaSingleNestedOptions.js +46 -0
  2427. package/build/node_modules/mongoose/lib/options/SchemaSingleNestedOptions.js.map +1 -0
  2428. package/build/node_modules/mongoose/lib/options/SchemaSingleNestedOptions.mjs +44 -0
  2429. package/build/node_modules/mongoose/lib/options/SchemaSingleNestedOptions.mjs.map +1 -0
  2430. package/build/node_modules/mongoose/lib/options/SchemaStringOptions.js +142 -0
  2431. package/build/node_modules/mongoose/lib/options/SchemaStringOptions.js.map +1 -0
  2432. package/build/node_modules/mongoose/lib/options/SchemaStringOptions.mjs +140 -0
  2433. package/build/node_modules/mongoose/lib/options/SchemaStringOptions.mjs.map +1 -0
  2434. package/build/node_modules/mongoose/lib/options/SchemaTypeOptions.js +235 -0
  2435. package/build/node_modules/mongoose/lib/options/SchemaTypeOptions.js.map +1 -0
  2436. package/build/node_modules/mongoose/lib/options/SchemaTypeOptions.mjs +233 -0
  2437. package/build/node_modules/mongoose/lib/options/SchemaTypeOptions.mjs.map +1 -0
  2438. package/build/node_modules/mongoose/lib/options/VirtualOptions.js +167 -0
  2439. package/build/node_modules/mongoose/lib/options/VirtualOptions.js.map +1 -0
  2440. package/build/node_modules/mongoose/lib/options/VirtualOptions.mjs +165 -0
  2441. package/build/node_modules/mongoose/lib/options/VirtualOptions.mjs.map +1 -0
  2442. package/build/node_modules/mongoose/lib/options/propertyOptions.js +11 -0
  2443. package/build/node_modules/mongoose/lib/options/propertyOptions.js.map +1 -0
  2444. package/build/node_modules/mongoose/lib/options/propertyOptions.mjs +9 -0
  2445. package/build/node_modules/mongoose/lib/options/propertyOptions.mjs.map +1 -0
  2446. package/build/node_modules/mongoose/lib/options/removeOptions.js +17 -0
  2447. package/build/node_modules/mongoose/lib/options/removeOptions.js.map +1 -0
  2448. package/build/node_modules/mongoose/lib/options/removeOptions.mjs +15 -0
  2449. package/build/node_modules/mongoose/lib/options/removeOptions.mjs.map +1 -0
  2450. package/build/node_modules/mongoose/lib/options/saveOptions.js +17 -0
  2451. package/build/node_modules/mongoose/lib/options/saveOptions.js.map +1 -0
  2452. package/build/node_modules/mongoose/lib/options/saveOptions.mjs +15 -0
  2453. package/build/node_modules/mongoose/lib/options/saveOptions.mjs.map +1 -0
  2454. package/build/node_modules/mongoose/lib/options.js +25 -0
  2455. package/build/node_modules/mongoose/lib/options.js.map +1 -0
  2456. package/build/node_modules/mongoose/lib/options.mjs +21 -0
  2457. package/build/node_modules/mongoose/lib/options.mjs.map +1 -0
  2458. package/build/node_modules/mongoose/lib/plugins/idGetter.js +31 -0
  2459. package/build/node_modules/mongoose/lib/plugins/idGetter.js.map +1 -0
  2460. package/build/node_modules/mongoose/lib/plugins/idGetter.mjs +29 -0
  2461. package/build/node_modules/mongoose/lib/plugins/idGetter.mjs.map +1 -0
  2462. package/build/node_modules/mongoose/lib/plugins/removeSubdocs.js +34 -0
  2463. package/build/node_modules/mongoose/lib/plugins/removeSubdocs.js.map +1 -0
  2464. package/build/node_modules/mongoose/lib/plugins/removeSubdocs.mjs +32 -0
  2465. package/build/node_modules/mongoose/lib/plugins/removeSubdocs.mjs.map +1 -0
  2466. package/build/node_modules/mongoose/lib/plugins/saveSubdocs.js +69 -0
  2467. package/build/node_modules/mongoose/lib/plugins/saveSubdocs.js.map +1 -0
  2468. package/build/node_modules/mongoose/lib/plugins/saveSubdocs.mjs +67 -0
  2469. package/build/node_modules/mongoose/lib/plugins/saveSubdocs.mjs.map +1 -0
  2470. package/build/node_modules/mongoose/lib/plugins/sharding.js +93 -0
  2471. package/build/node_modules/mongoose/lib/plugins/sharding.js.map +1 -0
  2472. package/build/node_modules/mongoose/lib/plugins/sharding.mjs +89 -0
  2473. package/build/node_modules/mongoose/lib/plugins/sharding.mjs.map +1 -0
  2474. package/build/node_modules/mongoose/lib/plugins/trackTransaction.js +96 -0
  2475. package/build/node_modules/mongoose/lib/plugins/trackTransaction.js.map +1 -0
  2476. package/build/node_modules/mongoose/lib/plugins/trackTransaction.mjs +94 -0
  2477. package/build/node_modules/mongoose/lib/plugins/trackTransaction.mjs.map +1 -0
  2478. package/build/node_modules/mongoose/lib/plugins/validateBeforeSave.js +48 -0
  2479. package/build/node_modules/mongoose/lib/plugins/validateBeforeSave.js.map +1 -0
  2480. package/build/node_modules/mongoose/lib/plugins/validateBeforeSave.mjs +46 -0
  2481. package/build/node_modules/mongoose/lib/plugins/validateBeforeSave.mjs.map +1 -0
  2482. package/build/node_modules/mongoose/lib/promise_provider.js +60 -0
  2483. package/build/node_modules/mongoose/lib/promise_provider.js.map +1 -0
  2484. package/build/node_modules/mongoose/lib/promise_provider.mjs +54 -0
  2485. package/build/node_modules/mongoose/lib/promise_provider.mjs.map +1 -0
  2486. package/build/node_modules/mongoose/lib/query.js +5588 -0
  2487. package/build/node_modules/mongoose/lib/query.js.map +1 -0
  2488. package/build/node_modules/mongoose/lib/query.mjs +5582 -0
  2489. package/build/node_modules/mongoose/lib/query.mjs.map +1 -0
  2490. package/build/node_modules/mongoose/lib/queryhelpers.js +341 -0
  2491. package/build/node_modules/mongoose/lib/queryhelpers.js.map +1 -0
  2492. package/build/node_modules/mongoose/lib/queryhelpers.mjs +339 -0
  2493. package/build/node_modules/mongoose/lib/queryhelpers.mjs.map +1 -0
  2494. package/build/node_modules/mongoose/lib/schema/SingleNestedPath.js +358 -0
  2495. package/build/node_modules/mongoose/lib/schema/SingleNestedPath.js.map +1 -0
  2496. package/build/node_modules/mongoose/lib/schema/SingleNestedPath.mjs +352 -0
  2497. package/build/node_modules/mongoose/lib/schema/SingleNestedPath.mjs.map +1 -0
  2498. package/build/node_modules/mongoose/lib/schema/array.js +676 -0
  2499. package/build/node_modules/mongoose/lib/schema/array.js.map +1 -0
  2500. package/build/node_modules/mongoose/lib/schema/array.mjs +670 -0
  2501. package/build/node_modules/mongoose/lib/schema/array.mjs.map +1 -0
  2502. package/build/node_modules/mongoose/lib/schema/boolean.js +278 -0
  2503. package/build/node_modules/mongoose/lib/schema/boolean.js.map +1 -0
  2504. package/build/node_modules/mongoose/lib/schema/boolean.mjs +276 -0
  2505. package/build/node_modules/mongoose/lib/schema/boolean.mjs.map +1 -0
  2506. package/build/node_modules/mongoose/lib/schema/buffer.js +276 -0
  2507. package/build/node_modules/mongoose/lib/schema/buffer.js.map +1 -0
  2508. package/build/node_modules/mongoose/lib/schema/buffer.mjs +274 -0
  2509. package/build/node_modules/mongoose/lib/schema/buffer.mjs.map +1 -0
  2510. package/build/node_modules/mongoose/lib/schema/date.js +411 -0
  2511. package/build/node_modules/mongoose/lib/schema/date.js.map +1 -0
  2512. package/build/node_modules/mongoose/lib/schema/date.mjs +409 -0
  2513. package/build/node_modules/mongoose/lib/schema/date.mjs.map +1 -0
  2514. package/build/node_modules/mongoose/lib/schema/decimal128.js +218 -0
  2515. package/build/node_modules/mongoose/lib/schema/decimal128.js.map +1 -0
  2516. package/build/node_modules/mongoose/lib/schema/decimal128.mjs +216 -0
  2517. package/build/node_modules/mongoose/lib/schema/decimal128.mjs.map +1 -0
  2518. package/build/node_modules/mongoose/lib/schema/documentarray.js +591 -0
  2519. package/build/node_modules/mongoose/lib/schema/documentarray.js.map +1 -0
  2520. package/build/node_modules/mongoose/lib/schema/documentarray.mjs +584 -0
  2521. package/build/node_modules/mongoose/lib/schema/documentarray.mjs.map +1 -0
  2522. package/build/node_modules/mongoose/lib/schema/index.js +52 -0
  2523. package/build/node_modules/mongoose/lib/schema/index.js.map +1 -0
  2524. package/build/node_modules/mongoose/lib/schema/index.mjs +50 -0
  2525. package/build/node_modules/mongoose/lib/schema/index.mjs.map +1 -0
  2526. package/build/node_modules/mongoose/lib/schema/map.js +84 -0
  2527. package/build/node_modules/mongoose/lib/schema/map.js.map +1 -0
  2528. package/build/node_modules/mongoose/lib/schema/map.mjs +82 -0
  2529. package/build/node_modules/mongoose/lib/schema/map.mjs.map +1 -0
  2530. package/build/node_modules/mongoose/lib/schema/mixed.js +140 -0
  2531. package/build/node_modules/mongoose/lib/schema/mixed.js.map +1 -0
  2532. package/build/node_modules/mongoose/lib/schema/mixed.mjs +138 -0
  2533. package/build/node_modules/mongoose/lib/schema/mixed.mjs.map +1 -0
  2534. package/build/node_modules/mongoose/lib/schema/number.js +443 -0
  2535. package/build/node_modules/mongoose/lib/schema/number.js.map +1 -0
  2536. package/build/node_modules/mongoose/lib/schema/number.mjs +441 -0
  2537. package/build/node_modules/mongoose/lib/schema/number.mjs.map +1 -0
  2538. package/build/node_modules/mongoose/lib/schema/objectid.js +307 -0
  2539. package/build/node_modules/mongoose/lib/schema/objectid.js.map +1 -0
  2540. package/build/node_modules/mongoose/lib/schema/objectid.mjs +305 -0
  2541. package/build/node_modules/mongoose/lib/schema/objectid.mjs.map +1 -0
  2542. package/build/node_modules/mongoose/lib/schema/operators/bitwise.js +43 -0
  2543. package/build/node_modules/mongoose/lib/schema/operators/bitwise.js.map +1 -0
  2544. package/build/node_modules/mongoose/lib/schema/operators/bitwise.mjs +41 -0
  2545. package/build/node_modules/mongoose/lib/schema/operators/bitwise.mjs.map +1 -0
  2546. package/build/node_modules/mongoose/lib/schema/operators/exists.js +15 -0
  2547. package/build/node_modules/mongoose/lib/schema/operators/exists.js.map +1 -0
  2548. package/build/node_modules/mongoose/lib/schema/operators/exists.mjs +13 -0
  2549. package/build/node_modules/mongoose/lib/schema/operators/exists.mjs.map +1 -0
  2550. package/build/node_modules/mongoose/lib/schema/operators/geospatial.js +121 -0
  2551. package/build/node_modules/mongoose/lib/schema/operators/geospatial.js.map +1 -0
  2552. package/build/node_modules/mongoose/lib/schema/operators/geospatial.mjs +115 -0
  2553. package/build/node_modules/mongoose/lib/schema/operators/geospatial.mjs.map +1 -0
  2554. package/build/node_modules/mongoose/lib/schema/operators/helpers.js +46 -0
  2555. package/build/node_modules/mongoose/lib/schema/operators/helpers.js.map +1 -0
  2556. package/build/node_modules/mongoose/lib/schema/operators/helpers.mjs +41 -0
  2557. package/build/node_modules/mongoose/lib/schema/operators/helpers.mjs.map +1 -0
  2558. package/build/node_modules/mongoose/lib/schema/operators/text.js +42 -0
  2559. package/build/node_modules/mongoose/lib/schema/operators/text.js.map +1 -0
  2560. package/build/node_modules/mongoose/lib/schema/operators/text.mjs +40 -0
  2561. package/build/node_modules/mongoose/lib/schema/operators/text.mjs.map +1 -0
  2562. package/build/node_modules/mongoose/lib/schema/operators/type.js +23 -0
  2563. package/build/node_modules/mongoose/lib/schema/operators/type.js.map +1 -0
  2564. package/build/node_modules/mongoose/lib/schema/operators/type.mjs +21 -0
  2565. package/build/node_modules/mongoose/lib/schema/operators/type.mjs.map +1 -0
  2566. package/build/node_modules/mongoose/lib/schema/string.js +681 -0
  2567. package/build/node_modules/mongoose/lib/schema/string.js.map +1 -0
  2568. package/build/node_modules/mongoose/lib/schema/string.mjs +679 -0
  2569. package/build/node_modules/mongoose/lib/schema/string.mjs.map +1 -0
  2570. package/build/node_modules/mongoose/lib/schema/symbols.js +17 -0
  2571. package/build/node_modules/mongoose/lib/schema/symbols.js.map +1 -0
  2572. package/build/node_modules/mongoose/lib/schema/symbols.mjs +12 -0
  2573. package/build/node_modules/mongoose/lib/schema/symbols.mjs.map +1 -0
  2574. package/build/node_modules/mongoose/lib/schema.js +2205 -0
  2575. package/build/node_modules/mongoose/lib/schema.js.map +1 -0
  2576. package/build/node_modules/mongoose/lib/schema.mjs +2198 -0
  2577. package/build/node_modules/mongoose/lib/schema.mjs.map +1 -0
  2578. package/build/node_modules/mongoose/lib/schematype.js +1694 -0
  2579. package/build/node_modules/mongoose/lib/schematype.js.map +1 -0
  2580. package/build/node_modules/mongoose/lib/schematype.mjs +1688 -0
  2581. package/build/node_modules/mongoose/lib/schematype.mjs.map +1 -0
  2582. package/build/node_modules/mongoose/lib/statemachine.js +184 -0
  2583. package/build/node_modules/mongoose/lib/statemachine.js.map +1 -0
  2584. package/build/node_modules/mongoose/lib/statemachine.mjs +182 -0
  2585. package/build/node_modules/mongoose/lib/statemachine.mjs.map +1 -0
  2586. package/build/node_modules/mongoose/lib/types/array.js +91 -0
  2587. package/build/node_modules/mongoose/lib/types/array.js.map +1 -0
  2588. package/build/node_modules/mongoose/lib/types/array.mjs +89 -0
  2589. package/build/node_modules/mongoose/lib/types/array.mjs.map +1 -0
  2590. package/build/node_modules/mongoose/lib/types/buffer.js +283 -0
  2591. package/build/node_modules/mongoose/lib/types/buffer.js.map +1 -0
  2592. package/build/node_modules/mongoose/lib/types/buffer.mjs +281 -0
  2593. package/build/node_modules/mongoose/lib/types/buffer.mjs.map +1 -0
  2594. package/build/node_modules/mongoose/lib/types/core_array.js +982 -0
  2595. package/build/node_modules/mongoose/lib/types/core_array.js.map +1 -0
  2596. package/build/node_modules/mongoose/lib/types/core_array.mjs +976 -0
  2597. package/build/node_modules/mongoose/lib/types/core_array.mjs.map +1 -0
  2598. package/build/node_modules/mongoose/lib/types/decimal128.js +18 -0
  2599. package/build/node_modules/mongoose/lib/types/decimal128.js.map +1 -0
  2600. package/build/node_modules/mongoose/lib/types/decimal128.mjs +16 -0
  2601. package/build/node_modules/mongoose/lib/types/decimal128.mjs.map +1 -0
  2602. package/build/node_modules/mongoose/lib/types/documentarray.js +462 -0
  2603. package/build/node_modules/mongoose/lib/types/documentarray.js.map +1 -0
  2604. package/build/node_modules/mongoose/lib/types/documentarray.mjs +456 -0
  2605. package/build/node_modules/mongoose/lib/types/documentarray.mjs.map +1 -0
  2606. package/build/node_modules/mongoose/lib/types/embedded.js +474 -0
  2607. package/build/node_modules/mongoose/lib/types/embedded.js.map +1 -0
  2608. package/build/node_modules/mongoose/lib/types/embedded.mjs +467 -0
  2609. package/build/node_modules/mongoose/lib/types/embedded.mjs.map +1 -0
  2610. package/build/node_modules/mongoose/lib/types/index.js +31 -0
  2611. package/build/node_modules/mongoose/lib/types/index.js.map +1 -0
  2612. package/build/node_modules/mongoose/lib/types/index.mjs +29 -0
  2613. package/build/node_modules/mongoose/lib/types/index.mjs.map +1 -0
  2614. package/build/node_modules/mongoose/lib/types/map.js +252 -0
  2615. package/build/node_modules/mongoose/lib/types/map.js.map +1 -0
  2616. package/build/node_modules/mongoose/lib/types/map.mjs +246 -0
  2617. package/build/node_modules/mongoose/lib/types/map.mjs.map +1 -0
  2618. package/build/node_modules/mongoose/lib/types/objectid.js +36 -0
  2619. package/build/node_modules/mongoose/lib/types/objectid.js.map +1 -0
  2620. package/build/node_modules/mongoose/lib/types/objectid.mjs +34 -0
  2621. package/build/node_modules/mongoose/lib/types/objectid.mjs.map +1 -0
  2622. package/build/node_modules/mongoose/lib/types/subdocument.js +308 -0
  2623. package/build/node_modules/mongoose/lib/types/subdocument.js.map +1 -0
  2624. package/build/node_modules/mongoose/lib/types/subdocument.mjs +306 -0
  2625. package/build/node_modules/mongoose/lib/types/subdocument.mjs.map +1 -0
  2626. package/build/node_modules/mongoose/lib/utils.js +962 -0
  2627. package/build/node_modules/mongoose/lib/utils.js.map +1 -0
  2628. package/build/node_modules/mongoose/lib/utils.mjs +960 -0
  2629. package/build/node_modules/mongoose/lib/utils.mjs.map +1 -0
  2630. package/build/node_modules/mongoose/lib/validoptions.js +39 -0
  2631. package/build/node_modules/mongoose/lib/validoptions.js.map +1 -0
  2632. package/build/node_modules/mongoose/lib/validoptions.mjs +37 -0
  2633. package/build/node_modules/mongoose/lib/validoptions.mjs.map +1 -0
  2634. package/build/node_modules/mongoose/lib/virtualtype.js +179 -0
  2635. package/build/node_modules/mongoose/lib/virtualtype.js.map +1 -0
  2636. package/build/node_modules/mongoose/lib/virtualtype.mjs +177 -0
  2637. package/build/node_modules/mongoose/lib/virtualtype.mjs.map +1 -0
  2638. package/build/node_modules/mongoose/node_modules/safe-buffer/index.js +80 -0
  2639. package/build/node_modules/mongoose/node_modules/safe-buffer/index.js.map +1 -0
  2640. package/build/node_modules/mongoose/node_modules/safe-buffer/index.mjs +74 -0
  2641. package/build/node_modules/mongoose/node_modules/safe-buffer/index.mjs.map +1 -0
  2642. package/build/node_modules/mongoose/package.json.js +299 -0
  2643. package/build/node_modules/mongoose/package.json.js.map +1 -0
  2644. package/build/node_modules/mongoose/package.mjs +277 -0
  2645. package/build/node_modules/mongoose/package.mjs.map +1 -0
  2646. package/build/node_modules/mongoose-legacy-pluralize/index.js +104 -0
  2647. package/build/node_modules/mongoose-legacy-pluralize/index.js.map +1 -0
  2648. package/build/node_modules/mongoose-legacy-pluralize/index.mjs +102 -0
  2649. package/build/node_modules/mongoose-legacy-pluralize/index.mjs.map +1 -0
  2650. package/build/node_modules/mpath/index.js +12 -0
  2651. package/build/node_modules/mpath/index.js.map +1 -0
  2652. package/build/node_modules/mpath/index.mjs +10 -0
  2653. package/build/node_modules/mpath/index.mjs.map +1 -0
  2654. package/build/node_modules/mpath/lib/index.js +325 -0
  2655. package/build/node_modules/mpath/lib/index.js.map +1 -0
  2656. package/build/node_modules/mpath/lib/index.mjs +323 -0
  2657. package/build/node_modules/mpath/lib/index.mjs.map +1 -0
  2658. package/build/node_modules/mpath/lib/stringToParts.js +51 -0
  2659. package/build/node_modules/mpath/lib/stringToParts.js.map +1 -0
  2660. package/build/node_modules/mpath/lib/stringToParts.mjs +49 -0
  2661. package/build/node_modules/mpath/lib/stringToParts.mjs.map +1 -0
  2662. package/build/node_modules/mquery/lib/collection/collection.js +54 -0
  2663. package/build/node_modules/mquery/lib/collection/collection.js.map +1 -0
  2664. package/build/node_modules/mquery/lib/collection/collection.mjs +52 -0
  2665. package/build/node_modules/mquery/lib/collection/collection.mjs.map +1 -0
  2666. package/build/node_modules/mquery/lib/collection/index.js +17 -0
  2667. package/build/node_modules/mquery/lib/collection/index.js.map +1 -0
  2668. package/build/node_modules/mquery/lib/collection/index.mjs +15 -0
  2669. package/build/node_modules/mquery/lib/collection/index.mjs.map +1 -0
  2670. package/build/node_modules/mquery/lib/collection/node.js +161 -0
  2671. package/build/node_modules/mquery/lib/collection/node.js.map +1 -0
  2672. package/build/node_modules/mquery/lib/collection/node.mjs +159 -0
  2673. package/build/node_modules/mquery/lib/collection/node.mjs.map +1 -0
  2674. package/build/node_modules/mquery/lib/env.js +30 -0
  2675. package/build/node_modules/mquery/lib/env.js.map +1 -0
  2676. package/build/node_modules/mquery/lib/env.mjs +28 -0
  2677. package/build/node_modules/mquery/lib/env.mjs.map +1 -0
  2678. package/build/node_modules/mquery/lib/mquery.js +3276 -0
  2679. package/build/node_modules/mquery/lib/mquery.js.map +1 -0
  2680. package/build/node_modules/mquery/lib/mquery.mjs +3268 -0
  2681. package/build/node_modules/mquery/lib/mquery.mjs.map +1 -0
  2682. package/build/node_modules/mquery/lib/permissions.js +96 -0
  2683. package/build/node_modules/mquery/lib/permissions.js.map +1 -0
  2684. package/build/node_modules/mquery/lib/permissions.mjs +94 -0
  2685. package/build/node_modules/mquery/lib/permissions.mjs.map +1 -0
  2686. package/build/node_modules/mquery/lib/utils.js +373 -0
  2687. package/build/node_modules/mquery/lib/utils.js.map +1 -0
  2688. package/build/node_modules/mquery/lib/utils.mjs +371 -0
  2689. package/build/node_modules/mquery/lib/utils.mjs.map +1 -0
  2690. package/build/node_modules/ms/index.js +166 -0
  2691. package/build/node_modules/ms/index.js.map +1 -0
  2692. package/build/node_modules/ms/index.mjs +164 -0
  2693. package/build/node_modules/ms/index.mjs.map +1 -0
  2694. package/build/node_modules/optional-require/index.js +82 -0
  2695. package/build/node_modules/optional-require/index.js.map +1 -0
  2696. package/build/node_modules/optional-require/index.mjs +76 -0
  2697. package/build/node_modules/optional-require/index.mjs.map +1 -0
  2698. package/build/node_modules/process-nextick-args/index.js +52 -0
  2699. package/build/node_modules/process-nextick-args/index.js.map +1 -0
  2700. package/build/node_modules/process-nextick-args/index.mjs +50 -0
  2701. package/build/node_modules/process-nextick-args/index.mjs.map +1 -0
  2702. package/build/node_modules/redis/index.js +1136 -0
  2703. package/build/node_modules/redis/index.js.map +1 -0
  2704. package/build/node_modules/redis/index.mjs +1127 -0
  2705. package/build/node_modules/redis/index.mjs.map +1 -0
  2706. package/build/node_modules/redis/lib/command.js +19 -0
  2707. package/build/node_modules/redis/lib/command.js.map +1 -0
  2708. package/build/node_modules/redis/lib/command.mjs +17 -0
  2709. package/build/node_modules/redis/lib/command.mjs.map +1 -0
  2710. package/build/node_modules/redis/lib/commands.js +127 -0
  2711. package/build/node_modules/redis/lib/commands.js.map +1 -0
  2712. package/build/node_modules/redis/lib/commands.mjs +125 -0
  2713. package/build/node_modules/redis/lib/commands.mjs.map +1 -0
  2714. package/build/node_modules/redis/lib/createClient.js +87 -0
  2715. package/build/node_modules/redis/lib/createClient.js.map +1 -0
  2716. package/build/node_modules/redis/lib/createClient.mjs +81 -0
  2717. package/build/node_modules/redis/lib/createClient.mjs.map +1 -0
  2718. package/build/node_modules/redis/lib/customErrors.js +69 -0
  2719. package/build/node_modules/redis/lib/customErrors.js.map +1 -0
  2720. package/build/node_modules/redis/lib/customErrors.mjs +62 -0
  2721. package/build/node_modules/redis/lib/customErrors.mjs.map +1 -0
  2722. package/build/node_modules/redis/lib/debug.js +14 -0
  2723. package/build/node_modules/redis/lib/debug.js.map +1 -0
  2724. package/build/node_modules/redis/lib/debug.mjs +12 -0
  2725. package/build/node_modules/redis/lib/debug.mjs.map +1 -0
  2726. package/build/node_modules/redis/lib/extendedApi.js +117 -0
  2727. package/build/node_modules/redis/lib/extendedApi.js.map +1 -0
  2728. package/build/node_modules/redis/lib/extendedApi.mjs +115 -0
  2729. package/build/node_modules/redis/lib/extendedApi.mjs.map +1 -0
  2730. package/build/node_modules/redis/lib/individualCommands.js +620 -0
  2731. package/build/node_modules/redis/lib/individualCommands.js.map +1 -0
  2732. package/build/node_modules/redis/lib/individualCommands.mjs +618 -0
  2733. package/build/node_modules/redis/lib/individualCommands.mjs.map +1 -0
  2734. package/build/node_modules/redis/lib/multi.js +190 -0
  2735. package/build/node_modules/redis/lib/multi.js.map +1 -0
  2736. package/build/node_modules/redis/lib/multi.mjs +188 -0
  2737. package/build/node_modules/redis/lib/multi.mjs.map +1 -0
  2738. package/build/node_modules/redis/lib/utils.js +137 -0
  2739. package/build/node_modules/redis/lib/utils.js.map +1 -0
  2740. package/build/node_modules/redis/lib/utils.mjs +135 -0
  2741. package/build/node_modules/redis/lib/utils.mjs.map +1 -0
  2742. package/build/node_modules/redis-commands/commands.json.js +2785 -0
  2743. package/build/node_modules/redis-commands/commands.json.js.map +1 -0
  2744. package/build/node_modules/redis-commands/commands.mjs +2560 -0
  2745. package/build/node_modules/redis-commands/commands.mjs.map +1 -0
  2746. package/build/node_modules/redis-commands/index.js +177 -0
  2747. package/build/node_modules/redis-commands/index.js.map +1 -0
  2748. package/build/node_modules/redis-commands/index.mjs +175 -0
  2749. package/build/node_modules/redis-commands/index.mjs.map +1 -0
  2750. package/build/node_modules/redis-parser/index.js +21 -0
  2751. package/build/node_modules/redis-parser/index.js.map +1 -0
  2752. package/build/node_modules/redis-parser/index.mjs +15 -0
  2753. package/build/node_modules/redis-parser/index.mjs.map +1 -0
  2754. package/build/node_modules/redis-parser/lib/hiredis.js +69 -0
  2755. package/build/node_modules/redis-parser/lib/hiredis.js.map +1 -0
  2756. package/build/node_modules/redis-parser/lib/hiredis.mjs +63 -0
  2757. package/build/node_modules/redis-parser/lib/hiredis.mjs.map +1 -0
  2758. package/build/node_modules/redis-parser/lib/parser.js +593 -0
  2759. package/build/node_modules/redis-parser/lib/parser.js.map +1 -0
  2760. package/build/node_modules/redis-parser/lib/parser.mjs +587 -0
  2761. package/build/node_modules/redis-parser/lib/parser.mjs.map +1 -0
  2762. package/build/node_modules/redis-parser/lib/parserError.js +34 -0
  2763. package/build/node_modules/redis-parser/lib/parserError.js.map +1 -0
  2764. package/build/node_modules/redis-parser/lib/parserError.mjs +27 -0
  2765. package/build/node_modules/redis-parser/lib/parserError.mjs.map +1 -0
  2766. package/build/node_modules/redis-parser/lib/redisError.js +31 -0
  2767. package/build/node_modules/redis-parser/lib/redisError.js.map +1 -0
  2768. package/build/node_modules/redis-parser/lib/redisError.mjs +25 -0
  2769. package/build/node_modules/redis-parser/lib/redisError.mjs.map +1 -0
  2770. package/build/node_modules/redis-parser/lib/replyError.js +31 -0
  2771. package/build/node_modules/redis-parser/lib/replyError.js.map +1 -0
  2772. package/build/node_modules/redis-parser/lib/replyError.mjs +25 -0
  2773. package/build/node_modules/redis-parser/lib/replyError.mjs.map +1 -0
  2774. package/build/node_modules/regexp-clone/index.js +34 -0
  2775. package/build/node_modules/regexp-clone/index.js.map +1 -0
  2776. package/build/node_modules/regexp-clone/index.mjs +32 -0
  2777. package/build/node_modules/regexp-clone/index.mjs.map +1 -0
  2778. package/build/node_modules/safe-buffer/index.js +76 -0
  2779. package/build/node_modules/safe-buffer/index.js.map +1 -0
  2780. package/build/node_modules/safe-buffer/index.mjs +70 -0
  2781. package/build/node_modules/safe-buffer/index.mjs.map +1 -0
  2782. package/build/node_modules/saslprep/index.js +162 -0
  2783. package/build/node_modules/saslprep/index.js.map +1 -0
  2784. package/build/node_modules/saslprep/index.mjs +160 -0
  2785. package/build/node_modules/saslprep/index.mjs.map +1 -0
  2786. package/build/node_modules/saslprep/lib/memory-code-points.js +47 -0
  2787. package/build/node_modules/saslprep/lib/memory-code-points.js.map +1 -0
  2788. package/build/node_modules/saslprep/lib/memory-code-points.mjs +40 -0
  2789. package/build/node_modules/saslprep/lib/memory-code-points.mjs.map +1 -0
  2790. package/build/node_modules/sift/es5m/index.js +683 -0
  2791. package/build/node_modules/sift/es5m/index.js.map +1 -0
  2792. package/build/node_modules/sift/es5m/index.mjs +652 -0
  2793. package/build/node_modules/sift/es5m/index.mjs.map +1 -0
  2794. package/build/node_modules/sliced/index.js +36 -0
  2795. package/build/node_modules/sliced/index.js.map +1 -0
  2796. package/build/node_modules/sliced/index.mjs +34 -0
  2797. package/build/node_modules/sliced/index.mjs.map +1 -0
  2798. package/build/node_modules/sparse-bitfield/index.js +100 -0
  2799. package/build/node_modules/sparse-bitfield/index.js.map +1 -0
  2800. package/build/node_modules/sparse-bitfield/index.mjs +98 -0
  2801. package/build/node_modules/sparse-bitfield/index.mjs.map +1 -0
  2802. package/build/node_modules/util-deprecate/node.js +16 -0
  2803. package/build/node_modules/util-deprecate/node.js.map +1 -0
  2804. package/build/node_modules/util-deprecate/node.mjs +10 -0
  2805. package/build/node_modules/util-deprecate/node.mjs.map +1 -0
  2806. package/build/node_modules/ws/index.js +17 -0
  2807. package/build/node_modules/ws/index.js.map +1 -0
  2808. package/build/node_modules/ws/index.mjs +15 -0
  2809. package/build/node_modules/ws/index.mjs.map +1 -0
  2810. package/build/node_modules/ws/lib/buffer-util.js +143 -0
  2811. package/build/node_modules/ws/lib/buffer-util.js.map +1 -0
  2812. package/build/node_modules/ws/lib/buffer-util.mjs +137 -0
  2813. package/build/node_modules/ws/lib/buffer-util.mjs.map +1 -0
  2814. package/build/node_modules/ws/lib/constants.js +13 -0
  2815. package/build/node_modules/ws/lib/constants.js.map +1 -0
  2816. package/build/node_modules/ws/lib/constants.mjs +11 -0
  2817. package/build/node_modules/ws/lib/constants.mjs.map +1 -0
  2818. package/build/node_modules/ws/lib/event-target.js +187 -0
  2819. package/build/node_modules/ws/lib/event-target.js.map +1 -0
  2820. package/build/node_modules/ws/lib/event-target.mjs +185 -0
  2821. package/build/node_modules/ws/lib/event-target.mjs.map +1 -0
  2822. package/build/node_modules/ws/lib/extension.js +226 -0
  2823. package/build/node_modules/ws/lib/extension.js.map +1 -0
  2824. package/build/node_modules/ws/lib/extension.mjs +224 -0
  2825. package/build/node_modules/ws/lib/extension.mjs.map +1 -0
  2826. package/build/node_modules/ws/lib/limiter.js +58 -0
  2827. package/build/node_modules/ws/lib/limiter.js.map +1 -0
  2828. package/build/node_modules/ws/lib/limiter.mjs +56 -0
  2829. package/build/node_modules/ws/lib/limiter.mjs.map +1 -0
  2830. package/build/node_modules/ws/lib/permessage-deflate.js +526 -0
  2831. package/build/node_modules/ws/lib/permessage-deflate.js.map +1 -0
  2832. package/build/node_modules/ws/lib/permessage-deflate.mjs +520 -0
  2833. package/build/node_modules/ws/lib/permessage-deflate.mjs.map +1 -0
  2834. package/build/node_modules/ws/lib/receiver.js +620 -0
  2835. package/build/node_modules/ws/lib/receiver.js.map +1 -0
  2836. package/build/node_modules/ws/lib/receiver.mjs +614 -0
  2837. package/build/node_modules/ws/lib/receiver.mjs.map +1 -0
  2838. package/build/node_modules/ws/lib/sender.js +424 -0
  2839. package/build/node_modules/ws/lib/sender.js.map +1 -0
  2840. package/build/node_modules/ws/lib/sender.mjs +418 -0
  2841. package/build/node_modules/ws/lib/sender.mjs.map +1 -0
  2842. package/build/node_modules/ws/lib/stream.js +186 -0
  2843. package/build/node_modules/ws/lib/stream.js.map +1 -0
  2844. package/build/node_modules/ws/lib/stream.mjs +180 -0
  2845. package/build/node_modules/ws/lib/stream.mjs.map +1 -0
  2846. package/build/node_modules/ws/lib/validation.js +117 -0
  2847. package/build/node_modules/ws/lib/validation.js.map +1 -0
  2848. package/build/node_modules/ws/lib/validation.mjs +111 -0
  2849. package/build/node_modules/ws/lib/validation.mjs.map +1 -0
  2850. package/build/node_modules/ws/lib/websocket-server.js +467 -0
  2851. package/build/node_modules/ws/lib/websocket-server.js.map +1 -0
  2852. package/build/node_modules/ws/lib/websocket-server.mjs +459 -0
  2853. package/build/node_modules/ws/lib/websocket-server.mjs.map +1 -0
  2854. package/build/node_modules/ws/lib/websocket.js +1138 -0
  2855. package/build/node_modules/ws/lib/websocket.js.map +1 -0
  2856. package/build/node_modules/ws/lib/websocket.mjs +1126 -0
  2857. package/build/node_modules/ws/lib/websocket.mjs.map +1 -0
  2858. package/build/packages/core/src/Debug.js +34 -0
  2859. package/build/packages/core/src/Debug.js.map +1 -0
  2860. package/build/packages/core/src/Debug.mjs +20 -0
  2861. package/build/packages/core/src/Debug.mjs.map +1 -0
  2862. package/build/packages/core/src/IPC.js +65 -0
  2863. package/build/packages/core/src/IPC.js.map +1 -0
  2864. package/build/packages/core/src/IPC.mjs +60 -0
  2865. package/build/packages/core/src/IPC.mjs.map +1 -0
  2866. package/build/packages/core/src/Logger.js +12 -0
  2867. package/build/packages/core/src/Logger.js.map +1 -0
  2868. package/build/packages/core/src/Logger.mjs +8 -0
  2869. package/build/packages/core/src/Logger.mjs.map +1 -0
  2870. package/build/packages/core/src/MatchMaker.js +401 -0
  2871. package/build/packages/core/src/MatchMaker.js.map +1 -0
  2872. package/build/packages/core/src/MatchMaker.mjs +382 -0
  2873. package/build/packages/core/src/MatchMaker.mjs.map +1 -0
  2874. package/build/packages/core/src/Protocol.js +164 -0
  2875. package/build/packages/core/src/Protocol.js.map +1 -0
  2876. package/build/packages/core/src/Protocol.mjs +154 -0
  2877. package/build/packages/core/src/Protocol.mjs.map +1 -0
  2878. package/build/packages/core/src/Room.js +569 -0
  2879. package/build/packages/core/src/Room.js.map +1 -0
  2880. package/build/packages/core/src/Room.mjs +559 -0
  2881. package/build/packages/core/src/Room.mjs.map +1 -0
  2882. package/build/packages/core/src/Server.js +222 -0
  2883. package/build/packages/core/src/Server.js.map +1 -0
  2884. package/build/packages/core/src/Server.mjs +218 -0
  2885. package/build/packages/core/src/Server.mjs.map +1 -0
  2886. package/build/packages/core/src/Transport.js +17 -0
  2887. package/build/packages/core/src/Transport.js.map +1 -0
  2888. package/build/packages/core/src/Transport.mjs +13 -0
  2889. package/build/packages/core/src/Transport.mjs.map +1 -0
  2890. package/build/packages/core/src/Utils.js +225 -0
  2891. package/build/packages/core/src/Utils.js.map +1 -0
  2892. package/build/packages/core/src/Utils.mjs +209 -0
  2893. package/build/packages/core/src/Utils.mjs.map +1 -0
  2894. package/build/packages/core/src/discovery/index.js +31 -0
  2895. package/build/packages/core/src/discovery/index.js.map +1 -0
  2896. package/build/packages/core/src/discovery/index.mjs +22 -0
  2897. package/build/packages/core/src/discovery/index.mjs.map +1 -0
  2898. package/build/packages/core/src/errors/SeatReservationError.js +12 -0
  2899. package/build/packages/core/src/errors/SeatReservationError.js.map +1 -0
  2900. package/build/packages/core/src/errors/SeatReservationError.mjs +8 -0
  2901. package/build/packages/core/src/errors/SeatReservationError.mjs.map +1 -0
  2902. package/build/packages/core/src/errors/ServerError.js +21 -0
  2903. package/build/packages/core/src/errors/ServerError.js.map +1 -0
  2904. package/build/packages/core/src/errors/ServerError.mjs +17 -0
  2905. package/build/packages/core/src/errors/ServerError.mjs.map +1 -0
  2906. package/build/packages/core/src/index.js +96 -0
  2907. package/build/packages/core/src/index.js.map +1 -0
  2908. package/build/packages/core/src/index.mjs +19 -0
  2909. package/build/packages/core/src/index.mjs.map +1 -0
  2910. package/build/packages/core/src/matchmaker/Lobby.js +31 -0
  2911. package/build/packages/core/src/matchmaker/Lobby.js.map +1 -0
  2912. package/build/packages/core/src/matchmaker/Lobby.mjs +26 -0
  2913. package/build/packages/core/src/matchmaker/Lobby.mjs.map +1 -0
  2914. package/build/packages/core/src/matchmaker/RegisteredHandler.js +72 -0
  2915. package/build/packages/core/src/matchmaker/RegisteredHandler.js.map +1 -0
  2916. package/build/packages/core/src/matchmaker/RegisteredHandler.mjs +67 -0
  2917. package/build/packages/core/src/matchmaker/RegisteredHandler.mjs.map +1 -0
  2918. package/build/packages/core/src/matchmaker/controller.js +46 -0
  2919. package/build/packages/core/src/matchmaker/controller.js.map +1 -0
  2920. package/build/packages/core/src/matchmaker/controller.mjs +39 -0
  2921. package/build/packages/core/src/matchmaker/controller.mjs.map +1 -0
  2922. package/build/packages/core/src/matchmaker/driver/Query.js +53 -0
  2923. package/build/packages/core/src/matchmaker/driver/Query.js.map +1 -0
  2924. package/build/packages/core/src/matchmaker/driver/Query.mjs +49 -0
  2925. package/build/packages/core/src/matchmaker/driver/Query.mjs.map +1 -0
  2926. package/build/packages/core/src/matchmaker/driver/RoomData.js +80 -0
  2927. package/build/packages/core/src/matchmaker/driver/RoomData.js.map +1 -0
  2928. package/build/packages/core/src/matchmaker/driver/RoomData.mjs +76 -0
  2929. package/build/packages/core/src/matchmaker/driver/RoomData.mjs.map +1 -0
  2930. package/build/packages/core/src/matchmaker/driver/index.js +34 -0
  2931. package/build/packages/core/src/matchmaker/driver/index.js.map +1 -0
  2932. package/build/packages/core/src/matchmaker/driver/index.mjs +30 -0
  2933. package/build/packages/core/src/matchmaker/driver/index.mjs.map +1 -0
  2934. package/build/packages/core/src/presence/LocalPresence.js +156 -0
  2935. package/build/packages/core/src/presence/LocalPresence.js.map +1 -0
  2936. package/build/packages/core/src/presence/LocalPresence.mjs +152 -0
  2937. package/build/packages/core/src/presence/LocalPresence.mjs.map +1 -0
  2938. package/build/packages/core/src/rooms/LobbyRoom.js +101 -0
  2939. package/build/packages/core/src/rooms/LobbyRoom.js.map +1 -0
  2940. package/build/packages/core/src/rooms/LobbyRoom.mjs +97 -0
  2941. package/build/packages/core/src/rooms/LobbyRoom.mjs.map +1 -0
  2942. package/build/packages/core/src/rooms/RelayRoom.js +79 -0
  2943. package/build/packages/core/src/rooms/RelayRoom.js.map +1 -0
  2944. package/build/packages/core/src/rooms/RelayRoom.mjs +75 -0
  2945. package/build/packages/core/src/rooms/RelayRoom.mjs.map +1 -0
  2946. package/build/packages/core/src/serializer/NoneSerializer.js +19 -0
  2947. package/build/packages/core/src/serializer/NoneSerializer.js.map +1 -0
  2948. package/build/packages/core/src/serializer/NoneSerializer.mjs +15 -0
  2949. package/build/packages/core/src/serializer/NoneSerializer.mjs.map +1 -0
  2950. package/build/packages/core/src/serializer/SchemaSerializer.js +85 -0
  2951. package/build/packages/core/src/serializer/SchemaSerializer.js.map +1 -0
  2952. package/build/packages/core/src/serializer/SchemaSerializer.mjs +81 -0
  2953. package/build/packages/core/src/serializer/SchemaSerializer.mjs.map +1 -0
  2954. package/build/packages/drivers/mongoose-driver/build/index.mjs +23 -0
  2955. package/build/packages/drivers/mongoose-driver/build/index.mjs.js +25 -0
  2956. package/build/packages/drivers/mongoose-driver/build/index.mjs.js.map +1 -0
  2957. package/build/packages/drivers/mongoose-driver/build/index.mjs.map +1 -0
  2958. package/build/packages/transport/ws-transport/build/WebSocketClient.mjs +70 -0
  2959. package/build/packages/transport/ws-transport/build/WebSocketClient.mjs.js +74 -0
  2960. package/build/packages/transport/ws-transport/build/WebSocketClient.mjs.js.map +1 -0
  2961. package/build/packages/transport/ws-transport/build/WebSocketClient.mjs.map +1 -0
  2962. package/build/packages/transport/ws-transport/build/WebSocketTransport.mjs +102 -0
  2963. package/build/packages/transport/ws-transport/build/WebSocketTransport.mjs.js +110 -0
  2964. package/build/packages/transport/ws-transport/build/WebSocketTransport.mjs.js.map +1 -0
  2965. package/build/packages/transport/ws-transport/build/WebSocketTransport.mjs.map +1 -0
  2966. package/build/rooms/LobbyRoom.js +4 -4
  2967. package/build/rooms/LobbyRoom.js.map +1 -1
  2968. package/build/rooms/LobbyRoom.mjs +4 -4
  2969. package/build/rooms/LobbyRoom.mjs.map +1 -1
  2970. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.mjs","sources":["../../../../../../node_modules/mongoose/lib/query.js"],"sourcesContent":["'use strict';\n\n/*!\n * Module dependencies.\n */\n\nconst CastError = require('./error/cast');\nconst DocumentNotFoundError = require('./error/notFound');\nconst Kareem = require('kareem');\nconst MongooseError = require('./error/mongooseError');\nconst ObjectParameterError = require('./error/objectParameter');\nconst QueryCursor = require('./cursor/QueryCursor');\nconst ReadPreference = require('./driver').get().ReadPreference;\nconst applyGlobalMaxTimeMS = require('./helpers/query/applyGlobalMaxTimeMS');\nconst applyWriteConcern = require('./helpers/schema/applyWriteConcern');\nconst cast = require('./cast');\nconst castArrayFilters = require('./helpers/update/castArrayFilters');\nconst castUpdate = require('./helpers/query/castUpdate');\nconst completeMany = require('./helpers/query/completeMany');\nconst get = require('./helpers/get');\nconst promiseOrCallback = require('./helpers/promiseOrCallback');\nconst getDiscriminatorByValue = require('./helpers/discriminator/getDiscriminatorByValue');\nconst hasDollarKeys = require('./helpers/query/hasDollarKeys');\nconst helpers = require('./queryhelpers');\nconst immediate = require('./helpers/immediate');\nconst isExclusive = require('./helpers/projection/isExclusive');\nconst isInclusive = require('./helpers/projection/isInclusive');\nconst mquery = require('mquery');\nconst parseProjection = require('./helpers/projection/parseProjection');\nconst removeUnusedArrayFilters = require('./helpers/update/removeUnusedArrayFilters');\nconst sanitizeProjection = require('./helpers/query/sanitizeProjection');\nconst selectPopulatedFields = require('./helpers/query/selectPopulatedFields');\nconst setDefaultsOnInsert = require('./helpers/setDefaultsOnInsert');\nconst slice = require('sliced');\nconst updateValidators = require('./helpers/updateValidators');\nconst util = require('util');\nconst utils = require('./utils');\nconst wrapThunk = require('./helpers/query/wrapThunk');\n\n/**\n * Query constructor used for building queries. You do not need\n * to instantiate a `Query` directly. Instead use Model functions like\n * [`Model.find()`](/docs/api.html#find_find).\n *\n * ####Example:\n *\n * const query = MyModel.find(); // `query` is an instance of `Query`\n * query.setOptions({ lean : true });\n * query.collection(MyModel.collection);\n * query.where('age').gte(21).exec(callback);\n *\n * // You can instantiate a query directly. There is no need to do\n * // this unless you're an advanced user with a very good reason to.\n * const query = new mongoose.Query();\n *\n * @param {Object} [options]\n * @param {Object} [model]\n * @param {Object} [conditions]\n * @param {Object} [collection] Mongoose collection\n * @api public\n */\n\nfunction Query(conditions, options, model, collection) {\n // this stuff is for dealing with custom queries created by #toConstructor\n if (!this._mongooseOptions) {\n this._mongooseOptions = {};\n }\n options = options || {};\n\n this._transforms = [];\n this._hooks = new Kareem();\n this._executionCount = 0;\n\n // this is the case where we have a CustomQuery, we need to check if we got\n // options passed in, and if we did, merge them in\n const keys = Object.keys(options);\n for (const key of keys) {\n this._mongooseOptions[key] = options[key];\n }\n\n if (collection) {\n this.mongooseCollection = collection;\n }\n\n if (model) {\n this.model = model;\n this.schema = model.schema;\n }\n\n\n // this is needed because map reduce returns a model that can be queried, but\n // all of the queries on said model should be lean\n if (this.model && this.model._mapreduce) {\n this.lean();\n }\n\n // inherit mquery\n mquery.call(this, this.mongooseCollection, options);\n\n if (conditions) {\n this.find(conditions);\n }\n\n this.options = this.options || {};\n\n // For gh-6880. mquery still needs to support `fields` by default for old\n // versions of MongoDB\n this.$useProjection = true;\n\n const collation = get(this, 'schema.options.collation', null);\n if (collation != null) {\n this.options.collation = collation;\n }\n}\n\n/*!\n * inherit mquery\n */\n\nQuery.prototype = new mquery;\nQuery.prototype.constructor = Query;\nQuery.base = mquery.prototype;\n\n/**\n * Flag to opt out of using `$geoWithin`.\n *\n * mongoose.Query.use$geoWithin = false;\n *\n * MongoDB 2.4 deprecated the use of `$within`, replacing it with `$geoWithin`. Mongoose uses `$geoWithin` by default (which is 100% backward compatible with `$within`). If you are running an older version of MongoDB, set this flag to `false` so your `within()` queries continue to work.\n *\n * @see http://docs.mongodb.org/manual/reference/operator/geoWithin/\n * @default true\n * @property use$geoWithin\n * @memberOf Query\n * @receiver Query\n * @api public\n */\n\nQuery.use$geoWithin = mquery.use$geoWithin;\n\n/**\n * Converts this query to a customized, reusable query constructor with all arguments and options retained.\n *\n * ####Example\n *\n * // Create a query for adventure movies and read from the primary\n * // node in the replica-set unless it is down, in which case we'll\n * // read from a secondary node.\n * const query = Movie.find({ tags: 'adventure' }).read('primaryPreferred');\n *\n * // create a custom Query constructor based off these settings\n * const Adventure = query.toConstructor();\n *\n * // Adventure is now a subclass of mongoose.Query and works the same way but with the\n * // default query parameters and options set.\n * Adventure().exec(callback)\n *\n * // further narrow down our query results while still using the previous settings\n * Adventure().where({ name: /^Life/ }).exec(callback);\n *\n * // since Adventure is a stand-alone constructor we can also add our own\n * // helper methods and getters without impacting global queries\n * Adventure.prototype.startsWith = function (prefix) {\n * this.where({ name: new RegExp('^' + prefix) })\n * return this;\n * }\n * Object.defineProperty(Adventure.prototype, 'highlyRated', {\n * get: function () {\n * this.where({ rating: { $gt: 4.5 }});\n * return this;\n * }\n * })\n * Adventure().highlyRated.startsWith('Life').exec(callback)\n *\n * @return {Query} subclass-of-Query\n * @api public\n */\n\nQuery.prototype.toConstructor = function toConstructor() {\n const model = this.model;\n const coll = this.mongooseCollection;\n\n const CustomQuery = function(criteria, options) {\n if (!(this instanceof CustomQuery)) {\n return new CustomQuery(criteria, options);\n }\n this._mongooseOptions = utils.clone(p._mongooseOptions);\n Query.call(this, criteria, options || null, model, coll);\n };\n\n util.inherits(CustomQuery, model.Query);\n\n // set inherited defaults\n const p = CustomQuery.prototype;\n\n p.options = {};\n\n // Need to handle `sort()` separately because entries-style `sort()` syntax\n // `sort([['prop1', 1]])` confuses mquery into losing the outer nested array.\n // See gh-8159\n const options = Object.assign({}, this.options);\n if (options.sort != null) {\n p.sort(options.sort);\n delete options.sort;\n }\n p.setOptions(options);\n\n p.op = this.op;\n p._conditions = utils.clone(this._conditions);\n p._fields = utils.clone(this._fields);\n p._update = utils.clone(this._update, {\n flattenDecimals: false\n });\n p._path = this._path;\n p._distinct = this._distinct;\n p._collection = this._collection;\n p._mongooseOptions = this._mongooseOptions;\n\n return CustomQuery;\n};\n\n/**\n * Specifies a javascript function or expression to pass to MongoDBs query system.\n *\n * ####Example\n *\n * query.$where('this.comments.length === 10 || this.name.length === 5')\n *\n * // or\n *\n * query.$where(function () {\n * return this.comments.length === 10 || this.name.length === 5;\n * })\n *\n * ####NOTE:\n *\n * Only use `$where` when you have a condition that cannot be met using other MongoDB operators like `$lt`.\n * **Be sure to read about all of [its caveats](http://docs.mongodb.org/manual/reference/operator/where/) before using.**\n *\n * @see $where http://docs.mongodb.org/manual/reference/operator/where/\n * @method $where\n * @param {String|Function} js javascript string or function\n * @return {Query} this\n * @memberOf Query\n * @instance\n * @method $where\n * @api public\n */\n\n/**\n * Specifies a `path` for use with chaining.\n *\n * ####Example\n *\n * // instead of writing:\n * User.find({age: {$gte: 21, $lte: 65}}, callback);\n *\n * // we can instead write:\n * User.where('age').gte(21).lte(65);\n *\n * // passing query conditions is permitted\n * User.find().where({ name: 'vonderful' })\n *\n * // chaining\n * User\n * .where('age').gte(21).lte(65)\n * .where('name', /^vonderful/i)\n * .where('friends').slice(10)\n * .exec(callback)\n *\n * @method where\n * @memberOf Query\n * @instance\n * @param {String|Object} [path]\n * @param {any} [val]\n * @return {Query} this\n * @api public\n */\n\n/**\n * Specifies a `$slice` projection for an array.\n *\n * ####Example\n *\n * query.slice('comments', 5)\n * query.slice('comments', -5)\n * query.slice('comments', [10, 5])\n * query.where('comments').slice(5)\n * query.where('comments').slice([-10, 5])\n *\n * @method slice\n * @memberOf Query\n * @instance\n * @param {String} [path]\n * @param {Number} val number/range of elements to slice\n * @return {Query} this\n * @see mongodb http://www.mongodb.org/display/DOCS/Retrieving+a+Subset+of+Fields#RetrievingaSubsetofFields-RetrievingaSubrangeofArrayElements\n * @see $slice http://docs.mongodb.org/manual/reference/projection/slice/#prj._S_slice\n * @api public\n */\n\nQuery.prototype.slice = function() {\n if (arguments.length === 0) {\n return this;\n }\n\n this._validate('slice');\n\n let path;\n let val;\n\n if (arguments.length === 1) {\n const arg = arguments[0];\n if (typeof arg === 'object' && !Array.isArray(arg)) {\n const keys = Object.keys(arg);\n const numKeys = keys.length;\n for (let i = 0; i < numKeys; ++i) {\n this.slice(keys[i], arg[keys[i]]);\n }\n return this;\n }\n this._ensurePath('slice');\n path = this._path;\n val = arguments[0];\n } else if (arguments.length === 2) {\n if ('number' === typeof arguments[0]) {\n this._ensurePath('slice');\n path = this._path;\n val = slice(arguments);\n } else {\n path = arguments[0];\n val = arguments[1];\n }\n } else if (arguments.length === 3) {\n path = arguments[0];\n val = slice(arguments, 1);\n }\n\n const p = {};\n p[path] = { $slice: val };\n this.select(p);\n\n return this;\n};\n\n\n/**\n * Specifies the complementary comparison value for paths specified with `where()`\n *\n * ####Example\n *\n * User.where('age').equals(49);\n *\n * // is the same as\n *\n * User.where('age', 49);\n *\n * @method equals\n * @memberOf Query\n * @instance\n * @param {Object} val\n * @return {Query} this\n * @api public\n */\n\n/**\n * Specifies arguments for an `$or` condition.\n *\n * ####Example\n *\n * query.or([{ color: 'red' }, { status: 'emergency' }])\n *\n * @see $or http://docs.mongodb.org/manual/reference/operator/or/\n * @method or\n * @memberOf Query\n * @instance\n * @param {Array} array array of conditions\n * @return {Query} this\n * @api public\n */\n\n/**\n * Specifies arguments for a `$nor` condition.\n *\n * ####Example\n *\n * query.nor([{ color: 'green' }, { status: 'ok' }])\n *\n * @see $nor http://docs.mongodb.org/manual/reference/operator/nor/\n * @method nor\n * @memberOf Query\n * @instance\n * @param {Array} array array of conditions\n * @return {Query} this\n * @api public\n */\n\n/**\n * Specifies arguments for a `$and` condition.\n *\n * ####Example\n *\n * query.and([{ color: 'green' }, { status: 'ok' }])\n *\n * @method and\n * @memberOf Query\n * @instance\n * @see $and http://docs.mongodb.org/manual/reference/operator/and/\n * @param {Array} array array of conditions\n * @return {Query} this\n * @api public\n */\n\n/**\n * Specifies a `$gt` query condition.\n *\n * When called with one argument, the most recent path passed to `where()` is used.\n *\n * ####Example\n *\n * Thing.find().where('age').gt(21)\n *\n * // or\n * Thing.find().gt('age', 21)\n *\n * @method gt\n * @memberOf Query\n * @instance\n * @param {String} [path]\n * @param {Number} val\n * @see $gt http://docs.mongodb.org/manual/reference/operator/gt/\n * @api public\n */\n\n/**\n * Specifies a `$gte` query condition.\n *\n * When called with one argument, the most recent path passed to `where()` is used.\n *\n * @method gte\n * @memberOf Query\n * @instance\n * @param {String} [path]\n * @param {Number} val\n * @see $gte http://docs.mongodb.org/manual/reference/operator/gte/\n * @api public\n */\n\n/**\n * Specifies a `$lt` query condition.\n *\n * When called with one argument, the most recent path passed to `where()` is used.\n *\n * @method lt\n * @memberOf Query\n * @instance\n * @param {String} [path]\n * @param {Number} val\n * @see $lt http://docs.mongodb.org/manual/reference/operator/lt/\n * @api public\n */\n\n/**\n * Specifies a `$lte` query condition.\n *\n * When called with one argument, the most recent path passed to `where()` is used.\n *\n * @method lte\n * @see $lte http://docs.mongodb.org/manual/reference/operator/lte/\n * @memberOf Query\n * @instance\n * @param {String} [path]\n * @param {Number} val\n * @api public\n */\n\n/**\n * Specifies a `$ne` query condition.\n *\n * When called with one argument, the most recent path passed to `where()` is used.\n *\n * @see $ne http://docs.mongodb.org/manual/reference/operator/ne/\n * @method ne\n * @memberOf Query\n * @instance\n * @param {String} [path]\n * @param {any} val\n * @api public\n */\n\n/**\n * Specifies an `$in` query condition.\n *\n * When called with one argument, the most recent path passed to `where()` is used.\n *\n * @see $in http://docs.mongodb.org/manual/reference/operator/in/\n * @method in\n * @memberOf Query\n * @instance\n * @param {String} [path]\n * @param {Array} val\n * @api public\n */\n\n/**\n * Specifies an `$nin` query condition.\n *\n * When called with one argument, the most recent path passed to `where()` is used.\n *\n * @see $nin http://docs.mongodb.org/manual/reference/operator/nin/\n * @method nin\n * @memberOf Query\n * @instance\n * @param {String} [path]\n * @param {Array} val\n * @api public\n */\n\n/**\n * Specifies an `$all` query condition.\n *\n * When called with one argument, the most recent path passed to `where()` is used.\n *\n * ####Example:\n *\n * MyModel.find().where('pets').all(['dog', 'cat', 'ferret']);\n * // Equivalent:\n * MyModel.find().all('pets', ['dog', 'cat', 'ferret']);\n *\n * @see $all http://docs.mongodb.org/manual/reference/operator/all/\n * @method all\n * @memberOf Query\n * @instance\n * @param {String} [path]\n * @param {Array} val\n * @api public\n */\n\n/**\n * Specifies a `$size` query condition.\n *\n * When called with one argument, the most recent path passed to `where()` is used.\n *\n * ####Example\n *\n * MyModel.where('tags').size(0).exec(function (err, docs) {\n * if (err) return handleError(err);\n *\n * assert(Array.isArray(docs));\n * console.log('documents with 0 tags', docs);\n * })\n *\n * @see $size http://docs.mongodb.org/manual/reference/operator/size/\n * @method size\n * @memberOf Query\n * @instance\n * @param {String} [path]\n * @param {Number} val\n * @api public\n */\n\n/**\n * Specifies a `$regex` query condition.\n *\n * When called with one argument, the most recent path passed to `where()` is used.\n *\n * @see $regex http://docs.mongodb.org/manual/reference/operator/regex/\n * @method regex\n * @memberOf Query\n * @instance\n * @param {String} [path]\n * @param {String|RegExp} val\n * @api public\n */\n\n/**\n * Specifies a `maxDistance` query condition.\n *\n * When called with one argument, the most recent path passed to `where()` is used.\n *\n * @see $maxDistance http://docs.mongodb.org/manual/reference/operator/maxDistance/\n * @method maxDistance\n * @memberOf Query\n * @instance\n * @param {String} [path]\n * @param {Number} val\n * @api public\n */\n\n/**\n * Specifies a `$mod` condition, filters documents for documents whose\n * `path` property is a number that is equal to `remainder` modulo `divisor`.\n *\n * ####Example\n *\n * // All find products whose inventory is odd\n * Product.find().mod('inventory', [2, 1]);\n * Product.find().where('inventory').mod([2, 1]);\n * // This syntax is a little strange, but supported.\n * Product.find().where('inventory').mod(2, 1);\n *\n * @method mod\n * @memberOf Query\n * @instance\n * @param {String} [path]\n * @param {Array} val must be of length 2, first element is `divisor`, 2nd element is `remainder`.\n * @return {Query} this\n * @see $mod http://docs.mongodb.org/manual/reference/operator/mod/\n * @api public\n */\n\nQuery.prototype.mod = function() {\n let val;\n let path;\n\n if (arguments.length === 1) {\n this._ensurePath('mod');\n val = arguments[0];\n path = this._path;\n } else if (arguments.length === 2 && !Array.isArray(arguments[1])) {\n this._ensurePath('mod');\n val = slice(arguments);\n path = this._path;\n } else if (arguments.length === 3) {\n val = slice(arguments, 1);\n path = arguments[0];\n } else {\n val = arguments[1];\n path = arguments[0];\n }\n\n const conds = this._conditions[path] || (this._conditions[path] = {});\n conds.$mod = val;\n return this;\n};\n\n/**\n * Specifies an `$exists` condition\n *\n * ####Example\n *\n * // { name: { $exists: true }}\n * Thing.where('name').exists()\n * Thing.where('name').exists(true)\n * Thing.find().exists('name')\n *\n * // { name: { $exists: false }}\n * Thing.where('name').exists(false);\n * Thing.find().exists('name', false);\n *\n * @method exists\n * @memberOf Query\n * @instance\n * @param {String} [path]\n * @param {Boolean} val\n * @return {Query} this\n * @see $exists http://docs.mongodb.org/manual/reference/operator/exists/\n * @api public\n */\n\n/**\n * Specifies an `$elemMatch` condition\n *\n * ####Example\n *\n * query.elemMatch('comment', { author: 'autobot', votes: {$gte: 5}})\n *\n * query.where('comment').elemMatch({ author: 'autobot', votes: {$gte: 5}})\n *\n * query.elemMatch('comment', function (elem) {\n * elem.where('author').equals('autobot');\n * elem.where('votes').gte(5);\n * })\n *\n * query.where('comment').elemMatch(function (elem) {\n * elem.where({ author: 'autobot' });\n * elem.where('votes').gte(5);\n * })\n *\n * @method elemMatch\n * @memberOf Query\n * @instance\n * @param {String|Object|Function} path\n * @param {Object|Function} filter\n * @return {Query} this\n * @see $elemMatch http://docs.mongodb.org/manual/reference/operator/elemMatch/\n * @api public\n */\n\n/**\n * Defines a `$within` or `$geoWithin` argument for geo-spatial queries.\n *\n * ####Example\n *\n * query.where(path).within().box()\n * query.where(path).within().circle()\n * query.where(path).within().geometry()\n *\n * query.where('loc').within({ center: [50,50], radius: 10, unique: true, spherical: true });\n * query.where('loc').within({ box: [[40.73, -73.9], [40.7, -73.988]] });\n * query.where('loc').within({ polygon: [[],[],[],[]] });\n *\n * query.where('loc').within([], [], []) // polygon\n * query.where('loc').within([], []) // box\n * query.where('loc').within({ type: 'LineString', coordinates: [...] }); // geometry\n *\n * **MUST** be used after `where()`.\n *\n * ####NOTE:\n *\n * As of Mongoose 3.7, `$geoWithin` is always used for queries. To change this behavior, see [Query.use$geoWithin](#query_Query-use%2524geoWithin).\n *\n * ####NOTE:\n *\n * In Mongoose 3.7, `within` changed from a getter to a function. If you need the old syntax, use [this](https://github.com/ebensing/mongoose-within).\n *\n * @method within\n * @see $polygon http://docs.mongodb.org/manual/reference/operator/polygon/\n * @see $box http://docs.mongodb.org/manual/reference/operator/box/\n * @see $geometry http://docs.mongodb.org/manual/reference/operator/geometry/\n * @see $center http://docs.mongodb.org/manual/reference/operator/center/\n * @see $centerSphere http://docs.mongodb.org/manual/reference/operator/centerSphere/\n * @memberOf Query\n * @instance\n * @return {Query} this\n * @api public\n */\n\n/**\n * Specifies the maximum number of documents the query will return.\n *\n * ####Example\n *\n * query.limit(20)\n *\n * ####Note\n *\n * Cannot be used with `distinct()`\n *\n * @method limit\n * @memberOf Query\n * @instance\n * @param {Number} val\n * @api public\n */\n\n/**\n * Specifies the number of documents to skip.\n *\n * ####Example\n *\n * query.skip(100).limit(20)\n *\n * ####Note\n *\n * Cannot be used with `distinct()`\n *\n * @method skip\n * @memberOf Query\n * @instance\n * @param {Number} val\n * @see cursor.skip http://docs.mongodb.org/manual/reference/method/cursor.skip/\n * @api public\n */\n\n/**\n * Specifies the maxScan option.\n *\n * ####Example\n *\n * query.maxScan(100)\n *\n * ####Note\n *\n * Cannot be used with `distinct()`\n *\n * @method maxScan\n * @memberOf Query\n * @instance\n * @param {Number} val\n * @see maxScan http://docs.mongodb.org/manual/reference/operator/maxScan/\n * @api public\n */\n\n/**\n * Specifies the batchSize option.\n *\n * ####Example\n *\n * query.batchSize(100)\n *\n * ####Note\n *\n * Cannot be used with `distinct()`\n *\n * @method batchSize\n * @memberOf Query\n * @instance\n * @param {Number} val\n * @see batchSize http://docs.mongodb.org/manual/reference/method/cursor.batchSize/\n * @api public\n */\n\n/**\n * Specifies the `comment` option.\n *\n * ####Example\n *\n * query.comment('login query')\n *\n * ####Note\n *\n * Cannot be used with `distinct()`\n *\n * @method comment\n * @memberOf Query\n * @instance\n * @param {String} val\n * @see comment http://docs.mongodb.org/manual/reference/operator/comment/\n * @api public\n */\n\n/**\n * Specifies this query as a `snapshot` query.\n *\n * ####Example\n *\n * query.snapshot() // true\n * query.snapshot(true)\n * query.snapshot(false)\n *\n * ####Note\n *\n * Cannot be used with `distinct()`\n *\n * @method snapshot\n * @memberOf Query\n * @instance\n * @see snapshot http://docs.mongodb.org/manual/reference/operator/snapshot/\n * @return {Query} this\n * @api public\n */\n\n/**\n * Sets query hints.\n *\n * ####Example\n *\n * query.hint({ indexA: 1, indexB: -1})\n *\n * ####Note\n *\n * Cannot be used with `distinct()`\n *\n * @method hint\n * @memberOf Query\n * @instance\n * @param {Object} val a hint object\n * @return {Query} this\n * @see $hint http://docs.mongodb.org/manual/reference/operator/hint/\n * @api public\n */\n\n/**\n * Get/set the current projection (AKA fields). Pass `null` to remove the\n * current projection.\n *\n * Unlike `projection()`, the `select()` function modifies the current\n * projection in place. This function overwrites the existing projection.\n *\n * ####Example:\n *\n * const q = Model.find();\n * q.projection(); // null\n *\n * q.select('a b');\n * q.projection(); // { a: 1, b: 1 }\n *\n * q.projection({ c: 1 });\n * q.projection(); // { c: 1 }\n *\n * q.projection(null);\n * q.projection(); // null\n *\n *\n * @method projection\n * @memberOf Query\n * @instance\n * @param {Object|null} arg\n * @return {Object} the current projection\n * @api public\n */\n\nQuery.prototype.projection = function(arg) {\n if (arguments.length === 0) {\n return this._fields;\n }\n\n this._fields = {};\n this._userProvidedFields = {};\n this.select(arg);\n return this._fields;\n};\n\n/**\n * Specifies which document fields to include or exclude (also known as the query \"projection\")\n *\n * When using string syntax, prefixing a path with `-` will flag that path as excluded. When a path does not have the `-` prefix, it is included. Lastly, if a path is prefixed with `+`, it forces inclusion of the path, which is useful for paths excluded at the [schema level](/docs/api.html#schematype_SchemaType-select).\n *\n * A projection _must_ be either inclusive or exclusive. In other words, you must\n * either list the fields to include (which excludes all others), or list the fields\n * to exclude (which implies all other fields are included). The [`_id` field is the only exception because MongoDB includes it by default](https://docs.mongodb.com/manual/tutorial/project-fields-from-query-results/#suppress-id-field).\n *\n * ####Example\n *\n * // include a and b, exclude other fields\n * query.select('a b');\n * // Equivalent syntaxes:\n * query.select(['a', 'b']);\n * query.select({ a: 1, b: 1 });\n *\n * // exclude c and d, include other fields\n * query.select('-c -d');\n *\n * // Use `+` to override schema-level `select: false` without making the\n * // projection inclusive.\n * const schema = new Schema({\n * foo: { type: String, select: false },\n * bar: String\n * });\n * // ...\n * query.select('+foo'); // Override foo's `select: false` without excluding `bar`\n *\n * // or you may use object notation, useful when\n * // you have keys already prefixed with a \"-\"\n * query.select({ a: 1, b: 1 });\n * query.select({ c: 0, d: 0 });\n *\n *\n * @method select\n * @memberOf Query\n * @instance\n * @param {Object|String|Array<String>} arg\n * @return {Query} this\n * @see SchemaType\n * @api public\n */\n\nQuery.prototype.select = function select() {\n let arg = arguments[0];\n if (!arg) return this;\n\n if (arguments.length !== 1) {\n throw new Error('Invalid select: select only takes 1 argument');\n }\n\n this._validate('select');\n\n const fields = this._fields || (this._fields = {});\n const userProvidedFields = this._userProvidedFields || (this._userProvidedFields = {});\n let sanitizeProjection = undefined;\n if (this.model != null && utils.hasUserDefinedProperty(this.model.db.options, 'sanitizeProjection')) {\n sanitizeProjection = this.model.db.options.sanitizeProjection;\n } else if (this.model != null && utils.hasUserDefinedProperty(this.model.base.options, 'sanitizeProjection')) {\n sanitizeProjection = this.model.base.options.sanitizeProjection;\n } else {\n sanitizeProjection = this._mongooseOptions.sanitizeProjection;\n }\n\n arg = parseProjection(arg);\n\n if (utils.isObject(arg)) {\n const keys = Object.keys(arg);\n for (let i = 0; i < keys.length; ++i) {\n let value = arg[keys[i]];\n if (typeof value === 'string' && sanitizeProjection) {\n value = 1;\n }\n fields[keys[i]] = value;\n userProvidedFields[keys[i]] = value;\n }\n return this;\n }\n\n throw new TypeError('Invalid select() argument. Must be string or object.');\n};\n\n/**\n * _DEPRECATED_ Sets the slaveOk option.\n *\n * **Deprecated** in MongoDB 2.2 in favor of [read preferences](#query_Query-read).\n *\n * ####Example:\n *\n * query.slaveOk() // true\n * query.slaveOk(true)\n * query.slaveOk(false)\n *\n * @method slaveOk\n * @memberOf Query\n * @instance\n * @deprecated use read() preferences instead if on mongodb >= 2.2\n * @param {Boolean} v defaults to true\n * @see mongodb http://docs.mongodb.org/manual/applications/replication/#read-preference\n * @see slaveOk http://docs.mongodb.org/manual/reference/method/rs.slaveOk/\n * @see read() #query_Query-read\n * @return {Query} this\n * @api public\n */\n\n/**\n * Determines the MongoDB nodes from which to read.\n *\n * ####Preferences:\n *\n * primary - (default) Read from primary only. Operations will produce an error if primary is unavailable. Cannot be combined with tags.\n * secondary Read from secondary if available, otherwise error.\n * primaryPreferred Read from primary if available, otherwise a secondary.\n * secondaryPreferred Read from a secondary if available, otherwise read from the primary.\n * nearest All operations read from among the nearest candidates, but unlike other modes, this option will include both the primary and all secondaries in the random selection.\n *\n * Aliases\n *\n * p primary\n * pp primaryPreferred\n * s secondary\n * sp secondaryPreferred\n * n nearest\n *\n * ####Example:\n *\n * new Query().read('primary')\n * new Query().read('p') // same as primary\n *\n * new Query().read('primaryPreferred')\n * new Query().read('pp') // same as primaryPreferred\n *\n * new Query().read('secondary')\n * new Query().read('s') // same as secondary\n *\n * new Query().read('secondaryPreferred')\n * new Query().read('sp') // same as secondaryPreferred\n *\n * new Query().read('nearest')\n * new Query().read('n') // same as nearest\n *\n * // read from secondaries with matching tags\n * new Query().read('s', [{ dc:'sf', s: 1 },{ dc:'ma', s: 2 }])\n *\n * Read more about how to use read preferences [here](http://docs.mongodb.org/manual/applications/replication/#read-preference) and [here](http://mongodb.github.com/node-mongodb-native/driver-articles/anintroductionto1_1and2_2.html#read-preferences).\n *\n * @method read\n * @memberOf Query\n * @instance\n * @param {String} pref one of the listed preference options or aliases\n * @param {Array} [tags] optional tags for this query\n * @see mongodb http://docs.mongodb.org/manual/applications/replication/#read-preference\n * @see driver http://mongodb.github.com/node-mongodb-native/driver-articles/anintroductionto1_1and2_2.html#read-preferences\n * @return {Query} this\n * @api public\n */\n\nQuery.prototype.read = function read(pref, tags) {\n // first cast into a ReadPreference object to support tags\n const read = new ReadPreference(pref, tags);\n this.options.readPreference = read;\n return this;\n};\n\n/**\n * Sets the [MongoDB session](https://docs.mongodb.com/manual/reference/server-sessions/)\n * associated with this query. Sessions are how you mark a query as part of a\n * [transaction](/docs/transactions.html).\n *\n * Calling `session(null)` removes the session from this query.\n *\n * ####Example:\n *\n * const s = await mongoose.startSession();\n * await mongoose.model('Person').findOne({ name: 'Axl Rose' }).session(s);\n *\n * @method session\n * @memberOf Query\n * @instance\n * @param {ClientSession} [session] from `await conn.startSession()`\n * @see Connection.prototype.startSession() /docs/api.html#connection_Connection-startSession\n * @see mongoose.startSession() /docs/api.html#mongoose_Mongoose-startSession\n * @return {Query} this\n * @api public\n */\n\nQuery.prototype.session = function session(v) {\n if (v == null) {\n delete this.options.session;\n }\n this.options.session = v;\n return this;\n};\n\n/**\n * Sets the 3 write concern parameters for this query:\n *\n * - `w`: Sets the specified number of `mongod` servers, or tag set of `mongod` servers, that must acknowledge this write before this write is considered successful.\n * - `j`: Boolean, set to `true` to request acknowledgement that this operation has been persisted to MongoDB's on-disk journal.\n * - `wtimeout`: If [`w > 1`](/docs/api.html#query_Query-w), the maximum amount of time to wait for this write to propagate through the replica set before this operation fails. The default is `0`, which means no timeout.\n *\n * This option is only valid for operations that write to the database:\n *\n * - `deleteOne()`\n * - `deleteMany()`\n * - `findOneAndDelete()`\n * - `findOneAndReplace()`\n * - `findOneAndUpdate()`\n * - `remove()`\n * - `update()`\n * - `updateOne()`\n * - `updateMany()`\n *\n * Defaults to the schema's [`writeConcern` option](/docs/guide.html#writeConcern)\n *\n * ####Example:\n *\n * // The 'majority' option means the `deleteOne()` promise won't resolve\n * // until the `deleteOne()` has propagated to the majority of the replica set\n * await mongoose.model('Person').\n * deleteOne({ name: 'Ned Stark' }).\n * writeConcern({ w: 'majority' });\n *\n * @method writeConcern\n * @memberOf Query\n * @instance\n * @param {Object} writeConcern the write concern value to set\n * @see mongodb https://mongodb.github.io/node-mongodb-native/3.1/api/global.html#WriteConcern\n * @return {Query} this\n * @api public\n */\n\nQuery.prototype.writeConcern = function writeConcern(val) {\n if (val == null) {\n delete this.options.writeConcern;\n return this;\n }\n this.options.writeConcern = val;\n return this;\n};\n\n/**\n * Sets the specified number of `mongod` servers, or tag set of `mongod` servers,\n * that must acknowledge this write before this write is considered successful.\n * This option is only valid for operations that write to the database:\n *\n * - `deleteOne()`\n * - `deleteMany()`\n * - `findOneAndDelete()`\n * - `findOneAndReplace()`\n * - `findOneAndUpdate()`\n * - `remove()`\n * - `update()`\n * - `updateOne()`\n * - `updateMany()`\n *\n * Defaults to the schema's [`writeConcern.w` option](/docs/guide.html#writeConcern)\n *\n * ####Example:\n *\n * // The 'majority' option means the `deleteOne()` promise won't resolve\n * // until the `deleteOne()` has propagated to the majority of the replica set\n * await mongoose.model('Person').\n * deleteOne({ name: 'Ned Stark' }).\n * w('majority');\n *\n * @method w\n * @memberOf Query\n * @instance\n * @param {String|number} val 0 for fire-and-forget, 1 for acknowledged by one server, 'majority' for majority of the replica set, or [any of the more advanced options](https://docs.mongodb.com/manual/reference/write-concern/#w-option).\n * @see mongodb https://docs.mongodb.com/manual/reference/write-concern/#w-option\n * @return {Query} this\n * @api public\n */\n\nQuery.prototype.w = function w(val) {\n if (val == null) {\n delete this.options.w;\n }\n if (this.options.writeConcern != null) {\n this.options.writeConcern.w = val;\n } else {\n this.options.w = val;\n }\n return this;\n};\n\n/**\n * Requests acknowledgement that this operation has been persisted to MongoDB's\n * on-disk journal.\n * This option is only valid for operations that write to the database:\n *\n * - `deleteOne()`\n * - `deleteMany()`\n * - `findOneAndDelete()`\n * - `findOneAndReplace()`\n * - `findOneAndUpdate()`\n * - `remove()`\n * - `update()`\n * - `updateOne()`\n * - `updateMany()`\n *\n * Defaults to the schema's [`writeConcern.j` option](/docs/guide.html#writeConcern)\n *\n * ####Example:\n *\n * await mongoose.model('Person').deleteOne({ name: 'Ned Stark' }).j(true);\n *\n * @method j\n * @memberOf Query\n * @instance\n * @param {boolean} val\n * @see mongodb https://docs.mongodb.com/manual/reference/write-concern/#j-option\n * @return {Query} this\n * @api public\n */\n\nQuery.prototype.j = function j(val) {\n if (val == null) {\n delete this.options.j;\n }\n if (this.options.writeConcern != null) {\n this.options.writeConcern.j = val;\n } else {\n this.options.j = val;\n }\n return this;\n};\n\n/**\n * If [`w > 1`](/docs/api.html#query_Query-w), the maximum amount of time to\n * wait for this write to propagate through the replica set before this\n * operation fails. The default is `0`, which means no timeout.\n *\n * This option is only valid for operations that write to the database:\n *\n * - `deleteOne()`\n * - `deleteMany()`\n * - `findOneAndDelete()`\n * - `findOneAndReplace()`\n * - `findOneAndUpdate()`\n * - `remove()`\n * - `update()`\n * - `updateOne()`\n * - `updateMany()`\n *\n * Defaults to the schema's [`writeConcern.wtimeout` option](/docs/guide.html#writeConcern)\n *\n * ####Example:\n *\n * // The `deleteOne()` promise won't resolve until this `deleteOne()` has\n * // propagated to at least `w = 2` members of the replica set. If it takes\n * // longer than 1 second, this `deleteOne()` will fail.\n * await mongoose.model('Person').\n * deleteOne({ name: 'Ned Stark' }).\n * w(2).\n * wtimeout(1000);\n *\n * @method wtimeout\n * @memberOf Query\n * @instance\n * @param {number} ms number of milliseconds to wait\n * @see mongodb https://docs.mongodb.com/manual/reference/write-concern/#wtimeout\n * @return {Query} this\n * @api public\n */\n\nQuery.prototype.wtimeout = function wtimeout(ms) {\n if (ms == null) {\n delete this.options.wtimeout;\n }\n if (this.options.writeConcern != null) {\n this.options.writeConcern.wtimeout = ms;\n } else {\n this.options.wtimeout = ms;\n }\n return this;\n};\n\n/**\n * Sets the readConcern option for the query.\n *\n * ####Example:\n *\n * new Query().readConcern('local')\n * new Query().readConcern('l') // same as local\n *\n * new Query().readConcern('available')\n * new Query().readConcern('a') // same as available\n *\n * new Query().readConcern('majority')\n * new Query().readConcern('m') // same as majority\n *\n * new Query().readConcern('linearizable')\n * new Query().readConcern('lz') // same as linearizable\n *\n * new Query().readConcern('snapshot')\n * new Query().readConcern('s') // same as snapshot\n *\n *\n * ####Read Concern Level:\n *\n * local MongoDB 3.2+ The query returns from the instance with no guarantee guarantee that the data has been written to a majority of the replica set members (i.e. may be rolled back).\n * available MongoDB 3.6+ The query returns from the instance with no guarantee guarantee that the data has been written to a majority of the replica set members (i.e. may be rolled back).\n * majority MongoDB 3.2+ The query returns the data that has been acknowledged by a majority of the replica set members. The documents returned by the read operation are durable, even in the event of failure.\n * linearizable MongoDB 3.4+ The query returns data that reflects all successful majority-acknowledged writes that completed prior to the start of the read operation. The query may wait for concurrently executing writes to propagate to a majority of replica set members before returning results.\n * snapshot MongoDB 4.0+ Only available for operations within multi-document transactions. Upon transaction commit with write concern \"majority\", the transaction operations are guaranteed to have read from a snapshot of majority-committed data.\n *\n * Aliases\n *\n * l local\n * a available\n * m majority\n * lz linearizable\n * s snapshot\n *\n * Read more about how to use read concern [here](https://docs.mongodb.com/manual/reference/read-concern/).\n *\n * @memberOf Query\n * @method readConcern\n * @param {String} level one of the listed read concern level or their aliases\n * @see mongodb https://docs.mongodb.com/manual/reference/read-concern/\n * @return {Query} this\n * @api public\n */\n\n/**\n * Gets query options.\n *\n * ####Example:\n *\n * const query = new Query();\n * query.limit(10);\n * query.setOptions({ maxTimeMS: 1000 })\n * query.getOptions(); // { limit: 10, maxTimeMS: 1000 }\n *\n * @return {Object} the options\n * @api public\n */\n\nQuery.prototype.getOptions = function() {\n return this.options;\n};\n\n/**\n * Sets query options. Some options only make sense for certain operations.\n *\n * ####Options:\n *\n * The following options are only for `find()`:\n *\n * - [tailable](http://www.mongodb.org/display/DOCS/Tailable+Cursors)\n * - [sort](http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%7B%7Bsort(\\)%7D%7D)\n * - [limit](http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%7B%7Blimit%28%29%7D%7D)\n * - [skip](http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%7B%7Bskip%28%29%7D%7D)\n * - [allowDiskUse](https://docs.mongodb.com/manual/reference/method/cursor.allowDiskUse/)\n * - [batchSize](http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%7B%7BbatchSize%28%29%7D%7D)\n * - [readPreference](http://docs.mongodb.org/manual/applications/replication/#read-preference)\n * - [hint](http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24hint)\n * - [comment](http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24comment)\n * - [snapshot](http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%7B%7Bsnapshot%28%29%7D%7D)\n * - [maxscan](https://docs.mongodb.org/v3.2/reference/operator/meta/maxScan/#metaOp._S_maxScan)\n *\n * The following options are only for write operations: `update()`, `updateOne()`, `updateMany()`, `replaceOne()`, `findOneAndUpdate()`, and `findByIdAndUpdate()`:\n *\n * - [upsert](https://docs.mongodb.com/manual/reference/method/db.collection.update/)\n * - [writeConcern](https://docs.mongodb.com/manual/reference/method/db.collection.update/)\n * - [timestamps](https://mongoosejs.com/docs/guide.html#timestamps): If `timestamps` is set in the schema, set this option to `false` to skip timestamps for that particular update. Has no effect if `timestamps` is not enabled in the schema options.\n * - omitUndefined: delete any properties whose value is `undefined` when casting an update. In other words, if this is set, Mongoose will delete `baz` from the update in `Model.updateOne({}, { foo: 'bar', baz: undefined })` before sending the update to the server.\n * - overwriteDiscriminatorKey: allow setting the discriminator key in the update. Will use the correct discriminator schema if the update changes the discriminator key.\n * - overwrite: replace the entire document\n *\n * The following options are only for `find()`, `findOne()`, `findById()`, `findOneAndUpdate()`, and `findByIdAndUpdate()`:\n *\n * - [lean](./api.html#query_Query-lean)\n * - [populate](/docs/populate.html)\n * - [projection](/docs/api/query.html#query_Query-projection)\n * - sanitizeProjection\n *\n * The following options are only for all operations **except** `update()`, `updateOne()`, `updateMany()`, `remove()`, `deleteOne()`, and `deleteMany()`:\n *\n * - [maxTimeMS](https://docs.mongodb.com/manual/reference/operator/meta/maxTimeMS/)\n *\n * The following options are for `findOneAndUpdate()` and `findOneAndRemove()`\n *\n * - [useFindAndModify](/docs/deprecations.html#findandmodify)\n * - rawResult\n *\n * The following options are for all operations:\n *\n * - [collation](https://docs.mongodb.com/manual/reference/collation/)\n * - [session](https://docs.mongodb.com/manual/reference/server-sessions/)\n * - [explain](https://docs.mongodb.com/manual/reference/method/cursor.explain/)\n *\n * @param {Object} options\n * @return {Query} this\n * @api public\n */\n\nQuery.prototype.setOptions = function(options, overwrite) {\n // overwrite is only for internal use\n if (overwrite) {\n // ensure that _mongooseOptions & options are two different objects\n this._mongooseOptions = (options && utils.clone(options)) || {};\n this.options = options || {};\n\n if ('populate' in options) {\n this.populate(this._mongooseOptions);\n }\n return this;\n }\n if (options == null) {\n return this;\n }\n if (typeof options !== 'object') {\n throw new Error('Options must be an object, got \"' + options + '\"');\n }\n\n if (Array.isArray(options.populate)) {\n const populate = options.populate;\n delete options.populate;\n const _numPopulate = populate.length;\n for (let i = 0; i < _numPopulate; ++i) {\n this.populate(populate[i]);\n }\n }\n\n if ('useFindAndModify' in options) {\n this._mongooseOptions.useFindAndModify = options.useFindAndModify;\n delete options.useFindAndModify;\n }\n if ('omitUndefined' in options) {\n this._mongooseOptions.omitUndefined = options.omitUndefined;\n delete options.omitUndefined;\n }\n if ('setDefaultsOnInsert' in options) {\n this._mongooseOptions.setDefaultsOnInsert = options.setDefaultsOnInsert;\n delete options.setDefaultsOnInsert;\n }\n if ('overwriteDiscriminatorKey' in options) {\n this._mongooseOptions.overwriteDiscriminatorKey = options.overwriteDiscriminatorKey;\n delete options.overwriteDiscriminatorKey;\n }\n if ('sanitizeProjection' in options) {\n if (options.sanitizeProjection && !this._mongooseOptions.sanitizeProjection) {\n sanitizeProjection(this._fields);\n }\n\n this._mongooseOptions.sanitizeProjection = options.sanitizeProjection;\n delete options.sanitizeProjection;\n }\n\n if ('defaults' in options) {\n this._mongooseOptions.defaults = options.defaults;\n // deleting options.defaults will cause 7287 to fail\n }\n\n return Query.base.setOptions.call(this, options);\n};\n\n/**\n * Sets the [`explain` option](https://docs.mongodb.com/manual/reference/method/cursor.explain/),\n * which makes this query return detailed execution stats instead of the actual\n * query result. This method is useful for determining what index your queries\n * use.\n *\n * Calling `query.explain(v)` is equivalent to `query.setOptions({ explain: v })`\n *\n * ####Example:\n *\n * const query = new Query();\n * const res = await query.find({ a: 1 }).explain('queryPlanner');\n * console.log(res);\n *\n * @param {String} [verbose] The verbosity mode. Either 'queryPlanner', 'executionStats', or 'allPlansExecution'. The default is 'queryPlanner'\n * @return {Query} this\n * @api public\n */\n\nQuery.prototype.explain = function(verbose) {\n if (arguments.length === 0) {\n this.options.explain = true;\n } else if (verbose === false) {\n delete this.options.explain;\n } else {\n this.options.explain = verbose;\n }\n return this;\n};\n\n/**\n * Sets the [`allowDiskUse` option](https://docs.mongodb.com/manual/reference/method/cursor.allowDiskUse/),\n * which allows the MongoDB server to use more than 100 MB for this query's `sort()`. This option can\n * let you work around `QueryExceededMemoryLimitNoDiskUseAllowed` errors from the MongoDB server.\n *\n * Note that this option requires MongoDB server >= 4.4. Setting this option is a no-op for MongoDB 4.2\n * and earlier.\n *\n * Calling `query.allowDiskUse(v)` is equivalent to `query.setOptions({ allowDiskUse: v })`\n *\n * ####Example:\n *\n * await query.find().sort({ name: 1 }).allowDiskUse(true);\n * // Equivalent:\n * await query.find().sort({ name: 1 }).allowDiskUse();\n *\n * @param {Boolean} [v] Enable/disable `allowDiskUse`. If called with 0 arguments, sets `allowDiskUse: true`\n * @return {Query} this\n * @api public\n */\n\nQuery.prototype.allowDiskUse = function(v) {\n if (arguments.length === 0) {\n this.options.allowDiskUse = true;\n } else if (v === false) {\n delete this.options.allowDiskUse;\n } else {\n this.options.allowDiskUse = v;\n }\n return this;\n};\n\n/**\n * Sets the [maxTimeMS](https://docs.mongodb.com/manual/reference/method/cursor.maxTimeMS/)\n * option. This will tell the MongoDB server to abort if the query or write op\n * has been running for more than `ms` milliseconds.\n *\n * Calling `query.maxTimeMS(v)` is equivalent to `query.setOptions({ maxTimeMS: v })`\n *\n * ####Example:\n *\n * const query = new Query();\n * // Throws an error 'operation exceeded time limit' as long as there's\n * // >= 1 doc in the queried collection\n * const res = await query.find({ $where: 'sleep(1000) || true' }).maxTimeMS(100);\n *\n * @param {Number} [ms] The number of milliseconds\n * @return {Query} this\n * @api public\n */\n\nQuery.prototype.maxTimeMS = function(ms) {\n this.options.maxTimeMS = ms;\n return this;\n};\n\n/**\n * Returns the current query filter (also known as conditions) as a [POJO](https://masteringjs.io/tutorials/fundamentals/pojo).\n *\n * ####Example:\n *\n * const query = new Query();\n * query.find({ a: 1 }).where('b').gt(2);\n * query.getFilter(); // { a: 1, b: { $gt: 2 } }\n *\n * @return {Object} current query filter\n * @api public\n */\n\nQuery.prototype.getFilter = function() {\n return this._conditions;\n};\n\n/**\n * Returns the current query filter. Equivalent to `getFilter()`.\n *\n * You should use `getFilter()` instead of `getQuery()` where possible. `getQuery()`\n * will likely be deprecated in a future release.\n *\n * ####Example:\n *\n * const query = new Query();\n * query.find({ a: 1 }).where('b').gt(2);\n * query.getQuery(); // { a: 1, b: { $gt: 2 } }\n *\n * @return {Object} current query filter\n * @api public\n */\n\nQuery.prototype.getQuery = function() {\n return this._conditions;\n};\n\n/**\n * Sets the query conditions to the provided JSON object.\n *\n * ####Example:\n *\n * const query = new Query();\n * query.find({ a: 1 })\n * query.setQuery({ a: 2 });\n * query.getQuery(); // { a: 2 }\n *\n * @param {Object} new query conditions\n * @return {undefined}\n * @api public\n */\n\nQuery.prototype.setQuery = function(val) {\n this._conditions = val;\n};\n\n/**\n * Returns the current update operations as a JSON object.\n *\n * ####Example:\n *\n * const query = new Query();\n * query.update({}, { $set: { a: 5 } });\n * query.getUpdate(); // { $set: { a: 5 } }\n *\n * @return {Object} current update operations\n * @api public\n */\n\nQuery.prototype.getUpdate = function() {\n return this._update;\n};\n\n/**\n * Sets the current update operation to new value.\n *\n * ####Example:\n *\n * const query = new Query();\n * query.update({}, { $set: { a: 5 } });\n * query.setUpdate({ $set: { b: 6 } });\n * query.getUpdate(); // { $set: { b: 6 } }\n *\n * @param {Object} new update operation\n * @return {undefined}\n * @api public\n */\n\nQuery.prototype.setUpdate = function(val) {\n this._update = val;\n};\n\n/**\n * Returns fields selection for this query.\n *\n * @method _fieldsForExec\n * @return {Object}\n * @api private\n * @receiver Query\n */\n\nQuery.prototype._fieldsForExec = function() {\n return utils.clone(this._fields);\n};\n\n\n/**\n * Return an update document with corrected `$set` operations.\n *\n * @method _updateForExec\n * @api private\n * @receiver Query\n */\n\nQuery.prototype._updateForExec = function() {\n const update = utils.clone(this._update, {\n transform: false,\n depopulate: true\n });\n const ops = Object.keys(update);\n let i = ops.length;\n const ret = {};\n\n while (i--) {\n const op = ops[i];\n\n if (this.options.overwrite) {\n ret[op] = update[op];\n continue;\n }\n\n if ('$' !== op[0]) {\n // fix up $set sugar\n if (!ret.$set) {\n if (update.$set) {\n ret.$set = update.$set;\n } else {\n ret.$set = {};\n }\n }\n ret.$set[op] = update[op];\n ops.splice(i, 1);\n if (!~ops.indexOf('$set')) ops.push('$set');\n } else if ('$set' === op) {\n if (!ret.$set) {\n ret[op] = update[op];\n }\n } else {\n ret[op] = update[op];\n }\n }\n\n return ret;\n};\n\n/**\n * Makes sure _path is set.\n *\n * @method _ensurePath\n * @param {String} method\n * @api private\n * @receiver Query\n */\n\n/**\n * Determines if `conds` can be merged using `mquery().merge()`\n *\n * @method canMerge\n * @memberOf Query\n * @instance\n * @param {Object} conds\n * @return {Boolean}\n * @api private\n */\n\n/**\n * Returns default options for this query.\n *\n * @param {Model} model\n * @api private\n */\n\nQuery.prototype._optionsForExec = function(model) {\n const options = utils.clone(this.options);\n delete options.populate;\n model = model || this.model;\n\n if (!model) {\n return options;\n }\n\n const safe = get(model, 'schema.options.safe', null);\n if (!('safe' in options) && safe != null) {\n setSafe(options, safe);\n }\n\n // Apply schema-level `writeConcern` option\n applyWriteConcern(model.schema, options);\n\n const readPreference = get(model, 'schema.options.read');\n if (!('readPreference' in options) && readPreference) {\n options.readPreference = readPreference;\n }\n\n if (options.upsert !== void 0) {\n options.upsert = !!options.upsert;\n }\n if (options.writeConcern) {\n if (options.j) {\n options.writeConcern.j = options.j;\n delete options.j;\n }\n if (options.w) {\n options.writeConcern.w = options.w;\n delete options.w;\n }\n if (options.wtimeout) {\n options.writeConcern.wtimeout = options.wtimeout;\n delete options.wtimeout;\n }\n }\n return options;\n};\n\n/*!\n * ignore\n */\n\nconst safeDeprecationWarning = 'Mongoose: the `safe` option is deprecated. ' +\n 'Use write concerns instead: http://bit.ly/mongoose-w';\n\nconst setSafe = util.deprecate(function setSafe(options, safe) {\n options.safe = safe;\n}, safeDeprecationWarning);\n\n/**\n * Sets the lean option.\n *\n * Documents returned from queries with the `lean` option enabled are plain\n * javascript objects, not [Mongoose Documents](/api/document.html). They have no\n * `save` method, getters/setters, virtuals, or other Mongoose features.\n *\n * ####Example:\n *\n * new Query().lean() // true\n * new Query().lean(true)\n * new Query().lean(false)\n *\n * const docs = await Model.find().lean();\n * docs[0] instanceof mongoose.Document; // false\n *\n * [Lean is great for high-performance, read-only cases](/docs/tutorials/lean.html),\n * especially when combined\n * with [cursors](/docs/queries.html#streaming).\n *\n * If you need virtuals, getters/setters, or defaults with `lean()`, you need\n * to use a plugin. See:\n *\n * - [mongoose-lean-virtuals](https://plugins.mongoosejs.io/plugins/lean-virtuals)\n * - [mongoose-lean-getters](https://plugins.mongoosejs.io/plugins/lean-getters)\n * - [mongoose-lean-defaults](https://www.npmjs.com/package/mongoose-lean-defaults)\n *\n * @param {Boolean|Object} bool defaults to true\n * @return {Query} this\n * @api public\n */\n\nQuery.prototype.lean = function(v) {\n this._mongooseOptions.lean = arguments.length ? v : true;\n return this;\n};\n\n/**\n * Adds a `$set` to this query's update without changing the operation.\n * This is useful for query middleware so you can add an update regardless\n * of whether you use `updateOne()`, `updateMany()`, `findOneAndUpdate()`, etc.\n *\n * ####Example:\n *\n * // Updates `{ $set: { updatedAt: new Date() } }`\n * new Query().updateOne({}, {}).set('updatedAt', new Date());\n * new Query().updateMany({}, {}).set({ updatedAt: new Date() });\n *\n * @param {String|Object} path path or object of key/value pairs to set\n * @param {Any} [val] the value to set\n * @return {Query} this\n * @api public\n */\n\nQuery.prototype.set = function(path, val) {\n if (typeof path === 'object') {\n const keys = Object.keys(path);\n for (const key of keys) {\n this.set(key, path[key]);\n }\n return this;\n }\n\n this._update = this._update || {};\n this._update.$set = this._update.$set || {};\n this._update.$set[path] = val;\n return this;\n};\n\n/**\n * For update operations, returns the value of a path in the update's `$set`.\n * Useful for writing getters/setters that can work with both update operations\n * and `save()`.\n *\n * ####Example:\n *\n * const query = Model.updateOne({}, { $set: { name: 'Jean-Luc Picard' } });\n * query.get('name'); // 'Jean-Luc Picard'\n *\n * @param {String|Object} path path or object of key/value pairs to get\n * @return {Query} this\n * @api public\n */\n\nQuery.prototype.get = function get(path) {\n const update = this._update;\n if (update == null) {\n return void 0;\n }\n const $set = update.$set;\n if ($set == null) {\n return update[path];\n }\n\n if (utils.hasUserDefinedProperty(update, path)) {\n return update[path];\n }\n if (utils.hasUserDefinedProperty($set, path)) {\n return $set[path];\n }\n\n return void 0;\n};\n\n/**\n * Gets/sets the error flag on this query. If this flag is not null or\n * undefined, the `exec()` promise will reject without executing.\n *\n * ####Example:\n *\n * Query().error(); // Get current error value\n * Query().error(null); // Unset the current error\n * Query().error(new Error('test')); // `exec()` will resolve with test\n * Schema.pre('find', function() {\n * if (!this.getQuery().userId) {\n * this.error(new Error('Not allowed to query without setting userId'));\n * }\n * });\n *\n * Note that query casting runs **after** hooks, so cast errors will override\n * custom errors.\n *\n * ####Example:\n * const TestSchema = new Schema({ num: Number });\n * const TestModel = db.model('Test', TestSchema);\n * TestModel.find({ num: 'not a number' }).error(new Error('woops')).exec(function(error) {\n * // `error` will be a cast error because `num` failed to cast\n * });\n *\n * @param {Error|null} err if set, `exec()` will fail fast before sending the query to MongoDB\n * @return {Query} this\n * @api public\n */\n\nQuery.prototype.error = function error(err) {\n if (arguments.length === 0) {\n return this._error;\n }\n\n this._error = err;\n return this;\n};\n\n/*!\n * ignore\n */\n\nQuery.prototype._unsetCastError = function _unsetCastError() {\n if (this._error != null && !(this._error instanceof CastError)) {\n return;\n }\n return this.error(null);\n};\n\n/**\n * Getter/setter around the current mongoose-specific options for this query\n * Below are the current Mongoose-specific options.\n *\n * - `populate`: an array representing what paths will be populated. Should have one entry for each call to [`Query.prototype.populate()`](/docs/api.html#query_Query-populate)\n * - `lean`: if truthy, Mongoose will not [hydrate](/docs/api.html#model_Model.hydrate) any documents that are returned from this query. See [`Query.prototype.lean()`](/docs/api.html#query_Query-lean) for more information.\n * - `strict`: controls how Mongoose handles keys that aren't in the schema for updates. This option is `true` by default, which means Mongoose will silently strip any paths in the update that aren't in the schema. See the [`strict` mode docs](/docs/guide.html#strict) for more information.\n * - `strictQuery`: controls how Mongoose handles keys that aren't in the schema for the query `filter`. This option is `false` by default for backwards compatibility, which means Mongoose will allow `Model.find({ foo: 'bar' })` even if `foo` is not in the schema. See the [`strictQuery` docs](/docs/guide.html#strictQuery) for more information.\n * - `useFindAndModify`: used to work around the [`findAndModify()` deprecation warning](/docs/deprecations.html#findandmodify)\n * - `omitUndefined`: delete any properties whose value is `undefined` when casting an update. In other words, if this is set, Mongoose will delete `baz` from the update in `Model.updateOne({}, { foo: 'bar', baz: undefined })` before sending the update to the server.\n * - `nearSphere`: use `$nearSphere` instead of `near()`. See the [`Query.prototype.nearSphere()` docs](/docs/api.html#query_Query-nearSphere)\n *\n * Mongoose maintains a separate object for internal options because\n * Mongoose sends `Query.prototype.options` to the MongoDB server, and the\n * above options are not relevant for the MongoDB server.\n *\n * @param {Object} options if specified, overwrites the current options\n * @return {Object} the options\n * @api public\n */\n\nQuery.prototype.mongooseOptions = function(v) {\n if (arguments.length > 0) {\n this._mongooseOptions = v;\n }\n return this._mongooseOptions;\n};\n\n/*!\n * ignore\n */\n\nQuery.prototype._castConditions = function() {\n try {\n this.cast(this.model);\n this._unsetCastError();\n } catch (err) {\n this.error(err);\n }\n};\n\n/*!\n * ignore\n */\n\nfunction _castArrayFilters(query) {\n try {\n castArrayFilters(query);\n } catch (err) {\n query.error(err);\n }\n}\n\n/**\n * Thunk around find()\n *\n * @param {Function} [callback]\n * @return {Query} this\n * @api private\n */\nQuery.prototype._find = wrapThunk(function(callback) {\n this._castConditions();\n\n if (this.error() != null) {\n callback(this.error());\n return null;\n }\n\n callback = _wrapThunkCallback(this, callback);\n\n this._applyPaths();\n this._fields = this._castFields(this._fields);\n\n const fields = this._fieldsForExec();\n const mongooseOptions = this._mongooseOptions;\n const _this = this;\n const userProvidedFields = _this._userProvidedFields || {};\n\n applyGlobalMaxTimeMS(this.options, this.model);\n\n // Separate options to pass down to `completeMany()` in case we need to\n // set a session on the document\n const completeManyOptions = Object.assign({}, {\n session: get(this, 'options.session', null)\n });\n\n const cb = (err, docs) => {\n if (err) {\n return callback(err);\n }\n\n if (docs.length === 0) {\n return callback(null, docs);\n }\n if (this.options.explain) {\n return callback(null, docs);\n }\n\n if (!mongooseOptions.populate) {\n return mongooseOptions.lean ?\n callback(null, docs) :\n completeMany(_this.model, docs, fields, userProvidedFields, completeManyOptions, callback);\n }\n\n const pop = helpers.preparePopulationOptionsMQ(_this, mongooseOptions);\n completeManyOptions.populated = pop;\n _this.model.populate(docs, pop, function(err, docs) {\n if (err) return callback(err);\n return mongooseOptions.lean ?\n callback(null, docs) :\n completeMany(_this.model, docs, fields, userProvidedFields, completeManyOptions, callback);\n });\n };\n\n const options = this._optionsForExec();\n options.projection = this._fieldsForExec();\n const filter = this._conditions;\n\n this._collection.find(filter, options, cb);\n return null;\n});\n\n/**\n * Find all documents that match `selector`. The result will be an array of documents.\n *\n * If there are too many documents in the result to fit in memory, use\n * [`Query.prototype.cursor()`](api.html#query_Query-cursor)\n *\n * ####Example\n *\n * // Using async/await\n * const arr = await Movie.find({ year: { $gte: 1980, $lte: 1989 } });\n *\n * // Using callbacks\n * Movie.find({ year: { $gte: 1980, $lte: 1989 } }, function(err, arr) {});\n *\n * @param {Object|ObjectId} [filter] mongodb selector. If not specified, returns all documents.\n * @param {Function} [callback]\n * @return {Query} this\n * @api public\n */\n\nQuery.prototype.find = function(conditions, callback) {\n this.op = 'find';\n\n if (typeof conditions === 'function') {\n callback = conditions;\n conditions = {};\n }\n\n conditions = utils.toObject(conditions);\n\n if (mquery.canMerge(conditions)) {\n this.merge(conditions);\n\n prepareDiscriminatorCriteria(this);\n } else if (conditions != null) {\n this.error(new ObjectParameterError(conditions, 'filter', 'find'));\n }\n\n // if we don't have a callback, then just return the query object\n if (!callback) {\n return Query.base.find.call(this);\n }\n\n this.exec(callback);\n\n return this;\n};\n\n/**\n * Merges another Query or conditions object into this one.\n *\n * When a Query is passed, conditions, field selection and options are merged.\n *\n * @param {Query|Object} source\n * @return {Query} this\n */\n\nQuery.prototype.merge = function(source) {\n if (!source) {\n return this;\n }\n\n const opts = { overwrite: true };\n\n if (source instanceof Query) {\n // if source has a feature, apply it to ourselves\n\n if (source._conditions) {\n utils.merge(this._conditions, source._conditions, opts);\n }\n\n if (source._fields) {\n this._fields || (this._fields = {});\n utils.merge(this._fields, source._fields, opts);\n }\n\n if (source.options) {\n this.options || (this.options = {});\n utils.merge(this.options, source.options, opts);\n }\n\n if (source._update) {\n this._update || (this._update = {});\n utils.mergeClone(this._update, source._update);\n }\n\n if (source._distinct) {\n this._distinct = source._distinct;\n }\n\n utils.merge(this._mongooseOptions, source._mongooseOptions);\n\n return this;\n }\n\n // plain object\n utils.merge(this._conditions, source, opts);\n\n return this;\n};\n\n/**\n * Adds a collation to this op (MongoDB 3.4 and up)\n *\n * @param {Object} value\n * @return {Query} this\n * @see MongoDB docs https://docs.mongodb.com/manual/reference/method/cursor.collation/#cursor.collation\n * @api public\n */\n\nQuery.prototype.collation = function(value) {\n if (this.options == null) {\n this.options = {};\n }\n this.options.collation = value;\n return this;\n};\n\n/**\n * Hydrate a single doc from `findOne()`, `findOneAndUpdate()`, etc.\n *\n * @api private\n */\n\nQuery.prototype._completeOne = function(doc, res, callback) {\n if (!doc && !this.options.rawResult) {\n return callback(null, null);\n }\n\n const model = this.model;\n const projection = utils.clone(this._fields);\n const userProvidedFields = this._userProvidedFields || {};\n // `populate`, `lean`\n const mongooseOptions = this._mongooseOptions;\n // `rawResult`\n const options = this.options;\n\n if (options.explain) {\n return callback(null, doc);\n }\n\n if (!mongooseOptions.populate) {\n return mongooseOptions.lean ?\n _completeOneLean(doc, res, options, callback) :\n completeOne(model, doc, res, options, projection, userProvidedFields,\n null, callback);\n }\n\n const pop = helpers.preparePopulationOptionsMQ(this, this._mongooseOptions);\n model.populate(doc, pop, (err, doc) => {\n if (err) {\n return callback(err);\n }\n return mongooseOptions.lean ?\n _completeOneLean(doc, res, options, callback) :\n completeOne(model, doc, res, options, projection, userProvidedFields,\n pop, callback);\n });\n};\n\n/**\n * Thunk around findOne()\n *\n * @param {Function} [callback]\n * @see findOne http://docs.mongodb.org/manual/reference/method/db.collection.findOne/\n * @api private\n */\n\nQuery.prototype._findOne = wrapThunk(function(callback) {\n this._castConditions();\n\n if (this.error()) {\n callback(this.error());\n return null;\n }\n\n this._applyPaths();\n this._fields = this._castFields(this._fields);\n\n applyGlobalMaxTimeMS(this.options, this.model);\n\n // don't pass in the conditions because we already merged them in\n Query.base.findOne.call(this, {}, (err, doc) => {\n if (err) {\n callback(err);\n return null;\n }\n\n this._completeOne(doc, null, _wrapThunkCallback(this, callback));\n });\n});\n\n/**\n * Declares the query a findOne operation. When executed, the first found document is passed to the callback.\n *\n * Passing a `callback` executes the query. The result of the query is a single document.\n *\n * * *Note:* `conditions` is optional, and if `conditions` is null or undefined,\n * mongoose will send an empty `findOne` command to MongoDB, which will return\n * an arbitrary document. If you're querying by `_id`, use `Model.findById()`\n * instead.\n *\n * This function triggers the following middleware.\n *\n * - `findOne()`\n *\n * ####Example\n *\n * const query = Kitten.where({ color: 'white' });\n * query.findOne(function (err, kitten) {\n * if (err) return handleError(err);\n * if (kitten) {\n * // doc may be null if no document matched\n * }\n * });\n *\n * @param {Object} [filter] mongodb selector\n * @param {Object} [projection] optional fields to return\n * @param {Object} [options] see [`setOptions()`](http://mongoosejs.com/docs/api.html#query_Query-setOptions)\n * @param {Function} [callback] optional params are (error, document)\n * @return {Query} this\n * @see findOne http://docs.mongodb.org/manual/reference/method/db.collection.findOne/\n * @see Query.select #query_Query-select\n * @api public\n */\n\nQuery.prototype.findOne = function(conditions, projection, options, callback) {\n this.op = 'findOne';\n if (typeof conditions === 'function') {\n callback = conditions;\n conditions = null;\n projection = null;\n options = null;\n } else if (typeof projection === 'function') {\n callback = projection;\n options = null;\n projection = null;\n } else if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n // make sure we don't send in the whole Document to merge()\n conditions = utils.toObject(conditions);\n\n if (options) {\n this.setOptions(options);\n }\n\n if (projection) {\n this.select(projection);\n }\n\n if (mquery.canMerge(conditions)) {\n this.merge(conditions);\n\n prepareDiscriminatorCriteria(this);\n } else if (conditions != null) {\n this.error(new ObjectParameterError(conditions, 'filter', 'findOne'));\n }\n\n if (!callback) {\n // already merged in the conditions, don't need to send them in.\n return Query.base.findOne.call(this);\n }\n\n this.exec(callback);\n return this;\n};\n\n/**\n * Thunk around count()\n *\n * @param {Function} [callback]\n * @see count http://docs.mongodb.org/manual/reference/method/db.collection.count/\n * @api private\n */\n\nQuery.prototype._count = wrapThunk(function(callback) {\n try {\n this.cast(this.model);\n } catch (err) {\n this.error(err);\n }\n\n if (this.error()) {\n return callback(this.error());\n }\n\n applyGlobalMaxTimeMS(this.options, this.model);\n\n const conds = this._conditions;\n const options = this._optionsForExec();\n\n this._collection.count(conds, options, utils.tick(callback));\n});\n\n/**\n * Thunk around countDocuments()\n *\n * @param {Function} [callback]\n * @see countDocuments http://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#countDocuments\n * @api private\n */\n\nQuery.prototype._countDocuments = wrapThunk(function(callback) {\n try {\n this.cast(this.model);\n } catch (err) {\n this.error(err);\n }\n\n if (this.error()) {\n return callback(this.error());\n }\n\n applyGlobalMaxTimeMS(this.options, this.model);\n\n const conds = this._conditions;\n const options = this._optionsForExec();\n\n this._collection.collection.countDocuments(conds, options, utils.tick(callback));\n});\n\n/**\n * Thunk around estimatedDocumentCount()\n *\n * @param {Function} [callback]\n * @see estimatedDocumentCount http://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#estimatedDocumentCount\n * @api private\n */\n\nQuery.prototype._estimatedDocumentCount = wrapThunk(function(callback) {\n if (this.error()) {\n return callback(this.error());\n }\n\n const options = this._optionsForExec();\n\n this._collection.collection.estimatedDocumentCount(options, utils.tick(callback));\n});\n\n/**\n * Specifies this query as a `count` query.\n *\n * This method is deprecated. If you want to count the number of documents in\n * a collection, e.g. `count({})`, use the [`estimatedDocumentCount()` function](/docs/api.html#query_Query-estimatedDocumentCount)\n * instead. Otherwise, use the [`countDocuments()`](/docs/api.html#query_Query-countDocuments) function instead.\n *\n * Passing a `callback` executes the query.\n *\n * This function triggers the following middleware.\n *\n * - `count()`\n *\n * ####Example:\n *\n * const countQuery = model.where({ 'color': 'black' }).count();\n *\n * query.count({ color: 'black' }).count(callback)\n *\n * query.count({ color: 'black' }, callback)\n *\n * query.where('color', 'black').count(function (err, count) {\n * if (err) return handleError(err);\n * console.log('there are %d kittens', count);\n * })\n *\n * @deprecated\n * @param {Object} [filter] count documents that match this object\n * @param {Function} [callback] optional params are (error, count)\n * @return {Query} this\n * @see count http://docs.mongodb.org/manual/reference/method/db.collection.count/\n * @api public\n */\n\nQuery.prototype.count = function(filter, callback) {\n this.op = 'count';\n if (typeof filter === 'function') {\n callback = filter;\n filter = undefined;\n }\n\n filter = utils.toObject(filter);\n\n if (mquery.canMerge(filter)) {\n this.merge(filter);\n }\n\n if (!callback) {\n return this;\n }\n\n this.exec(callback);\n\n return this;\n};\n\n/**\n * Specifies this query as a `estimatedDocumentCount()` query. Faster than\n * using `countDocuments()` for large collections because\n * `estimatedDocumentCount()` uses collection metadata rather than scanning\n * the entire collection.\n *\n * `estimatedDocumentCount()` does **not** accept a filter. `Model.find({ foo: bar }).estimatedDocumentCount()`\n * is equivalent to `Model.find().estimatedDocumentCount()`\n *\n * This function triggers the following middleware.\n *\n * - `estimatedDocumentCount()`\n *\n * ####Example:\n *\n * await Model.find().estimatedDocumentCount();\n *\n * @param {Object} [options] passed transparently to the [MongoDB driver](http://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#estimatedDocumentCount)\n * @param {Function} [callback] optional params are (error, count)\n * @return {Query} this\n * @see estimatedDocumentCount http://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#estimatedDocumentCount\n * @api public\n */\n\nQuery.prototype.estimatedDocumentCount = function(options, callback) {\n this.op = 'estimatedDocumentCount';\n if (typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n\n if (typeof options === 'object' && options != null) {\n this.setOptions(options);\n }\n\n if (!callback) {\n return this;\n }\n\n this.exec(callback);\n\n return this;\n};\n\n/**\n * Specifies this query as a `countDocuments()` query. Behaves like `count()`,\n * except it always does a full collection scan when passed an empty filter `{}`.\n *\n * There are also minor differences in how `countDocuments()` handles\n * [`$where` and a couple geospatial operators](http://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#countDocuments).\n * versus `count()`.\n *\n * Passing a `callback` executes the query.\n *\n * This function triggers the following middleware.\n *\n * - `countDocuments()`\n *\n * ####Example:\n *\n * const countQuery = model.where({ 'color': 'black' }).countDocuments();\n *\n * query.countDocuments({ color: 'black' }).count(callback);\n *\n * query.countDocuments({ color: 'black' }, callback);\n *\n * query.where('color', 'black').countDocuments(function(err, count) {\n * if (err) return handleError(err);\n * console.log('there are %d kittens', count);\n * });\n *\n * The `countDocuments()` function is similar to `count()`, but there are a\n * [few operators that `countDocuments()` does not support](https://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#countDocuments).\n * Below are the operators that `count()` supports but `countDocuments()` does not,\n * and the suggested replacement:\n *\n * - `$where`: [`$expr`](https://docs.mongodb.com/manual/reference/operator/query/expr/)\n * - `$near`: [`$geoWithin`](https://docs.mongodb.com/manual/reference/operator/query/geoWithin/) with [`$center`](https://docs.mongodb.com/manual/reference/operator/query/center/#op._S_center)\n * - `$nearSphere`: [`$geoWithin`](https://docs.mongodb.com/manual/reference/operator/query/geoWithin/) with [`$centerSphere`](https://docs.mongodb.com/manual/reference/operator/query/centerSphere/#op._S_centerSphere)\n *\n * @param {Object} [filter] mongodb selector\n * @param {Function} [callback] optional params are (error, count)\n * @return {Query} this\n * @see countDocuments http://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#countDocuments\n * @api public\n */\n\nQuery.prototype.countDocuments = function(conditions, callback) {\n this.op = 'countDocuments';\n if (typeof conditions === 'function') {\n callback = conditions;\n conditions = undefined;\n }\n\n conditions = utils.toObject(conditions);\n\n if (mquery.canMerge(conditions)) {\n this.merge(conditions);\n }\n\n if (!callback) {\n return this;\n }\n\n this.exec(callback);\n\n return this;\n};\n\n/**\n * Thunk around distinct()\n *\n * @param {Function} [callback]\n * @see distinct http://docs.mongodb.org/manual/reference/method/db.collection.distinct/\n * @api private\n */\n\nQuery.prototype.__distinct = wrapThunk(function __distinct(callback) {\n this._castConditions();\n\n if (this.error()) {\n callback(this.error());\n return null;\n }\n\n applyGlobalMaxTimeMS(this.options, this.model);\n\n const options = this._optionsForExec();\n\n // don't pass in the conditions because we already merged them in\n this._collection.collection.\n distinct(this._distinct, this._conditions, options, callback);\n});\n\n/**\n * Declares or executes a distinct() operation.\n *\n * Passing a `callback` executes the query.\n *\n * This function does not trigger any middleware.\n *\n * ####Example\n *\n * distinct(field, conditions, callback)\n * distinct(field, conditions)\n * distinct(field, callback)\n * distinct(field)\n * distinct(callback)\n * distinct()\n *\n * @param {String} [field]\n * @param {Object|Query} [filter]\n * @param {Function} [callback] optional params are (error, arr)\n * @return {Query} this\n * @see distinct http://docs.mongodb.org/manual/reference/method/db.collection.distinct/\n * @api public\n */\n\nQuery.prototype.distinct = function(field, conditions, callback) {\n this.op = 'distinct';\n if (!callback) {\n if (typeof conditions === 'function') {\n callback = conditions;\n conditions = undefined;\n } else if (typeof field === 'function') {\n callback = field;\n field = undefined;\n conditions = undefined;\n }\n }\n\n conditions = utils.toObject(conditions);\n\n if (mquery.canMerge(conditions)) {\n this.merge(conditions);\n\n prepareDiscriminatorCriteria(this);\n } else if (conditions != null) {\n this.error(new ObjectParameterError(conditions, 'filter', 'distinct'));\n }\n\n if (field != null) {\n this._distinct = field;\n }\n\n if (callback != null) {\n this.exec(callback);\n }\n\n return this;\n};\n\n/**\n * Sets the sort order\n *\n * If an object is passed, values allowed are `asc`, `desc`, `ascending`, `descending`, `1`, and `-1`.\n *\n * If a string is passed, it must be a space delimited list of path names. The\n * sort order of each path is ascending unless the path name is prefixed with `-`\n * which will be treated as descending.\n *\n * ####Example\n *\n * // sort by \"field\" ascending and \"test\" descending\n * query.sort({ field: 'asc', test: -1 });\n *\n * // equivalent\n * query.sort('field -test');\n *\n * ####Note\n *\n * Cannot be used with `distinct()`\n *\n * @param {Object|String} arg\n * @return {Query} this\n * @see cursor.sort http://docs.mongodb.org/manual/reference/method/cursor.sort/\n * @api public\n */\n\nQuery.prototype.sort = function(arg) {\n if (arguments.length > 1) {\n throw new Error('sort() only takes 1 Argument');\n }\n\n return Query.base.sort.call(this, arg);\n};\n\n/**\n * Declare and/or execute this query as a remove() operation. `remove()` is\n * deprecated, you should use [`deleteOne()`](#query_Query-deleteOne)\n * or [`deleteMany()`](#query_Query-deleteMany) instead.\n *\n * This function does not trigger any middleware\n *\n * ####Example\n *\n * Character.remove({ name: /Stark/ }, callback);\n *\n * This function calls the MongoDB driver's [`Collection#remove()` function](http://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#remove).\n * The returned [promise](https://mongoosejs.com/docs/queries.html) resolves to an\n * object that contains 3 properties:\n *\n * - `ok`: `1` if no errors occurred\n * - `deletedCount`: the number of documents deleted\n * - `n`: the number of documents deleted. Equal to `deletedCount`.\n *\n * ####Example\n *\n * const res = await Character.remove({ name: /Stark/ });\n * // Number of docs deleted\n * res.deletedCount;\n *\n * ####Note\n *\n * Calling `remove()` creates a [Mongoose query](./queries.html), and a query\n * does not execute until you either pass a callback, call [`Query#then()`](#query_Query-then),\n * or call [`Query#exec()`](#query_Query-exec).\n *\n * // not executed\n * const query = Character.remove({ name: /Stark/ });\n *\n * // executed\n * Character.remove({ name: /Stark/ }, callback);\n * Character.remove({ name: /Stark/ }).remove(callback);\n *\n * // executed without a callback\n * Character.exec();\n *\n * @param {Object|Query} [filter] mongodb selector\n * @param {Function} [callback] optional params are (error, mongooseDeleteResult)\n * @return {Query} this\n * @deprecated\n * @see deleteWriteOpResult http://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#~deleteWriteOpResult\n * @see MongoDB driver remove http://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#remove\n * @api public\n */\n\nQuery.prototype.remove = function(filter, callback) {\n this.op = 'remove';\n if (typeof filter === 'function') {\n callback = filter;\n filter = null;\n }\n\n filter = utils.toObject(filter);\n\n if (mquery.canMerge(filter)) {\n this.merge(filter);\n\n prepareDiscriminatorCriteria(this);\n } else if (filter != null) {\n this.error(new ObjectParameterError(filter, 'filter', 'remove'));\n }\n\n if (!callback) {\n return Query.base.remove.call(this);\n }\n\n this.exec(callback);\n return this;\n};\n\n/*!\n * ignore\n */\n\nQuery.prototype._remove = wrapThunk(function(callback) {\n this._castConditions();\n\n if (this.error() != null) {\n callback(this.error());\n return this;\n }\n\n callback = _wrapThunkCallback(this, callback);\n\n return Query.base.remove.call(this, helpers.handleDeleteWriteOpResult(callback));\n});\n\n/**\n * Declare and/or execute this query as a `deleteOne()` operation. Works like\n * remove, except it deletes at most one document regardless of the `single`\n * option.\n *\n * This function triggers `deleteOne` middleware.\n *\n * ####Example\n *\n * await Character.deleteOne({ name: 'Eddard Stark' });\n *\n * // Using callbacks:\n * Character.deleteOne({ name: 'Eddard Stark' }, callback);\n *\n * This function calls the MongoDB driver's [`Collection#deleteOne()` function](http://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#deleteOne).\n * The returned [promise](https://mongoosejs.com/docs/queries.html) resolves to an\n * object that contains 3 properties:\n *\n * - `ok`: `1` if no errors occurred\n * - `deletedCount`: the number of documents deleted\n * - `n`: the number of documents deleted. Equal to `deletedCount`.\n *\n * ####Example\n *\n * const res = await Character.deleteOne({ name: 'Eddard Stark' });\n * // `1` if MongoDB deleted a doc, `0` if no docs matched the filter `{ name: ... }`\n * res.deletedCount;\n *\n * @param {Object|Query} [filter] mongodb selector\n * @param {Object} [options] optional see [`Query.prototype.setOptions()`](http://mongoosejs.com/docs/api.html#query_Query-setOptions)\n * @param {Function} [callback] optional params are (error, mongooseDeleteResult)\n * @return {Query} this\n * @see deleteWriteOpResult http://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#~deleteWriteOpResult\n * @see MongoDB Driver deleteOne http://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#deleteOne\n * @api public\n */\n\nQuery.prototype.deleteOne = function(filter, options, callback) {\n this.op = 'deleteOne';\n if (typeof filter === 'function') {\n callback = filter;\n filter = null;\n options = null;\n } else if (typeof options === 'function') {\n callback = options;\n options = null;\n } else {\n this.setOptions(options);\n }\n\n filter = utils.toObject(filter);\n\n if (mquery.canMerge(filter)) {\n this.merge(filter);\n\n prepareDiscriminatorCriteria(this);\n } else if (filter != null) {\n this.error(new ObjectParameterError(filter, 'filter', 'deleteOne'));\n }\n\n if (!callback) {\n return Query.base.deleteOne.call(this);\n }\n\n this.exec.call(this, callback);\n\n return this;\n};\n\n/*!\n * Internal thunk for `deleteOne()`\n */\n\nQuery.prototype._deleteOne = wrapThunk(function(callback) {\n this._castConditions();\n\n if (this.error() != null) {\n callback(this.error());\n return this;\n }\n\n callback = _wrapThunkCallback(this, callback);\n\n return Query.base.deleteOne.call(this, helpers.handleDeleteWriteOpResult(callback));\n});\n\n/**\n * Declare and/or execute this query as a `deleteMany()` operation. Works like\n * remove, except it deletes _every_ document that matches `filter` in the\n * collection, regardless of the value of `single`.\n *\n * This function triggers `deleteMany` middleware.\n *\n * ####Example\n *\n * await Character.deleteMany({ name: /Stark/, age: { $gte: 18 } });\n *\n * // Using callbacks:\n * Character.deleteMany({ name: /Stark/, age: { $gte: 18 } }, callback);\n *\n * This function calls the MongoDB driver's [`Collection#deleteMany()` function](http://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#deleteMany).\n * The returned [promise](https://mongoosejs.com/docs/queries.html) resolves to an\n * object that contains 3 properties:\n *\n * - `ok`: `1` if no errors occurred\n * - `deletedCount`: the number of documents deleted\n * - `n`: the number of documents deleted. Equal to `deletedCount`.\n *\n * ####Example\n *\n * const res = await Character.deleteMany({ name: /Stark/, age: { $gte: 18 } });\n * // `0` if no docs matched the filter, number of docs deleted otherwise\n * res.deletedCount;\n *\n * @param {Object|Query} [filter] mongodb selector\n * @param {Object} [options] optional see [`Query.prototype.setOptions()`](http://mongoosejs.com/docs/api.html#query_Query-setOptions)\n * @param {Function} [callback] optional params are (error, mongooseDeleteResult)\n * @return {Query} this\n * @see deleteWriteOpResult http://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#~deleteWriteOpResult\n * @see MongoDB Driver deleteMany http://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#deleteMany\n * @api public\n */\n\nQuery.prototype.deleteMany = function(filter, options, callback) {\n this.op = 'deleteMany';\n if (typeof filter === 'function') {\n callback = filter;\n filter = null;\n options = null;\n } else if (typeof options === 'function') {\n callback = options;\n options = null;\n } else {\n this.setOptions(options);\n }\n\n filter = utils.toObject(filter);\n\n if (mquery.canMerge(filter)) {\n this.merge(filter);\n\n prepareDiscriminatorCriteria(this);\n } else if (filter != null) {\n this.error(new ObjectParameterError(filter, 'filter', 'deleteMany'));\n }\n\n if (!callback) {\n return Query.base.deleteMany.call(this);\n }\n\n this.exec.call(this, callback);\n\n return this;\n};\n\n/*!\n * Internal thunk around `deleteMany()`\n */\n\nQuery.prototype._deleteMany = wrapThunk(function(callback) {\n this._castConditions();\n\n if (this.error() != null) {\n callback(this.error());\n return this;\n }\n\n callback = _wrapThunkCallback(this, callback);\n\n return Query.base.deleteMany.call(this, helpers.handleDeleteWriteOpResult(callback));\n});\n\n/*!\n * hydrates a document\n *\n * @param {Model} model\n * @param {Document} doc\n * @param {Object} res 3rd parameter to callback\n * @param {Object} fields\n * @param {Query} self\n * @param {Array} [pop] array of paths used in population\n * @param {Function} callback\n */\n\nfunction completeOne(model, doc, res, options, fields, userProvidedFields, pop, callback) {\n const opts = pop ?\n { populated: pop }\n : undefined;\n\n if (options.rawResult && doc == null) {\n _init(null);\n return null;\n }\n\n const casted = helpers.createModel(model, doc, fields, userProvidedFields, options);\n try {\n casted.init(doc, opts, _init);\n } catch (error) {\n _init(error);\n }\n\n function _init(err) {\n if (err) {\n return immediate(() => callback(err));\n }\n\n\n if (options.rawResult) {\n if (doc && casted) {\n if (options.session != null) {\n casted.$session(options.session);\n }\n res.value = casted;\n } else {\n res.value = null;\n }\n return immediate(() => callback(null, res));\n }\n if (options.session != null) {\n casted.$session(options.session);\n }\n immediate(() => callback(null, casted));\n }\n}\n\n/*!\n * If the model is a discriminator type and not root, then add the key & value to the criteria.\n */\n\nfunction prepareDiscriminatorCriteria(query) {\n if (!query || !query.model || !query.model.schema) {\n return;\n }\n\n const schema = query.model.schema;\n\n if (schema && schema.discriminatorMapping && !schema.discriminatorMapping.isRoot) {\n query._conditions[schema.discriminatorMapping.key] = schema.discriminatorMapping.value;\n }\n}\n\n/**\n * Issues a mongodb [findAndModify](http://www.mongodb.org/display/DOCS/findAndModify+Command) update command.\n *\n * Finds a matching document, updates it according to the `update` arg, passing any `options`, and returns the found\n * document (if any) to the callback. The query executes if\n * `callback` is passed.\n *\n * This function triggers the following middleware.\n *\n * - `findOneAndUpdate()`\n *\n * ####Available options\n *\n * - `new`: bool - if true, return the modified document rather than the original. defaults to false (changed in 4.0)\n * - `upsert`: bool - creates the object if it doesn't exist. defaults to false.\n * - `fields`: {Object|String} - Field selection. Equivalent to `.select(fields).findOneAndUpdate()`\n * - `sort`: if multiple docs are found by the conditions, sets the sort order to choose which doc to update\n * - `maxTimeMS`: puts a time limit on the query - requires mongodb >= 2.6.0\n * - `runValidators`: if true, runs [update validators](/docs/validation.html#update-validators) on this command. Update validators validate the update operation against the model's schema.\n * - `setDefaultsOnInsert`: if this and `upsert` are true, mongoose will apply the [defaults](http://mongoosejs.com/docs/defaults.html) specified in the model's schema if a new document is created. This option only works on MongoDB >= 2.4 because it relies on [MongoDB's `$setOnInsert` operator](https://docs.mongodb.org/v2.4/reference/operator/update/setOnInsert/).\n * - `rawResult`: if true, returns the [raw result from the MongoDB driver](http://mongodb.github.io/node-mongodb-native/2.0/api/Collection.html#findAndModify)\n * - `context` (string) if set to 'query' and `runValidators` is on, `this` will refer to the query in custom validator functions that update validation runs. Does nothing if `runValidators` is false.\n *\n * ####Callback Signature\n * function(error, doc) {\n * // error: any errors that occurred\n * // doc: the document before updates are applied if `new: false`, or after updates if `new = true`\n * }\n *\n * ####Examples\n *\n * query.findOneAndUpdate(conditions, update, options, callback) // executes\n * query.findOneAndUpdate(conditions, update, options) // returns Query\n * query.findOneAndUpdate(conditions, update, callback) // executes\n * query.findOneAndUpdate(conditions, update) // returns Query\n * query.findOneAndUpdate(update, callback) // returns Query\n * query.findOneAndUpdate(update) // returns Query\n * query.findOneAndUpdate(callback) // executes\n * query.findOneAndUpdate() // returns Query\n *\n * @method findOneAndUpdate\n * @memberOf Query\n * @instance\n * @param {Object|Query} [filter]\n * @param {Object} [doc]\n * @param {Object} [options]\n * @param {Boolean} [options.rawResult] if true, returns the [raw result from the MongoDB driver](http://mongodb.github.io/node-mongodb-native/2.0/api/Collection.html#findAndModify)\n * @param {Boolean|String} [options.strict] overwrites the schema's [strict mode option](http://mongoosejs.com/docs/guide.html#strict)\n * @param {ClientSession} [options.session=null] The session associated with this query. See [transactions docs](/docs/transactions.html).\n * @param {Boolean} [options.multipleCastError] by default, mongoose only returns the first error that occurred in casting the query. Turn on this option to aggregate all the cast errors.\n * @param {Boolean} [options.new=false] By default, `findOneAndUpdate()` returns the document as it was **before** `update` was applied. If you set `new: true`, `findOneAndUpdate()` will instead give you the object after `update` was applied.\n * @param {Object} [options.lean] if truthy, mongoose will return the document as a plain JavaScript object rather than a mongoose document. See [`Query.lean()`](/docs/api.html#query_Query-lean) and [the Mongoose lean tutorial](/docs/tutorials/lean.html).\n * @param {ClientSession} [options.session=null] The session associated with this query. See [transactions docs](/docs/transactions.html).\n * @param {Boolean|String} [options.strict] overwrites the schema's [strict mode option](http://mongoosejs.com/docs/guide.html#strict)\n * @param {Boolean} [options.omitUndefined=false] If true, delete any properties whose value is `undefined` when casting an update. In other words, if this is set, Mongoose will delete `baz` from the update in `Model.updateOne({}, { foo: 'bar', baz: undefined })` before sending the update to the server.\n * @param {Boolean} [options.timestamps=null] If set to `false` and [schema-level timestamps](/docs/guide.html#timestamps) are enabled, skip timestamps for this update. Note that this allows you to overwrite timestamps. Does nothing if schema-level timestamps are not set.\n * @param {Boolean} [options.returnOriginal=null] An alias for the `new` option. `returnOriginal: false` is equivalent to `new: true`.\n * @param {Function} [callback] optional params are (error, doc), _unless_ `rawResult` is used, in which case params are (error, writeOpResult)\n * @see Tutorial /docs/tutorials/findoneandupdate.html\n * @see mongodb http://www.mongodb.org/display/DOCS/findAndModify+Command\n * @see writeOpResult http://mongodb.github.io/node-mongodb-native/2.2/api/Collection.html#~WriteOpResult\n * @return {Query} this\n * @api public\n */\n\nQuery.prototype.findOneAndUpdate = function(criteria, doc, options, callback) {\n this.op = 'findOneAndUpdate';\n this._validate();\n\n switch (arguments.length) {\n case 3:\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n break;\n case 2:\n if (typeof doc === 'function') {\n callback = doc;\n doc = criteria;\n criteria = undefined;\n }\n options = undefined;\n break;\n case 1:\n if (typeof criteria === 'function') {\n callback = criteria;\n criteria = options = doc = undefined;\n } else {\n doc = criteria;\n criteria = options = undefined;\n }\n }\n\n if (mquery.canMerge(criteria)) {\n this.merge(criteria);\n }\n\n // apply doc\n if (doc) {\n this._mergeUpdate(doc);\n }\n\n options = options ? utils.clone(options) : {};\n\n if (options.projection) {\n this.select(options.projection);\n delete options.projection;\n }\n if (options.fields) {\n this.select(options.fields);\n delete options.fields;\n }\n\n\n const returnOriginal = get(this, 'model.base.options.returnOriginal');\n if (options.new == null && options.returnDocument == null && options.returnOriginal == null && returnOriginal != null) {\n options.returnOriginal = returnOriginal;\n }\n\n this.setOptions(options);\n\n if (!callback) {\n return this;\n }\n\n this.exec(callback);\n\n return this;\n};\n\n/*!\n * Thunk around findOneAndUpdate()\n *\n * @param {Function} [callback]\n * @api private\n */\n\nQuery.prototype._findOneAndUpdate = wrapThunk(function(callback) {\n if (this.error() != null) {\n return callback(this.error());\n }\n\n this._findAndModify('update', callback);\n});\n\n/**\n * Issues a mongodb [findAndModify](http://www.mongodb.org/display/DOCS/findAndModify+Command) remove command.\n *\n * Finds a matching document, removes it, passing the found document (if any) to\n * the callback. Executes if `callback` is passed.\n *\n * This function triggers the following middleware.\n *\n * - `findOneAndRemove()`\n *\n * ####Available options\n *\n * - `sort`: if multiple docs are found by the conditions, sets the sort order to choose which doc to update\n * - `maxTimeMS`: puts a time limit on the query - requires mongodb >= 2.6.0\n * - `rawResult`: if true, resolves to the [raw result from the MongoDB driver](http://mongodb.github.io/node-mongodb-native/2.0/api/Collection.html#findAndModify)\n *\n * ####Callback Signature\n * function(error, doc) {\n * // error: any errors that occurred\n * // doc: the document before updates are applied if `new: false`, or after updates if `new = true`\n * }\n *\n * ####Examples\n *\n * A.where().findOneAndRemove(conditions, options, callback) // executes\n * A.where().findOneAndRemove(conditions, options) // return Query\n * A.where().findOneAndRemove(conditions, callback) // executes\n * A.where().findOneAndRemove(conditions) // returns Query\n * A.where().findOneAndRemove(callback) // executes\n * A.where().findOneAndRemove() // returns Query\n *\n * @method findOneAndRemove\n * @memberOf Query\n * @instance\n * @param {Object} [conditions]\n * @param {Object} [options]\n * @param {Boolean} [options.rawResult] if true, returns the [raw result from the MongoDB driver](http://mongodb.github.io/node-mongodb-native/2.0/api/Collection.html#findAndModify)\n * @param {ClientSession} [options.session=null] The session associated with this query. See [transactions docs](/docs/transactions.html).\n * @param {Boolean|String} [options.strict] overwrites the schema's [strict mode option](http://mongoosejs.com/docs/guide.html#strict)\n * @param {Function} [callback] optional params are (error, document)\n * @return {Query} this\n * @see mongodb http://www.mongodb.org/display/DOCS/findAndModify+Command\n * @api public\n */\n\nQuery.prototype.findOneAndRemove = function(conditions, options, callback) {\n this.op = 'findOneAndRemove';\n this._validate();\n\n switch (arguments.length) {\n case 2:\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n break;\n case 1:\n if (typeof conditions === 'function') {\n callback = conditions;\n conditions = undefined;\n options = undefined;\n }\n break;\n }\n\n if (mquery.canMerge(conditions)) {\n this.merge(conditions);\n }\n\n options && this.setOptions(options);\n\n if (!callback) {\n return this;\n }\n\n this.exec(callback);\n\n return this;\n};\n\n/**\n * Issues a MongoDB [findOneAndDelete](https://docs.mongodb.com/manual/reference/method/db.collection.findOneAndDelete/) command.\n *\n * Finds a matching document, removes it, and passes the found document (if any)\n * to the callback. Executes if `callback` is passed.\n *\n * This function triggers the following middleware.\n *\n * - `findOneAndDelete()`\n *\n * This function differs slightly from `Model.findOneAndRemove()` in that\n * `findOneAndRemove()` becomes a [MongoDB `findAndModify()` command](https://docs.mongodb.com/manual/reference/method/db.collection.findAndModify/),\n * as opposed to a `findOneAndDelete()` command. For most mongoose use cases,\n * this distinction is purely pedantic. You should use `findOneAndDelete()`\n * unless you have a good reason not to.\n *\n * ####Available options\n *\n * - `sort`: if multiple docs are found by the conditions, sets the sort order to choose which doc to update\n * - `maxTimeMS`: puts a time limit on the query - requires mongodb >= 2.6.0\n * - `rawResult`: if true, resolves to the [raw result from the MongoDB driver](http://mongodb.github.io/node-mongodb-native/2.0/api/Collection.html#findAndModify)\n *\n * ####Callback Signature\n * function(error, doc) {\n * // error: any errors that occurred\n * // doc: the document before updates are applied if `new: false`, or after updates if `new = true`\n * }\n *\n * ####Examples\n *\n * A.where().findOneAndDelete(conditions, options, callback) // executes\n * A.where().findOneAndDelete(conditions, options) // return Query\n * A.where().findOneAndDelete(conditions, callback) // executes\n * A.where().findOneAndDelete(conditions) // returns Query\n * A.where().findOneAndDelete(callback) // executes\n * A.where().findOneAndDelete() // returns Query\n *\n * @method findOneAndDelete\n * @memberOf Query\n * @param {Object} [conditions]\n * @param {Object} [options]\n * @param {Boolean} [options.rawResult] if true, returns the [raw result from the MongoDB driver](http://mongodb.github.io/node-mongodb-native/2.0/api/Collection.html#findAndModify)\n * @param {ClientSession} [options.session=null] The session associated with this query. See [transactions docs](/docs/transactions.html).\n * @param {Boolean|String} [options.strict] overwrites the schema's [strict mode option](http://mongoosejs.com/docs/guide.html#strict)\n * @param {Function} [callback] optional params are (error, document)\n * @return {Query} this\n * @see mongodb http://www.mongodb.org/display/DOCS/findAndModify+Command\n * @api public\n */\n\nQuery.prototype.findOneAndDelete = function(conditions, options, callback) {\n this.op = 'findOneAndDelete';\n this._validate();\n\n switch (arguments.length) {\n case 2:\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n break;\n case 1:\n if (typeof conditions === 'function') {\n callback = conditions;\n conditions = undefined;\n options = undefined;\n }\n break;\n }\n\n if (mquery.canMerge(conditions)) {\n this.merge(conditions);\n }\n\n options && this.setOptions(options);\n\n if (!callback) {\n return this;\n }\n\n this.exec(callback);\n\n return this;\n};\n\n/*!\n * Thunk around findOneAndDelete()\n *\n * @param {Function} [callback]\n * @return {Query} this\n * @api private\n */\nQuery.prototype._findOneAndDelete = wrapThunk(function(callback) {\n this._castConditions();\n\n if (this.error() != null) {\n callback(this.error());\n return null;\n }\n\n const filter = this._conditions;\n const options = this._optionsForExec();\n let fields = null;\n\n if (this._fields != null) {\n options.projection = this._castFields(utils.clone(this._fields));\n fields = options.projection;\n if (fields instanceof Error) {\n callback(fields);\n return null;\n }\n }\n\n this._collection.collection.findOneAndDelete(filter, options, _wrapThunkCallback(this, (err, res) => {\n if (err) {\n return callback(err);\n }\n\n const doc = res.value;\n\n return this._completeOne(doc, res, callback);\n }));\n});\n\n/**\n * Issues a MongoDB [findOneAndReplace](https://docs.mongodb.com/manual/reference/method/db.collection.findOneAndReplace/) command.\n *\n * Finds a matching document, removes it, and passes the found document (if any)\n * to the callback. Executes if `callback` is passed.\n *\n * This function triggers the following middleware.\n *\n * - `findOneAndReplace()`\n *\n * ####Available options\n *\n * - `sort`: if multiple docs are found by the conditions, sets the sort order to choose which doc to update\n * - `maxTimeMS`: puts a time limit on the query - requires mongodb >= 2.6.0\n * - `rawResult`: if true, resolves to the [raw result from the MongoDB driver](http://mongodb.github.io/node-mongodb-native/2.0/api/Collection.html#findAndModify)\n *\n * ####Callback Signature\n * function(error, doc) {\n * // error: any errors that occurred\n * // doc: the document before updates are applied if `new: false`, or after updates if `new = true`\n * }\n *\n * ####Examples\n *\n * A.where().findOneAndReplace(filter, replacement, options, callback); // executes\n * A.where().findOneAndReplace(filter, replacement, options); // return Query\n * A.where().findOneAndReplace(filter, replacement, callback); // executes\n * A.where().findOneAndReplace(filter); // returns Query\n * A.where().findOneAndReplace(callback); // executes\n * A.where().findOneAndReplace(); // returns Query\n *\n * @method findOneAndReplace\n * @memberOf Query\n * @param {Object} [filter]\n * @param {Object} [replacement]\n * @param {Object} [options]\n * @param {Boolean} [options.rawResult] if true, returns the [raw result from the MongoDB driver](http://mongodb.github.io/node-mongodb-native/2.0/api/Collection.html#findAndModify)\n * @param {ClientSession} [options.session=null] The session associated with this query. See [transactions docs](/docs/transactions.html).\n * @param {Boolean|String} [options.strict] overwrites the schema's [strict mode option](http://mongoosejs.com/docs/guide.html#strict)\n * @param {Boolean} [options.new=false] By default, `findOneAndUpdate()` returns the document as it was **before** `update` was applied. If you set `new: true`, `findOneAndUpdate()` will instead give you the object after `update` was applied.\n * @param {Object} [options.lean] if truthy, mongoose will return the document as a plain JavaScript object rather than a mongoose document. See [`Query.lean()`](/docs/api.html#query_Query-lean) and [the Mongoose lean tutorial](/docs/tutorials/lean.html).\n * @param {ClientSession} [options.session=null] The session associated with this query. See [transactions docs](/docs/transactions.html).\n * @param {Boolean|String} [options.strict] overwrites the schema's [strict mode option](http://mongoosejs.com/docs/guide.html#strict)\n * @param {Boolean} [options.omitUndefined=false] If true, delete any properties whose value is `undefined` when casting an update. In other words, if this is set, Mongoose will delete `baz` from the update in `Model.updateOne({}, { foo: 'bar', baz: undefined })` before sending the update to the server.\n * @param {Boolean} [options.timestamps=null] If set to `false` and [schema-level timestamps](/docs/guide.html#timestamps) are enabled, skip timestamps for this update. Note that this allows you to overwrite timestamps. Does nothing if schema-level timestamps are not set.\n * @param {Boolean} [options.returnOriginal=null] An alias for the `new` option. `returnOriginal: false` is equivalent to `new: true`.\n * @param {Function} [callback] optional params are (error, document)\n * @return {Query} this\n * @api public\n */\n\nQuery.prototype.findOneAndReplace = function(filter, replacement, options, callback) {\n this.op = 'findOneAndReplace';\n this._validate();\n\n switch (arguments.length) {\n case 3:\n if (typeof options === 'function') {\n callback = options;\n options = void 0;\n }\n break;\n case 2:\n if (typeof replacement === 'function') {\n callback = replacement;\n replacement = void 0;\n }\n break;\n case 1:\n if (typeof filter === 'function') {\n callback = filter;\n filter = void 0;\n replacement = void 0;\n options = void 0;\n }\n break;\n }\n\n if (mquery.canMerge(filter)) {\n this.merge(filter);\n }\n\n if (replacement != null) {\n if (hasDollarKeys(replacement)) {\n throw new Error('The replacement document must not contain atomic operators.');\n }\n this._mergeUpdate(replacement);\n }\n\n options = options || {};\n\n const returnOriginal = get(this, 'model.base.options.returnOriginal');\n if (options.new == null && options.returnDocument == null && options.returnOriginal == null && returnOriginal != null) {\n options.returnOriginal = returnOriginal;\n }\n this.setOptions(options);\n this.setOptions({ overwrite: true });\n\n if (!callback) {\n return this;\n }\n\n this.exec(callback);\n\n return this;\n};\n\n/*!\n * Thunk around findOneAndReplace()\n *\n * @param {Function} [callback]\n * @return {Query} this\n * @api private\n */\nQuery.prototype._findOneAndReplace = wrapThunk(function(callback) {\n this._castConditions();\n\n if (this.error() != null) {\n callback(this.error());\n return null;\n }\n\n const filter = this._conditions;\n const options = this._optionsForExec();\n convertNewToReturnDocument(options);\n let fields = null;\n\n let castedDoc = new this.model(this._update, null, true);\n this._update = castedDoc;\n\n this._applyPaths();\n if (this._fields != null) {\n options.projection = this._castFields(utils.clone(this._fields));\n fields = options.projection;\n if (fields instanceof Error) {\n callback(fields);\n return null;\n }\n }\n\n castedDoc.validate(err => {\n if (err != null) {\n return callback(err);\n }\n\n if (castedDoc.toBSON) {\n castedDoc = castedDoc.toBSON();\n }\n\n this._collection.collection.findOneAndReplace(filter, castedDoc, options, _wrapThunkCallback(this, (err, res) => {\n if (err) {\n return callback(err);\n }\n\n const doc = res.value;\n\n return this._completeOne(doc, res, callback);\n }));\n });\n});\n\n/*!\n * Support the `new` option as an alternative to `returnOriginal` for backwards\n * compat.\n */\n\nfunction convertNewToReturnDocument(options) {\n if ('new' in options) {\n options.returnDocument = options['new'] ? 'after' : 'before';\n delete options['new'];\n }\n if ('returnOriginal' in options) {\n options.returnDocument = options['returnOriginal'] ? 'before' : 'after';\n delete options['returnOriginal'];\n }\n}\n\n/*!\n * Thunk around findOneAndRemove()\n *\n * @param {Function} [callback]\n * @return {Query} this\n * @api private\n */\nQuery.prototype._findOneAndRemove = wrapThunk(function(callback) {\n if (this.error() != null) {\n callback(this.error());\n return;\n }\n\n this._findAndModify('remove', callback);\n});\n\n/*!\n * Get options from query opts, falling back to the base mongoose object.\n */\n\nfunction _getOption(query, option, def) {\n const opts = query._optionsForExec(query.model);\n\n if (option in opts) {\n return opts[option];\n }\n if (option in query.model.base.options) {\n return query.model.base.options[option];\n }\n return def;\n}\n\n/*!\n * Override mquery.prototype._findAndModify to provide casting etc.\n *\n * @param {String} type - either \"remove\" or \"update\"\n * @param {Function} callback\n * @api private\n */\n\nQuery.prototype._findAndModify = function(type, callback) {\n if (typeof callback !== 'function') {\n throw new Error('Expected callback in _findAndModify');\n }\n\n const model = this.model;\n const schema = model.schema;\n const _this = this;\n let fields;\n\n const castedQuery = castQuery(this);\n if (castedQuery instanceof Error) {\n return callback(castedQuery);\n }\n\n _castArrayFilters(this);\n\n const opts = this._optionsForExec(model);\n\n if ('strict' in opts) {\n this._mongooseOptions.strict = opts.strict;\n }\n\n const isOverwriting = this.options.overwrite && !hasDollarKeys(this._update);\n if (isOverwriting) {\n this._update = new this.model(this._update, null, true);\n }\n\n if (type === 'remove') {\n opts.remove = true;\n } else {\n if (!('new' in opts) && !('returnOriginal' in opts) && !('returnDocument' in opts)) {\n opts.new = false;\n }\n if (!('upsert' in opts)) {\n opts.upsert = false;\n }\n if (opts.upsert || opts['new']) {\n opts.remove = false;\n }\n\n if (!isOverwriting) {\n this._update = castDoc(this, opts.overwrite);\n const _opts = Object.assign({}, opts, {\n setDefaultsOnInsert: this._mongooseOptions.setDefaultsOnInsert\n });\n this._update = setDefaultsOnInsert(this._conditions, schema, this._update, _opts);\n if (!this._update || Object.keys(this._update).length === 0) {\n if (opts.upsert) {\n // still need to do the upsert to empty doc\n const doc = utils.clone(castedQuery);\n delete doc._id;\n this._update = { $set: doc };\n } else {\n this.findOne(callback);\n return this;\n }\n } else if (this._update instanceof Error) {\n return callback(this._update);\n } else {\n // In order to make MongoDB 2.6 happy (see\n // https://jira.mongodb.org/browse/SERVER-12266 and related issues)\n // if we have an actual update document but $set is empty, junk the $set.\n if (this._update.$set && Object.keys(this._update.$set).length === 0) {\n delete this._update.$set;\n }\n }\n }\n\n if (Array.isArray(opts.arrayFilters)) {\n opts.arrayFilters = removeUnusedArrayFilters(this._update, opts.arrayFilters);\n }\n }\n\n this._applyPaths();\n\n const options = this._mongooseOptions;\n\n if (this._fields) {\n fields = utils.clone(this._fields);\n opts.projection = this._castFields(fields);\n if (opts.projection instanceof Error) {\n return callback(opts.projection);\n }\n }\n\n if (opts.sort) convertSortToArray(opts);\n\n const cb = function(err, doc, res) {\n if (err) {\n return callback(err);\n }\n\n _this._completeOne(doc, res, callback);\n };\n\n let useFindAndModify = true;\n const runValidators = _getOption(this, 'runValidators', false);\n const base = _this.model && _this.model.base;\n const conn = get(model, 'collection.conn', {});\n if ('useFindAndModify' in base.options) {\n useFindAndModify = base.get('useFindAndModify');\n }\n if ('useFindAndModify' in conn.config) {\n useFindAndModify = conn.config.useFindAndModify;\n }\n if ('useFindAndModify' in options) {\n useFindAndModify = options.useFindAndModify;\n }\n if (useFindAndModify === false) {\n // Bypass mquery\n const collection = _this._collection.collection;\n convertNewToReturnDocument(opts);\n\n if (type === 'remove') {\n collection.findOneAndDelete(castedQuery, opts, _wrapThunkCallback(_this, function(error, res) {\n return cb(error, res ? res.value : res, res);\n }));\n\n return this;\n }\n\n // honors legacy overwrite option for backward compatibility\n const updateMethod = isOverwriting ? 'findOneAndReplace' : 'findOneAndUpdate';\n\n if (runValidators) {\n this.validate(this._update, opts, isOverwriting, error => {\n if (error) {\n return callback(error);\n }\n if (this._update && this._update.toBSON) {\n this._update = this._update.toBSON();\n }\n\n collection[updateMethod](castedQuery, this._update, opts, _wrapThunkCallback(_this, function(error, res) {\n return cb(error, res ? res.value : res, res);\n }));\n });\n } else {\n if (this._update && this._update.toBSON) {\n this._update = this._update.toBSON();\n }\n collection[updateMethod](castedQuery, this._update, opts, _wrapThunkCallback(_this, function(error, res) {\n return cb(error, res ? res.value : res, res);\n }));\n }\n\n return this;\n }\n\n if (runValidators) {\n this.validate(this._update, opts, isOverwriting, function(error) {\n if (error) {\n return callback(error);\n }\n _legacyFindAndModify.call(_this, castedQuery, _this._update, opts, cb);\n });\n } else {\n _legacyFindAndModify.call(_this, castedQuery, _this._update, opts, cb);\n }\n\n return this;\n};\n\n/*!\n * ignore\n */\n\nfunction _completeOneLean(doc, res, opts, callback) {\n if (opts.rawResult) {\n return callback(null, res);\n }\n return callback(null, doc);\n}\n\n\n/*!\n * ignore\n */\n\nconst _legacyFindAndModify = util.deprecate(function(filter, update, opts, cb) {\n if (update && update.toBSON) {\n update = update.toBSON();\n }\n const collection = this._collection;\n const sort = opts != null && Array.isArray(opts.sort) ? opts.sort : [];\n const _cb = _wrapThunkCallback(this, function(error, res) {\n return cb(error, res ? res.value : res, res);\n });\n collection.collection._findAndModify(filter, sort, update, opts, _cb);\n}, 'Mongoose: `findOneAndUpdate()` and `findOneAndDelete()` without the ' +\n '`useFindAndModify` option set to false are deprecated. See: ' +\n 'https://mongoosejs.com/docs/deprecations.html#findandmodify');\n\n/*!\n * Override mquery.prototype._mergeUpdate to handle mongoose objects in\n * updates.\n *\n * @param {Object} doc\n * @api private\n */\n\nQuery.prototype._mergeUpdate = function(doc) {\n if (doc == null || (typeof doc === 'object' && Object.keys(doc).length === 0)) {\n return;\n }\n\n if (!this._update) {\n this._update = Array.isArray(doc) ? [] : {};\n }\n if (doc instanceof Query) {\n if (Array.isArray(this._update)) {\n throw new Error('Cannot mix array and object updates');\n }\n if (doc._update) {\n utils.mergeClone(this._update, doc._update);\n }\n } else if (Array.isArray(doc)) {\n if (!Array.isArray(this._update)) {\n throw new Error('Cannot mix array and object updates');\n }\n this._update = this._update.concat(doc);\n } else {\n if (Array.isArray(this._update)) {\n throw new Error('Cannot mix array and object updates');\n }\n utils.mergeClone(this._update, doc);\n }\n};\n\n/*!\n * The mongodb driver 1.3.23 only supports the nested array sort\n * syntax. We must convert it or sorting findAndModify will not work.\n */\n\nfunction convertSortToArray(opts) {\n if (Array.isArray(opts.sort)) {\n return;\n }\n if (!utils.isObject(opts.sort)) {\n return;\n }\n\n const sort = [];\n\n for (const key in opts.sort) {\n if (utils.object.hasOwnProperty(opts.sort, key)) {\n sort.push([key, opts.sort[key]]);\n }\n }\n\n opts.sort = sort;\n}\n\n/*!\n * ignore\n */\n\nfunction _updateThunk(op, callback) {\n this._castConditions();\n\n _castArrayFilters(this);\n\n if (this.error() != null) {\n callback(this.error());\n return null;\n }\n\n callback = _wrapThunkCallback(this, callback);\n const oldCb = callback;\n callback = function(error, result) {\n oldCb(error, result ? result.result : { ok: 0, n: 0, nModified: 0 });\n };\n\n const castedQuery = this._conditions;\n const options = this._optionsForExec(this.model);\n\n ++this._executionCount;\n\n this._update = utils.clone(this._update, options);\n const isOverwriting = this.options.overwrite && !hasDollarKeys(this._update);\n if (isOverwriting) {\n if (op === 'updateOne' || op === 'updateMany') {\n return callback(new MongooseError('The MongoDB server disallows ' +\n 'overwriting documents using `' + op + '`. See: ' +\n 'https://mongoosejs.com/docs/deprecations.html#update'));\n }\n this._update = new this.model(this._update, null, true);\n } else {\n this._update = castDoc(this, options.overwrite);\n\n if (this._update instanceof Error) {\n callback(this._update);\n return null;\n }\n\n if (this._update == null || Object.keys(this._update).length === 0) {\n callback(null, 0);\n return null;\n }\n\n const _opts = Object.assign({}, options, {\n setDefaultsOnInsert: this._mongooseOptions.setDefaultsOnInsert\n });\n this._update = setDefaultsOnInsert(this._conditions, this.model.schema,\n this._update, _opts);\n }\n\n if (Array.isArray(options.arrayFilters)) {\n options.arrayFilters = removeUnusedArrayFilters(this._update, options.arrayFilters);\n }\n\n const runValidators = _getOption(this, 'runValidators', false);\n if (runValidators) {\n this.validate(this._update, options, isOverwriting, err => {\n if (err) {\n return callback(err);\n }\n\n if (this._update.toBSON) {\n this._update = this._update.toBSON();\n }\n this._collection[op](castedQuery, this._update, options, callback);\n });\n return null;\n }\n\n if (this._update.toBSON) {\n this._update = this._update.toBSON();\n }\n\n this._collection[op](castedQuery, this._update, options, callback);\n return null;\n}\n\n/*!\n * Mongoose calls this function internally to validate the query if\n * `runValidators` is set\n *\n * @param {Object} castedDoc the update, after casting\n * @param {Object} options the options from `_optionsForExec()`\n * @param {Function} callback\n * @api private\n */\n\nQuery.prototype.validate = function validate(castedDoc, options, isOverwriting, callback) {\n return promiseOrCallback(callback, cb => {\n try {\n if (isOverwriting) {\n castedDoc.validate(cb);\n } else {\n updateValidators(this, this.model.schema, castedDoc, options, cb);\n }\n } catch (err) {\n immediate(function() {\n cb(err);\n });\n }\n });\n};\n\n/*!\n * Internal thunk for .update()\n *\n * @param {Function} callback\n * @see Model.update #model_Model.update\n * @api private\n */\nQuery.prototype._execUpdate = wrapThunk(function(callback) {\n return _updateThunk.call(this, 'update', callback);\n});\n\n/*!\n * Internal thunk for .updateMany()\n *\n * @param {Function} callback\n * @see Model.update #model_Model.update\n * @api private\n */\nQuery.prototype._updateMany = wrapThunk(function(callback) {\n return _updateThunk.call(this, 'updateMany', callback);\n});\n\n/*!\n * Internal thunk for .updateOne()\n *\n * @param {Function} callback\n * @see Model.update #model_Model.update\n * @api private\n */\nQuery.prototype._updateOne = wrapThunk(function(callback) {\n return _updateThunk.call(this, 'updateOne', callback);\n});\n\n/*!\n * Internal thunk for .replaceOne()\n *\n * @param {Function} callback\n * @see Model.replaceOne #model_Model.replaceOne\n * @api private\n */\nQuery.prototype._replaceOne = wrapThunk(function(callback) {\n return _updateThunk.call(this, 'replaceOne', callback);\n});\n\n/**\n * Declare and/or execute this query as an update() operation.\n *\n * _All paths passed that are not [atomic](https://docs.mongodb.com/manual/tutorial/model-data-for-atomic-operations/#pattern) operations will become `$set` ops._\n *\n * This function triggers the following middleware.\n *\n * - `update()`\n *\n * ####Example\n *\n * Model.where({ _id: id }).update({ title: 'words' })\n *\n * // becomes\n *\n * Model.where({ _id: id }).update({ $set: { title: 'words' }})\n *\n * ####Valid options:\n *\n * - `upsert` (boolean) whether to create the doc if it doesn't match (false)\n * - `multi` (boolean) whether multiple documents should be updated (false)\n * - `runValidators`: if true, runs [update validators](/docs/validation.html#update-validators) on this command. Update validators validate the update operation against the model's schema.\n * - `setDefaultsOnInsert`: if this and `upsert` are true, mongoose will apply the [defaults](http://mongoosejs.com/docs/defaults.html) specified in the model's schema if a new document is created. This option only works on MongoDB >= 2.4 because it relies on [MongoDB's `$setOnInsert` operator](https://docs.mongodb.org/v2.4/reference/operator/update/setOnInsert/).\n * - `strict` (boolean) overrides the `strict` option for this update\n * - `overwrite` (boolean) disables update-only mode, allowing you to overwrite the doc (false)\n * - `context` (string) if set to 'query' and `runValidators` is on, `this` will refer to the query in custom validator functions that update validation runs. Does nothing if `runValidators` is false.\n * - `read`\n * - `writeConcern`\n *\n * ####Note\n *\n * Passing an empty object `{}` as the doc will result in a no-op unless the `overwrite` option is passed. Without the `overwrite` option set, the update operation will be ignored and the callback executed without sending the command to MongoDB so as to prevent accidently overwritting documents in the collection.\n *\n * ####Note\n *\n * The operation is only executed when a callback is passed. To force execution without a callback, we must first call update() and then execute it by using the `exec()` method.\n *\n * const q = Model.where({ _id: id });\n * q.update({ $set: { name: 'bob' }}).update(); // not executed\n *\n * q.update({ $set: { name: 'bob' }}).exec(); // executed\n *\n * // keys that are not [atomic](https://docs.mongodb.com/manual/tutorial/model-data-for-atomic-operations/#pattern) ops become `$set`.\n * // this executes the same command as the previous example.\n * q.update({ name: 'bob' }).exec();\n *\n * // overwriting with empty docs\n * const q = Model.where({ _id: id }).setOptions({ overwrite: true })\n * q.update({ }, callback); // executes\n *\n * // multi update with overwrite to empty doc\n * const q = Model.where({ _id: id });\n * q.setOptions({ multi: true, overwrite: true })\n * q.update({ });\n * q.update(callback); // executed\n *\n * // multi updates\n * Model.where()\n * .update({ name: /^match/ }, { $set: { arr: [] }}, { multi: true }, callback)\n *\n * // more multi updates\n * Model.where()\n * .setOptions({ multi: true })\n * .update({ $set: { arr: [] }}, callback)\n *\n * // single update by default\n * Model.where({ email: 'address@example.com' })\n * .update({ $inc: { counter: 1 }}, callback)\n *\n * API summary\n *\n * update(filter, doc, options, cb) // executes\n * update(filter, doc, options)\n * update(filter, doc, cb) // executes\n * update(filter, doc)\n * update(doc, cb) // executes\n * update(doc)\n * update(cb) // executes\n * update(true) // executes\n * update()\n *\n * @param {Object} [filter]\n * @param {Object} [doc] the update command\n * @param {Object} [options]\n * @param {Boolean} [options.multipleCastError] by default, mongoose only returns the first error that occurred in casting the query. Turn on this option to aggregate all the cast errors.\n * @param {Boolean} [options.omitUndefined=false] If true, delete any properties whose value is `undefined` when casting an update. In other words, if this is set, Mongoose will delete `baz` from the update in `Model.updateOne({}, { foo: 'bar', baz: undefined })` before sending the update to the server.\n * @param {Boolean|String} [options.strict] overwrites the schema's [strict mode option](http://mongoosejs.com/docs/guide.html#strict)\n * @param {Boolean} [options.upsert=false] if true, and no documents found, insert a new document\n * @param {Object} [options.writeConcern=null] sets the [write concern](https://docs.mongodb.com/manual/reference/write-concern/) for replica sets. Overrides the [schema-level write concern](/docs/guide.html#writeConcern)\n * @param {Boolean} [options.timestamps=null] If set to `false` and [schema-level timestamps](/docs/guide.html#timestamps) are enabled, skip timestamps for this update. Does nothing if schema-level timestamps are not set.\n * @param {Function} [callback] params are (error, writeOpResult)\n * @return {Query} this\n * @see Model.update #model_Model.update\n * @see Query docs https://mongoosejs.com/docs/queries.html\n * @see update http://docs.mongodb.org/manual/reference/method/db.collection.update/\n * @see writeOpResult http://mongodb.github.io/node-mongodb-native/2.2/api/Collection.html#~WriteOpResult\n * @see MongoDB docs https://docs.mongodb.com/manual/reference/command/update/#update-command-output\n * @api public\n */\n\nQuery.prototype.update = function(conditions, doc, options, callback) {\n if (typeof options === 'function') {\n // .update(conditions, doc, callback)\n callback = options;\n options = null;\n } else if (typeof doc === 'function') {\n // .update(doc, callback);\n callback = doc;\n doc = conditions;\n conditions = {};\n options = null;\n } else if (typeof conditions === 'function') {\n // .update(callback)\n callback = conditions;\n conditions = undefined;\n doc = undefined;\n options = undefined;\n } else if (typeof conditions === 'object' && !doc && !options && !callback) {\n // .update(doc)\n doc = conditions;\n conditions = undefined;\n options = undefined;\n callback = undefined;\n }\n\n return _update(this, 'update', conditions, doc, options, callback);\n};\n\n/**\n * Declare and/or execute this query as an updateMany() operation. Same as\n * `update()`, except MongoDB will update _all_ documents that match\n * `filter` (as opposed to just the first one) regardless of the value of\n * the `multi` option.\n *\n * **Note** updateMany will _not_ fire update middleware. Use `pre('updateMany')`\n * and `post('updateMany')` instead.\n *\n * ####Example:\n * const res = await Person.updateMany({ name: /Stark$/ }, { isDeleted: true });\n * res.n; // Number of documents matched\n * res.nModified; // Number of documents modified\n *\n * This function triggers the following middleware.\n *\n * - `updateMany()`\n *\n * @param {Object} [filter]\n * @param {Object|Array} [update] the update command\n * @param {Object} [options]\n * @param {Boolean} [options.multipleCastError] by default, mongoose only returns the first error that occurred in casting the query. Turn on this option to aggregate all the cast errors.\n * @param {Boolean} [options.omitUndefined=false] If true, delete any properties whose value is `undefined` when casting an update. In other words, if this is set, Mongoose will delete `baz` from the update in `Model.updateOne({}, { foo: 'bar', baz: undefined })` before sending the update to the server.\n * @param {Boolean|String} [options.strict] overwrites the schema's [strict mode option](http://mongoosejs.com/docs/guide.html#strict)\n * @param {Boolean} [options.upsert=false] if true, and no documents found, insert a new document\n * @param {Object} [options.writeConcern=null] sets the [write concern](https://docs.mongodb.com/manual/reference/write-concern/) for replica sets. Overrides the [schema-level write concern](/docs/guide.html#writeConcern)\n * @param {Boolean} [options.timestamps=null] If set to `false` and [schema-level timestamps](/docs/guide.html#timestamps) are enabled, skip timestamps for this update. Does nothing if schema-level timestamps are not set.\n * @param {Function} [callback] params are (error, writeOpResult)\n * @return {Query} this\n * @see Model.update #model_Model.update\n * @see Query docs https://mongoosejs.com/docs/queries.html\n * @see update http://docs.mongodb.org/manual/reference/method/db.collection.update/\n * @see writeOpResult http://mongodb.github.io/node-mongodb-native/2.2/api/Collection.html#~WriteOpResult\n * @see MongoDB docs https://docs.mongodb.com/manual/reference/command/update/#update-command-output\n * @api public\n */\n\nQuery.prototype.updateMany = function(conditions, doc, options, callback) {\n if (typeof options === 'function') {\n // .update(conditions, doc, callback)\n callback = options;\n options = null;\n } else if (typeof doc === 'function') {\n // .update(doc, callback);\n callback = doc;\n doc = conditions;\n conditions = {};\n options = null;\n } else if (typeof conditions === 'function') {\n // .update(callback)\n callback = conditions;\n conditions = undefined;\n doc = undefined;\n options = undefined;\n } else if (typeof conditions === 'object' && !doc && !options && !callback) {\n // .update(doc)\n doc = conditions;\n conditions = undefined;\n options = undefined;\n callback = undefined;\n }\n\n return _update(this, 'updateMany', conditions, doc, options, callback);\n};\n\n/**\n * Declare and/or execute this query as an updateOne() operation. Same as\n * `update()`, except it does not support the `multi` or `overwrite` options.\n *\n * - MongoDB will update _only_ the first document that matches `filter` regardless of the value of the `multi` option.\n * - Use `replaceOne()` if you want to overwrite an entire document rather than using [atomic](https://docs.mongodb.com/manual/tutorial/model-data-for-atomic-operations/#pattern) operators like `$set`.\n *\n * **Note** updateOne will _not_ fire update middleware. Use `pre('updateOne')`\n * and `post('updateOne')` instead.\n *\n * ####Example:\n * const res = await Person.updateOne({ name: 'Jean-Luc Picard' }, { ship: 'USS Enterprise' });\n * res.n; // Number of documents matched\n * res.nModified; // Number of documents modified\n *\n * This function triggers the following middleware.\n *\n * - `updateOne()`\n *\n * @param {Object} [filter]\n * @param {Object|Array} [update] the update command\n * @param {Object} [options]\n * @param {Boolean} [options.multipleCastError] by default, mongoose only returns the first error that occurred in casting the query. Turn on this option to aggregate all the cast errors.\n * @param {Boolean} [options.omitUndefined=false] If true, delete any properties whose value is `undefined` when casting an update. In other words, if this is set, Mongoose will delete `baz` from the update in `Model.updateOne({}, { foo: 'bar', baz: undefined })` before sending the update to the server.\n * @param {Boolean|String} [options.strict] overwrites the schema's [strict mode option](http://mongoosejs.com/docs/guide.html#strict)\n * @param {Boolean} [options.upsert=false] if true, and no documents found, insert a new document\n * @param {Object} [options.writeConcern=null] sets the [write concern](https://docs.mongodb.com/manual/reference/write-concern/) for replica sets. Overrides the [schema-level write concern](/docs/guide.html#writeConcern)\n * @param {Boolean} [options.timestamps=null] If set to `false` and [schema-level timestamps](/docs/guide.html#timestamps) are enabled, skip timestamps for this update. Note that this allows you to overwrite timestamps. Does nothing if schema-level timestamps are not set.\n * @param {Function} [callback] params are (error, writeOpResult)\n * @return {Query} this\n * @see Model.update #model_Model.update\n * @see Query docs https://mongoosejs.com/docs/queries.html\n * @see update http://docs.mongodb.org/manual/reference/method/db.collection.update/\n * @see writeOpResult http://mongodb.github.io/node-mongodb-native/2.2/api/Collection.html#~WriteOpResult\n * @see MongoDB docs https://docs.mongodb.com/manual/reference/command/update/#update-command-output\n * @api public\n */\n\nQuery.prototype.updateOne = function(conditions, doc, options, callback) {\n if (typeof options === 'function') {\n // .update(conditions, doc, callback)\n callback = options;\n options = null;\n } else if (typeof doc === 'function') {\n // .update(doc, callback);\n callback = doc;\n doc = conditions;\n conditions = {};\n options = null;\n } else if (typeof conditions === 'function') {\n // .update(callback)\n callback = conditions;\n conditions = undefined;\n doc = undefined;\n options = undefined;\n } else if (typeof conditions === 'object' && !doc && !options && !callback) {\n // .update(doc)\n doc = conditions;\n conditions = undefined;\n options = undefined;\n callback = undefined;\n }\n\n return _update(this, 'updateOne', conditions, doc, options, callback);\n};\n\n/**\n * Declare and/or execute this query as a replaceOne() operation. Same as\n * `update()`, except MongoDB will replace the existing document and will\n * not accept any [atomic](https://docs.mongodb.com/manual/tutorial/model-data-for-atomic-operations/#pattern) operators (`$set`, etc.)\n *\n * **Note** replaceOne will _not_ fire update middleware. Use `pre('replaceOne')`\n * and `post('replaceOne')` instead.\n *\n * ####Example:\n * const res = await Person.replaceOne({ _id: 24601 }, { name: 'Jean Valjean' });\n * res.n; // Number of documents matched\n * res.nModified; // Number of documents modified\n *\n * This function triggers the following middleware.\n *\n * - `replaceOne()`\n *\n * @param {Object} [filter]\n * @param {Object} [doc] the update command\n * @param {Object} [options]\n * @param {Boolean} [options.multipleCastError] by default, mongoose only returns the first error that occurred in casting the query. Turn on this option to aggregate all the cast errors.\n * @param {Boolean} [options.omitUndefined=false] If true, delete any properties whose value is `undefined` when casting an update. In other words, if this is set, Mongoose will delete `baz` from the update in `Model.updateOne({}, { foo: 'bar', baz: undefined })` before sending the update to the server.\n * @param {Boolean|String} [options.strict] overwrites the schema's [strict mode option](http://mongoosejs.com/docs/guide.html#strict)\n * @param {Boolean} [options.upsert=false] if true, and no documents found, insert a new document\n * @param {Object} [options.writeConcern=null] sets the [write concern](https://docs.mongodb.com/manual/reference/write-concern/) for replica sets. Overrides the [schema-level write concern](/docs/guide.html#writeConcern)\n * @param {Boolean} [options.timestamps=null] If set to `false` and [schema-level timestamps](/docs/guide.html#timestamps) are enabled, skip timestamps for this update. Does nothing if schema-level timestamps are not set.\n * @param {Function} [callback] params are (error, writeOpResult)\n * @return {Query} this\n * @see Model.update #model_Model.update\n * @see Query docs https://mongoosejs.com/docs/queries.html\n * @see update http://docs.mongodb.org/manual/reference/method/db.collection.update/\n * @see writeOpResult http://mongodb.github.io/node-mongodb-native/2.2/api/Collection.html#~WriteOpResult\n * @see MongoDB docs https://docs.mongodb.com/manual/reference/command/update/#update-command-output\n * @api public\n */\n\nQuery.prototype.replaceOne = function(conditions, doc, options, callback) {\n if (typeof options === 'function') {\n // .update(conditions, doc, callback)\n callback = options;\n options = null;\n } else if (typeof doc === 'function') {\n // .update(doc, callback);\n callback = doc;\n doc = conditions;\n conditions = {};\n options = null;\n } else if (typeof conditions === 'function') {\n // .update(callback)\n callback = conditions;\n conditions = undefined;\n doc = undefined;\n options = undefined;\n } else if (typeof conditions === 'object' && !doc && !options && !callback) {\n // .update(doc)\n doc = conditions;\n conditions = undefined;\n options = undefined;\n callback = undefined;\n }\n\n this.setOptions({ overwrite: true });\n return _update(this, 'replaceOne', conditions, doc, options, callback);\n};\n\n/*!\n * Internal helper for update, updateMany, updateOne, replaceOne\n */\n\nfunction _update(query, op, filter, doc, options, callback) {\n // make sure we don't send in the whole Document to merge()\n query.op = op;\n filter = utils.toObject(filter);\n doc = doc || {};\n\n // strict is an option used in the update checking, make sure it gets set\n if (options != null) {\n if ('strict' in options) {\n query._mongooseOptions.strict = options.strict;\n }\n }\n\n if (!(filter instanceof Query) &&\n filter != null &&\n filter.toString() !== '[object Object]') {\n query.error(new ObjectParameterError(filter, 'filter', op));\n } else {\n query.merge(filter);\n }\n\n if (utils.isObject(options)) {\n query.setOptions(options);\n }\n\n query._mergeUpdate(doc);\n\n // Hooks\n if (callback) {\n query.exec(callback);\n\n return query;\n }\n\n return Query.base[op].call(query, filter, void 0, options, callback);\n}\n\n/**\n * Runs a function `fn` and treats the return value of `fn` as the new value\n * for the query to resolve to.\n *\n * Any functions you pass to `map()` will run **after** any post hooks.\n *\n * ####Example:\n *\n * const res = await MyModel.findOne().map(res => {\n * // Sets a `loadedAt` property on the doc that tells you the time the\n * // document was loaded.\n * return res == null ?\n * res :\n * Object.assign(res, { loadedAt: new Date() });\n * });\n *\n * @method map\n * @memberOf Query\n * @instance\n * @param {Function} fn function to run to transform the query result\n * @return {Query} this\n */\n\nQuery.prototype.map = function(fn) {\n this._transforms.push(fn);\n return this;\n};\n\n/**\n * Make this query throw an error if no documents match the given `filter`.\n * This is handy for integrating with async/await, because `orFail()` saves you\n * an extra `if` statement to check if no document was found.\n *\n * ####Example:\n *\n * // Throws if no doc returned\n * await Model.findOne({ foo: 'bar' }).orFail();\n *\n * // Throws if no document was updated\n * await Model.updateOne({ foo: 'bar' }, { name: 'test' }).orFail();\n *\n * // Throws \"No docs found!\" error if no docs match `{ foo: 'bar' }`\n * await Model.find({ foo: 'bar' }).orFail(new Error('No docs found!'));\n *\n * // Throws \"Not found\" error if no document was found\n * await Model.findOneAndUpdate({ foo: 'bar' }, { name: 'test' }).\n * orFail(() => Error('Not found'));\n *\n * @method orFail\n * @memberOf Query\n * @instance\n * @param {Function|Error} [err] optional error to throw if no docs match `filter`. If not specified, `orFail()` will throw a `DocumentNotFoundError`\n * @return {Query} this\n */\n\nQuery.prototype.orFail = function(err) {\n this.map(res => {\n switch (this.op) {\n case 'find':\n if (res.length === 0) {\n throw _orFailError(err, this);\n }\n break;\n case 'findOne':\n if (res == null) {\n throw _orFailError(err, this);\n }\n break;\n case 'update':\n case 'updateMany':\n case 'updateOne':\n if (get(res, 'nModified') === 0) {\n throw _orFailError(err, this);\n }\n break;\n case 'findOneAndDelete':\n case 'findOneAndRemove':\n if (get(res, 'lastErrorObject.n') === 0) {\n throw _orFailError(err, this);\n }\n break;\n case 'findOneAndUpdate':\n case 'findOneAndReplace':\n if (get(res, 'lastErrorObject.updatedExisting') === false) {\n throw _orFailError(err, this);\n }\n break;\n case 'deleteMany':\n case 'deleteOne':\n case 'remove':\n if (res.n === 0) {\n throw _orFailError(err, this);\n }\n break;\n default:\n break;\n }\n\n return res;\n });\n return this;\n};\n\n/*!\n * Get the error to throw for `orFail()`\n */\n\nfunction _orFailError(err, query) {\n if (typeof err === 'function') {\n err = err.call(query);\n }\n\n if (err == null) {\n err = new DocumentNotFoundError(query.getQuery(), query.model.modelName);\n }\n\n return err;\n}\n\n/**\n * Executes the query\n *\n * ####Examples:\n *\n * const promise = query.exec();\n * const promise = query.exec('update');\n *\n * query.exec(callback);\n * query.exec('find', callback);\n *\n * @param {String|Function} [operation]\n * @param {Function} [callback] optional params depend on the function being called\n * @return {Promise}\n * @api public\n */\n\nQuery.prototype.exec = function exec(op, callback) {\n const _this = this;\n // Ensure that `exec()` is the first thing that shows up in\n // the stack when cast errors happen.\n const castError = new CastError();\n\n if (typeof op === 'function') {\n callback = op;\n op = null;\n } else if (typeof op === 'string') {\n this.op = op;\n }\n\n callback = this.model.$handleCallbackError(callback);\n\n return promiseOrCallback(callback, (cb) => {\n cb = this.model.$wrapCallback(cb);\n\n if (!_this.op) {\n cb();\n return;\n }\n\n this._hooks.execPre('exec', this, [], (error) => {\n if (error != null) {\n return cb(_cleanCastErrorStack(castError, error));\n }\n let thunk = '_' + this.op;\n if (this.op === 'update') {\n thunk = '_execUpdate';\n } else if (this.op === 'distinct') {\n thunk = '__distinct';\n }\n this[thunk].call(this, (error, res) => {\n if (error) {\n return cb(_cleanCastErrorStack(castError, error));\n }\n\n this._hooks.execPost('exec', this, [], {}, (error) => {\n if (error) {\n return cb(_cleanCastErrorStack(castError, error));\n }\n\n cb(null, res);\n });\n });\n });\n }, this.model.events);\n};\n\n/*!\n * ignore\n */\n\nfunction _cleanCastErrorStack(castError, error) {\n if (error instanceof CastError) {\n castError.copy(error);\n return castError;\n }\n\n return error;\n}\n\n/*!\n * ignore\n */\n\nfunction _wrapThunkCallback(query, cb) {\n return function(error, res) {\n if (error != null) {\n return cb(error);\n }\n\n for (const fn of query._transforms) {\n try {\n res = fn(res);\n } catch (error) {\n return cb(error);\n }\n }\n\n return cb(null, res);\n };\n}\n\n/**\n * Executes the query returning a `Promise` which will be\n * resolved with either the doc(s) or rejected with the error.\n *\n * More about [`then()` in JavaScript](https://masteringjs.io/tutorials/fundamentals/then).\n *\n * @param {Function} [resolve]\n * @param {Function} [reject]\n * @return {Promise}\n * @api public\n */\n\nQuery.prototype.then = function(resolve, reject) {\n return this.exec().then(resolve, reject);\n};\n\n/**\n * Executes the query returning a `Promise` which will be\n * resolved with either the doc(s) or rejected with the error.\n * Like `.then()`, but only takes a rejection handler.\n *\n * More about [Promise `catch()` in JavaScript](https://masteringjs.io/tutorials/fundamentals/catch).\n *\n * @param {Function} [reject]\n * @return {Promise}\n * @api public\n */\n\nQuery.prototype.catch = function(reject) {\n return this.exec().then(null, reject);\n};\n\n/**\n * Add pre [middleware](/docs/middleware.html) to this query instance. Doesn't affect\n * other queries.\n *\n * ####Example:\n *\n * const q1 = Question.find({ answer: 42 });\n * q1.pre(function middleware() {\n * console.log(this.getFilter());\n * });\n * await q1.exec(); // Prints \"{ answer: 42 }\"\n *\n * // Doesn't print anything, because `middleware()` is only\n * // registered on `q1`.\n * await Question.find({ answer: 42 });\n *\n * @param {Function} fn\n * @return {Promise}\n * @api public\n */\n\nQuery.prototype.pre = function(fn) {\n this._hooks.pre('exec', fn);\n return this;\n};\n\n/**\n * Add post [middleware](/docs/middleware.html) to this query instance. Doesn't affect\n * other queries.\n *\n * ####Example:\n *\n * const q1 = Question.find({ answer: 42 });\n * q1.post(function middleware() {\n * console.log(this.getFilter());\n * });\n * await q1.exec(); // Prints \"{ answer: 42 }\"\n *\n * // Doesn't print anything, because `middleware()` is only\n * // registered on `q1`.\n * await Question.find({ answer: 42 });\n *\n * @param {Function} fn\n * @return {Promise}\n * @api public\n */\n\nQuery.prototype.post = function(fn) {\n this._hooks.post('exec', fn);\n return this;\n};\n\n/*!\n * Casts obj for an update command.\n *\n * @param {Object} obj\n * @return {Object} obj after casting its values\n * @api private\n */\n\nQuery.prototype._castUpdate = function _castUpdate(obj, overwrite) {\n let strict;\n let schema = this.schema;\n\n const discriminatorKey = schema.options.discriminatorKey;\n const baseSchema = schema._baseSchema ? schema._baseSchema : schema;\n if (this._mongooseOptions.overwriteDiscriminatorKey &&\n obj[discriminatorKey] != null &&\n baseSchema.discriminators) {\n const _schema = baseSchema.discriminators[obj[discriminatorKey]];\n if (_schema != null) {\n schema = _schema;\n }\n }\n\n if ('strict' in this._mongooseOptions) {\n strict = this._mongooseOptions.strict;\n } else if (this.schema && this.schema.options) {\n strict = this.schema.options.strict;\n } else {\n strict = true;\n }\n\n let omitUndefined = false;\n if ('omitUndefined' in this._mongooseOptions) {\n omitUndefined = this._mongooseOptions.omitUndefined;\n }\n\n let useNestedStrict;\n if ('useNestedStrict' in this.options) {\n useNestedStrict = this.options.useNestedStrict;\n }\n\n let upsert;\n if ('upsert' in this.options) {\n upsert = this.options.upsert;\n }\n\n const filter = this._conditions;\n if (schema != null &&\n utils.hasUserDefinedProperty(filter, schema.options.discriminatorKey) &&\n typeof filter[schema.options.discriminatorKey] !== 'object' &&\n schema.discriminators != null) {\n const discriminatorValue = filter[schema.options.discriminatorKey];\n const byValue = getDiscriminatorByValue(this.model.discriminators, discriminatorValue);\n schema = schema.discriminators[discriminatorValue] ||\n (byValue && byValue.schema) ||\n schema;\n }\n\n return castUpdate(schema, obj, {\n overwrite: overwrite,\n strict: strict,\n omitUndefined,\n useNestedStrict: useNestedStrict,\n upsert: upsert,\n arrayFilters: this.options.arrayFilters\n }, this, this._conditions);\n};\n\n/*!\n * castQuery\n * @api private\n */\n\nfunction castQuery(query) {\n try {\n return query.cast(query.model);\n } catch (err) {\n return err;\n }\n}\n\n/*!\n * castDoc\n * @api private\n */\n\nfunction castDoc(query, overwrite) {\n try {\n return query._castUpdate(query._update, overwrite);\n } catch (err) {\n return err;\n }\n}\n\n/**\n * Specifies paths which should be populated with other documents.\n *\n * ####Example:\n *\n * let book = await Book.findOne().populate('authors');\n * book.title; // 'Node.js in Action'\n * book.authors[0].name; // 'TJ Holowaychuk'\n * book.authors[1].name; // 'Nathan Rajlich'\n *\n * let books = await Book.find().populate({\n * path: 'authors',\n * // `match` and `sort` apply to the Author model,\n * // not the Book model. These options do not affect\n * // which documents are in `books`, just the order and\n * // contents of each book document's `authors`.\n * match: { name: new RegExp('.*h.*', 'i') },\n * sort: { name: -1 }\n * });\n * books[0].title; // 'Node.js in Action'\n * // Each book's `authors` are sorted by name, descending.\n * books[0].authors[0].name; // 'TJ Holowaychuk'\n * books[0].authors[1].name; // 'Marc Harter'\n *\n * books[1].title; // 'Professional AngularJS'\n * // Empty array, no authors' name has the letter 'h'\n * books[1].authors; // []\n *\n * Paths are populated after the query executes and a response is received. A\n * separate query is then executed for each path specified for population. After\n * a response for each query has also been returned, the results are passed to\n * the callback.\n *\n * @param {Object|String} path either the path to populate or an object specifying all parameters\n * @param {Object|String} [select] Field selection for the population query\n * @param {Model} [model] The model you wish to use for population. If not specified, populate will look up the model by the name in the Schema's `ref` field.\n * @param {Object} [match] Conditions for the population query\n * @param {Object} [options] Options for the population query (sort, etc)\n * @param {String} [options.path=null] The path to populate.\n * @param {boolean} [options.retainNullValues=false] by default, Mongoose removes null and undefined values from populated arrays. Use this option to make `populate()` retain `null` and `undefined` array entries.\n * @param {boolean} [options.getters=false] if true, Mongoose will call any getters defined on the `localField`. By default, Mongoose gets the raw value of `localField`. For example, you would need to set this option to `true` if you wanted to [add a `lowercase` getter to your `localField`](/docs/schematypes.html#schematype-options).\n * @param {boolean} [options.clone=false] When you do `BlogPost.find().populate('author')`, blog posts with the same author will share 1 copy of an `author` doc. Enable this option to make Mongoose clone populated docs before assigning them.\n * @param {Object|Function} [options.match=null] Add an additional filter to the populate query. Can be a filter object containing [MongoDB query syntax](https://docs.mongodb.com/manual/tutorial/query-documents/), or a function that returns a filter object.\n * @param {Function} [options.transform=null] Function that Mongoose will call on every populated document that allows you to transform the populated document.\n * @param {Object} [options.options=null] Additional options like `limit` and `lean`.\n * @see population ./populate.html\n * @see Query#select #query_Query-select\n * @see Model.populate #model_Model.populate\n * @return {Query} this\n * @api public\n */\n\nQuery.prototype.populate = function() {\n // Bail when given no truthy arguments\n if (!Array.from(arguments).some(Boolean)) {\n return this;\n }\n\n const res = utils.populate.apply(null, arguments);\n\n // Propagate readConcern and readPreference and lean from parent query,\n // unless one already specified\n if (this.options != null) {\n const readConcern = this.options.readConcern;\n const readPref = this.options.readPreference;\n\n for (const populateOptions of res) {\n if (readConcern != null && get(populateOptions, 'options.readConcern') == null) {\n populateOptions.options = populateOptions.options || {};\n populateOptions.options.readConcern = readConcern;\n }\n if (readPref != null && get(populateOptions, 'options.readPreference') == null) {\n populateOptions.options = populateOptions.options || {};\n populateOptions.options.readPreference = readPref;\n }\n }\n }\n\n const opts = this._mongooseOptions;\n\n if (opts.lean != null) {\n const lean = opts.lean;\n for (const populateOptions of res) {\n if (get(populateOptions, 'options.lean') == null) {\n populateOptions.options = populateOptions.options || {};\n populateOptions.options.lean = lean;\n }\n }\n }\n\n if (!utils.isObject(opts.populate)) {\n opts.populate = {};\n }\n\n const pop = opts.populate;\n\n for (const populateOptions of res) {\n const path = populateOptions.path;\n if (pop[path] && pop[path].populate && populateOptions.populate) {\n populateOptions.populate = pop[path].populate.concat(populateOptions.populate);\n }\n\n pop[populateOptions.path] = populateOptions;\n }\n return this;\n};\n\n/**\n * Gets a list of paths to be populated by this query\n *\n * ####Example:\n * bookSchema.pre('findOne', function() {\n * let keys = this.getPopulatedPaths(); // ['author']\n * });\n * ...\n * Book.findOne({}).populate('author');\n *\n * ####Example:\n * // Deep populate\n * const q = L1.find().populate({\n * path: 'level2',\n * populate: { path: 'level3' }\n * });\n * q.getPopulatedPaths(); // ['level2', 'level2.level3']\n *\n * @return {Array} an array of strings representing populated paths\n * @api public\n */\n\nQuery.prototype.getPopulatedPaths = function getPopulatedPaths() {\n const obj = this._mongooseOptions.populate || {};\n const ret = Object.keys(obj);\n for (const path of Object.keys(obj)) {\n const pop = obj[path];\n if (!Array.isArray(pop.populate)) {\n continue;\n }\n _getPopulatedPaths(ret, pop.populate, path + '.');\n }\n return ret;\n};\n\n/*!\n * ignore\n */\n\nfunction _getPopulatedPaths(list, arr, prefix) {\n for (const pop of arr) {\n list.push(prefix + pop.path);\n if (!Array.isArray(pop.populate)) {\n continue;\n }\n _getPopulatedPaths(list, pop.populate, prefix + pop.path + '.');\n }\n}\n\n/**\n * Casts this query to the schema of `model`\n *\n * ####Note\n *\n * If `obj` is present, it is cast instead of this query.\n *\n * @param {Model} [model] the model to cast to. If not set, defaults to `this.model`\n * @param {Object} [obj]\n * @return {Object}\n * @api public\n */\n\nQuery.prototype.cast = function(model, obj) {\n obj || (obj = this._conditions);\n\n model = model || this.model;\n const discriminatorKey = model.schema.options.discriminatorKey;\n if (obj != null &&\n obj.hasOwnProperty(discriminatorKey)) {\n model = getDiscriminatorByValue(model.discriminators, obj[discriminatorKey]) || model;\n }\n\n try {\n return cast(model.schema, obj, {\n upsert: this.options && this.options.upsert,\n strict: (this.options && 'strict' in this.options) ?\n this.options.strict :\n get(model, 'schema.options.strict', null),\n strictQuery: (this.options && this.options.strictQuery) ||\n get(model, 'schema.options.strictQuery', null)\n }, this);\n } catch (err) {\n // CastError, assign model\n if (typeof err.setModel === 'function') {\n err.setModel(model);\n }\n throw err;\n }\n};\n\n/**\n * Casts selected field arguments for field selection with mongo 2.2\n *\n * query.select({ ids: { $elemMatch: { $in: [hexString] }})\n *\n * @param {Object} fields\n * @see https://github.com/Automattic/mongoose/issues/1091\n * @see http://docs.mongodb.org/manual/reference/projection/elemMatch/\n * @api private\n */\n\nQuery.prototype._castFields = function _castFields(fields) {\n let selected,\n elemMatchKeys,\n keys,\n key,\n out,\n i;\n\n if (fields) {\n keys = Object.keys(fields);\n elemMatchKeys = [];\n i = keys.length;\n\n // collect $elemMatch args\n while (i--) {\n key = keys[i];\n if (fields[key].$elemMatch) {\n selected || (selected = {});\n selected[key] = fields[key];\n elemMatchKeys.push(key);\n }\n }\n }\n\n if (selected) {\n // they passed $elemMatch, cast em\n try {\n out = this.cast(this.model, selected);\n } catch (err) {\n return err;\n }\n\n // apply the casted field args\n i = elemMatchKeys.length;\n while (i--) {\n key = elemMatchKeys[i];\n fields[key] = out[key];\n }\n }\n\n return fields;\n};\n\n/**\n * Applies schematype selected options to this query.\n * @api private\n */\n\nQuery.prototype._applyPaths = function applyPaths() {\n this._fields = this._fields || {};\n helpers.applyPaths(this._fields, this.model.schema);\n\n let _selectPopulatedPaths = true;\n\n if ('selectPopulatedPaths' in this.model.base.options) {\n _selectPopulatedPaths = this.model.base.options.selectPopulatedPaths;\n }\n if ('selectPopulatedPaths' in this.model.schema.options) {\n _selectPopulatedPaths = this.model.schema.options.selectPopulatedPaths;\n }\n\n if (_selectPopulatedPaths) {\n selectPopulatedFields(this._fields, this._userProvidedFields, this._mongooseOptions.populate);\n }\n};\n\n/**\n * Returns a wrapper around a [mongodb driver cursor](http://mongodb.github.io/node-mongodb-native/2.1/api/Cursor.html).\n * A QueryCursor exposes a Streams3 interface, as well as a `.next()` function.\n *\n * The `.cursor()` function triggers pre find hooks, but **not** post find hooks.\n *\n * ####Example\n *\n * // There are 2 ways to use a cursor. First, as a stream:\n * Thing.\n * find({ name: /^hello/ }).\n * cursor().\n * on('data', function(doc) { console.log(doc); }).\n * on('end', function() { console.log('Done!'); });\n *\n * // Or you can use `.next()` to manually get the next doc in the stream.\n * // `.next()` returns a promise, so you can use promises or callbacks.\n * const cursor = Thing.find({ name: /^hello/ }).cursor();\n * cursor.next(function(error, doc) {\n * console.log(doc);\n * });\n *\n * // Because `.next()` returns a promise, you can use co\n * // to easily iterate through all documents without loading them\n * // all into memory.\n * co(function*() {\n * const cursor = Thing.find({ name: /^hello/ }).cursor();\n * for (let doc = yield cursor.next(); doc != null; doc = yield cursor.next()) {\n * console.log(doc);\n * }\n * });\n *\n * ####Valid options\n *\n * - `transform`: optional function which accepts a mongoose document. The return value of the function will be emitted on `data` and returned by `.next()`.\n *\n * @return {QueryCursor}\n * @param {Object} [options]\n * @see QueryCursor\n * @api public\n */\n\nQuery.prototype.cursor = function cursor(opts) {\n this._applyPaths();\n this._fields = this._castFields(this._fields);\n this.setOptions({ projection: this._fieldsForExec() });\n if (opts) {\n this.setOptions(opts);\n }\n\n const options = Object.assign({}, this._optionsForExec(), {\n projection: this.projection()\n });\n try {\n this.cast(this.model);\n } catch (err) {\n return (new QueryCursor(this, options))._markError(err);\n }\n\n return new QueryCursor(this, options);\n};\n\n// the rest of these are basically to support older Mongoose syntax with mquery\n\n/**\n * _DEPRECATED_ Alias of `maxScan`\n *\n * @deprecated\n * @see maxScan #query_Query-maxScan\n * @method maxscan\n * @memberOf Query\n * @instance\n */\n\nQuery.prototype.maxscan = Query.base.maxScan;\n\n/**\n * Sets the tailable option (for use with capped collections).\n *\n * ####Example\n *\n * query.tailable() // true\n * query.tailable(true)\n * query.tailable(false)\n *\n * ####Note\n *\n * Cannot be used with `distinct()`\n *\n * @param {Boolean} bool defaults to true\n * @param {Object} [opts] options to set\n * @param {Number} [opts.numberOfRetries] if cursor is exhausted, retry this many times before giving up\n * @param {Number} [opts.tailableRetryInterval] if cursor is exhausted, wait this many milliseconds before retrying\n * @see tailable http://docs.mongodb.org/manual/tutorial/create-tailable-cursor/\n * @api public\n */\n\nQuery.prototype.tailable = function(val, opts) {\n // we need to support the tailable({ awaitdata : true }) as well as the\n // tailable(true, {awaitdata :true}) syntax that mquery does not support\n if (val && val.constructor.name === 'Object') {\n opts = val;\n val = true;\n }\n\n if (val === undefined) {\n val = true;\n }\n\n if (opts && typeof opts === 'object') {\n for (const key of Object.keys(opts)) {\n if (key === 'awaitdata') {\n // For backwards compatibility\n this.options[key] = !!opts[key];\n } else {\n this.options[key] = opts[key];\n }\n }\n }\n\n return Query.base.tailable.call(this, val);\n};\n\n/**\n * Declares an intersects query for `geometry()`.\n *\n * ####Example\n *\n * query.where('path').intersects().geometry({\n * type: 'LineString'\n * , coordinates: [[180.0, 11.0], [180, 9.0]]\n * })\n *\n * query.where('path').intersects({\n * type: 'LineString'\n * , coordinates: [[180.0, 11.0], [180, 9.0]]\n * })\n *\n * ####NOTE:\n *\n * **MUST** be used after `where()`.\n *\n * ####NOTE:\n *\n * In Mongoose 3.7, `intersects` changed from a getter to a function. If you need the old syntax, use [this](https://github.com/ebensing/mongoose-within).\n *\n * @method intersects\n * @memberOf Query\n * @instance\n * @param {Object} [arg]\n * @return {Query} this\n * @see $geometry http://docs.mongodb.org/manual/reference/operator/geometry/\n * @see geoIntersects http://docs.mongodb.org/manual/reference/operator/geoIntersects/\n * @api public\n */\n\n/**\n * Specifies a `$geometry` condition\n *\n * ####Example\n *\n * const polyA = [[[ 10, 20 ], [ 10, 40 ], [ 30, 40 ], [ 30, 20 ]]]\n * query.where('loc').within().geometry({ type: 'Polygon', coordinates: polyA })\n *\n * // or\n * const polyB = [[ 0, 0 ], [ 1, 1 ]]\n * query.where('loc').within().geometry({ type: 'LineString', coordinates: polyB })\n *\n * // or\n * const polyC = [ 0, 0 ]\n * query.where('loc').within().geometry({ type: 'Point', coordinates: polyC })\n *\n * // or\n * query.where('loc').intersects().geometry({ type: 'Point', coordinates: polyC })\n *\n * The argument is assigned to the most recent path passed to `where()`.\n *\n * ####NOTE:\n *\n * `geometry()` **must** come after either `intersects()` or `within()`.\n *\n * The `object` argument must contain `type` and `coordinates` properties.\n * - type {String}\n * - coordinates {Array}\n *\n * @method geometry\n * @memberOf Query\n * @instance\n * @param {Object} object Must contain a `type` property which is a String and a `coordinates` property which is an Array. See the examples.\n * @return {Query} this\n * @see $geometry http://docs.mongodb.org/manual/reference/operator/geometry/\n * @see http://docs.mongodb.org/manual/release-notes/2.4/#new-geospatial-indexes-with-geojson-and-improved-spherical-geometry\n * @see http://www.mongodb.org/display/DOCS/Geospatial+Indexing\n * @api public\n */\n\n/**\n * Specifies a `$near` or `$nearSphere` condition\n *\n * These operators return documents sorted by distance.\n *\n * ####Example\n *\n * query.where('loc').near({ center: [10, 10] });\n * query.where('loc').near({ center: [10, 10], maxDistance: 5 });\n * query.where('loc').near({ center: [10, 10], maxDistance: 5, spherical: true });\n * query.near('loc', { center: [10, 10], maxDistance: 5 });\n *\n * @method near\n * @memberOf Query\n * @instance\n * @param {String} [path]\n * @param {Object} val\n * @return {Query} this\n * @see $near http://docs.mongodb.org/manual/reference/operator/near/\n * @see $nearSphere http://docs.mongodb.org/manual/reference/operator/nearSphere/\n * @see $maxDistance http://docs.mongodb.org/manual/reference/operator/maxDistance/\n * @see http://www.mongodb.org/display/DOCS/Geospatial+Indexing\n * @api public\n */\n\n/*!\n * Overwriting mquery is needed to support a couple different near() forms found in older\n * versions of mongoose\n * near([1,1])\n * near(1,1)\n * near(field, [1,2])\n * near(field, 1, 2)\n * In addition to all of the normal forms supported by mquery\n */\n\nQuery.prototype.near = function() {\n const params = [];\n const sphere = this._mongooseOptions.nearSphere;\n\n // TODO refactor\n\n if (arguments.length === 1) {\n if (Array.isArray(arguments[0])) {\n params.push({ center: arguments[0], spherical: sphere });\n } else if (typeof arguments[0] === 'string') {\n // just passing a path\n params.push(arguments[0]);\n } else if (utils.isObject(arguments[0])) {\n if (typeof arguments[0].spherical !== 'boolean') {\n arguments[0].spherical = sphere;\n }\n params.push(arguments[0]);\n } else {\n throw new TypeError('invalid argument');\n }\n } else if (arguments.length === 2) {\n if (typeof arguments[0] === 'number' && typeof arguments[1] === 'number') {\n params.push({ center: [arguments[0], arguments[1]], spherical: sphere });\n } else if (typeof arguments[0] === 'string' && Array.isArray(arguments[1])) {\n params.push(arguments[0]);\n params.push({ center: arguments[1], spherical: sphere });\n } else if (typeof arguments[0] === 'string' && utils.isObject(arguments[1])) {\n params.push(arguments[0]);\n if (typeof arguments[1].spherical !== 'boolean') {\n arguments[1].spherical = sphere;\n }\n params.push(arguments[1]);\n } else {\n throw new TypeError('invalid argument');\n }\n } else if (arguments.length === 3) {\n if (typeof arguments[0] === 'string' && typeof arguments[1] === 'number'\n && typeof arguments[2] === 'number') {\n params.push(arguments[0]);\n params.push({ center: [arguments[1], arguments[2]], spherical: sphere });\n } else {\n throw new TypeError('invalid argument');\n }\n } else {\n throw new TypeError('invalid argument');\n }\n\n return Query.base.near.apply(this, params);\n};\n\n/**\n * _DEPRECATED_ Specifies a `$nearSphere` condition\n *\n * ####Example\n *\n * query.where('loc').nearSphere({ center: [10, 10], maxDistance: 5 });\n *\n * **Deprecated.** Use `query.near()` instead with the `spherical` option set to `true`.\n *\n * ####Example\n *\n * query.where('loc').near({ center: [10, 10], spherical: true });\n *\n * @deprecated\n * @see near() #query_Query-near\n * @see $near http://docs.mongodb.org/manual/reference/operator/near/\n * @see $nearSphere http://docs.mongodb.org/manual/reference/operator/nearSphere/\n * @see $maxDistance http://docs.mongodb.org/manual/reference/operator/maxDistance/\n */\n\nQuery.prototype.nearSphere = function() {\n this._mongooseOptions.nearSphere = true;\n this.near.apply(this, arguments);\n return this;\n};\n\n/**\n * Returns an asyncIterator for use with [`for/await/of` loops](https://thecodebarbarian.com/getting-started-with-async-iterators-in-node-js)\n * This function *only* works for `find()` queries.\n * You do not need to call this function explicitly, the JavaScript runtime\n * will call it for you.\n *\n * ####Example\n *\n * for await (const doc of Model.aggregate([{ $sort: { name: 1 } }])) {\n * console.log(doc.name);\n * }\n *\n * Node.js 10.x supports async iterators natively without any flags. You can\n * enable async iterators in Node.js 8.x using the [`--harmony_async_iteration` flag](https://github.com/tc39/proposal-async-iteration/issues/117#issuecomment-346695187).\n *\n * **Note:** This function is not if `Symbol.asyncIterator` is undefined. If\n * `Symbol.asyncIterator` is undefined, that means your Node.js version does not\n * support async iterators.\n *\n * @method Symbol.asyncIterator\n * @memberOf Query\n * @instance\n * @api public\n */\n\nif (Symbol.asyncIterator != null) {\n Query.prototype[Symbol.asyncIterator] = function() {\n return this.cursor().transformNull()._transformForAsyncIterator();\n };\n}\n\n/**\n * Specifies a `$polygon` condition\n *\n * ####Example\n *\n * query.where('loc').within().polygon([10,20], [13, 25], [7,15])\n * query.polygon('loc', [10,20], [13, 25], [7,15])\n *\n * @method polygon\n * @memberOf Query\n * @instance\n * @param {String|Array} [path]\n * @param {Array|Object} [coordinatePairs...]\n * @return {Query} this\n * @see $polygon http://docs.mongodb.org/manual/reference/operator/polygon/\n * @see http://www.mongodb.org/display/DOCS/Geospatial+Indexing\n * @api public\n */\n\n/**\n * Specifies a `$box` condition\n *\n * ####Example\n *\n * const lowerLeft = [40.73083, -73.99756]\n * const upperRight= [40.741404, -73.988135]\n *\n * query.where('loc').within().box(lowerLeft, upperRight)\n * query.box({ ll : lowerLeft, ur : upperRight })\n *\n * @method box\n * @memberOf Query\n * @instance\n * @see $box http://docs.mongodb.org/manual/reference/operator/box/\n * @see within() Query#within #query_Query-within\n * @see http://www.mongodb.org/display/DOCS/Geospatial+Indexing\n * @param {Object} val\n * @param [Array] Upper Right Coords\n * @return {Query} this\n * @api public\n */\n\n/*!\n * this is needed to support the mongoose syntax of:\n * box(field, { ll : [x,y], ur : [x2,y2] })\n * box({ ll : [x,y], ur : [x2,y2] })\n */\n\nQuery.prototype.box = function(ll, ur) {\n if (!Array.isArray(ll) && utils.isObject(ll)) {\n ur = ll.ur;\n ll = ll.ll;\n }\n return Query.base.box.call(this, ll, ur);\n};\n\n/**\n * Specifies a `$center` or `$centerSphere` condition.\n *\n * ####Example\n *\n * const area = { center: [50, 50], radius: 10, unique: true }\n * query.where('loc').within().circle(area)\n * // alternatively\n * query.circle('loc', area);\n *\n * // spherical calculations\n * const area = { center: [50, 50], radius: 10, unique: true, spherical: true }\n * query.where('loc').within().circle(area)\n * // alternatively\n * query.circle('loc', area);\n *\n * @method circle\n * @memberOf Query\n * @instance\n * @param {String} [path]\n * @param {Object} area\n * @return {Query} this\n * @see $center http://docs.mongodb.org/manual/reference/operator/center/\n * @see $centerSphere http://docs.mongodb.org/manual/reference/operator/centerSphere/\n * @see $geoWithin http://docs.mongodb.org/manual/reference/operator/geoWithin/\n * @see http://www.mongodb.org/display/DOCS/Geospatial+Indexing\n * @api public\n */\n\n/**\n * _DEPRECATED_ Alias for [circle](#query_Query-circle)\n *\n * **Deprecated.** Use [circle](#query_Query-circle) instead.\n *\n * @deprecated\n * @method center\n * @memberOf Query\n * @instance\n * @api public\n */\n\nQuery.prototype.center = Query.base.circle;\n\n/**\n * _DEPRECATED_ Specifies a `$centerSphere` condition\n *\n * **Deprecated.** Use [circle](#query_Query-circle) instead.\n *\n * ####Example\n *\n * const area = { center: [50, 50], radius: 10 };\n * query.where('loc').within().centerSphere(area);\n *\n * @deprecated\n * @param {String} [path]\n * @param {Object} val\n * @return {Query} this\n * @see http://www.mongodb.org/display/DOCS/Geospatial+Indexing\n * @see $centerSphere http://docs.mongodb.org/manual/reference/operator/centerSphere/\n * @api public\n */\n\nQuery.prototype.centerSphere = function() {\n if (arguments[0] && arguments[0].constructor.name === 'Object') {\n arguments[0].spherical = true;\n }\n\n if (arguments[1] && arguments[1].constructor.name === 'Object') {\n arguments[1].spherical = true;\n }\n\n Query.base.circle.apply(this, arguments);\n};\n\n/**\n * Determines if field selection has been made.\n *\n * @method selected\n * @memberOf Query\n * @instance\n * @return {Boolean}\n * @api public\n */\n\n/**\n * Determines if inclusive field selection has been made.\n *\n * query.selectedInclusively() // false\n * query.select('name')\n * query.selectedInclusively() // true\n *\n * @method selectedInclusively\n * @memberOf Query\n * @instance\n * @return {Boolean}\n * @api public\n */\n\nQuery.prototype.selectedInclusively = function selectedInclusively() {\n return isInclusive(this._fields);\n};\n\n/**\n * Determines if exclusive field selection has been made.\n *\n * query.selectedExclusively() // false\n * query.select('-name')\n * query.selectedExclusively() // true\n * query.selectedInclusively() // false\n *\n * @method selectedExclusively\n * @memberOf Query\n * @instance\n * @return {Boolean}\n * @api public\n */\n\nQuery.prototype.selectedExclusively = function selectedExclusively() {\n return isExclusive(this._fields);\n};\n\n/*!\n * Export\n */\n\nmodule.exports = Query;\n"],"names":["require$$0","require$$1","Kareem","slice","CastError","completeMany","helpers","ObjectParameterError","MongooseError","DocumentNotFoundError","cast","QueryCursor"],"mappings":"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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,WAAW;AACjC,EAAE,IAAI,GAAG,CAAC;AACV,EAAE,IAAI,IAAI,CAAC;AACX;AACA,EAAE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AAC9B,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5B,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACvB,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;AACtB,GAAG,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;AACrE,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5B,IAAI,GAAG,GAAGA,MAAK,CAAC,SAAS,CAAC,CAAC;AAC3B,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;AACtB,GAAG,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AACrC,IAAI,GAAG,GAAGA,MAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC9B,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACxB,GAAG,MAAM;AACT,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACvB,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACxB,GAAG;AACH;AACA,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AACxE,EAAE,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;AACnB,EAAE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC,SAAS,CAAC,UAAU,GAAG,SAAS,GAAG,EAAE;AAC3C,EAAE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AAC9B,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC;AACxB,GAAG;AACH;AACA,EAA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CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,QAAQ,CAAC,EAAE,EAAE;AACjD,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE;AAClB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;AACjC,GAAG;AACH,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,EAAE;AACzC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,GAAG,EAAE,CAAC;AAC5C,GAAG,MAAM;AACT,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;AAC/B,GAAG;AACH,EAAE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC,SAAS,CAAC,UAAU,GAAG,WAAW;AACxC,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC;AACtB,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC,SAAS,CAAC,UAAU,GAAG,SAAS,OAAO,EAAE,SAAS,EAAE;AAC1D;AACA,EAAE,IAAI,SAAS,EAAE;AACjB;AACA,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,OAAO,IAA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AS,CAAC,SAAS,QAAQ,EAAE;AAC3D,EAAE,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,SAAS,QAAQ,EAAE;AAC3D,EAAE,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,SAAS,QAAQ,EAAE;AAC1D,EAAE,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,SAAS,QAAQ,EAAE;AAC3D,EAAE,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,SAAS,EAAE,EAAE,EAAE,EAAE;AACvC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;AAChD,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;AACf,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;AACf,GAAG;AACH,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC,SAAS,CAAC,YAAY,GAAG,WAAW;AAC1C,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE;AAClE,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;AAClC,GAAG;AACH;AACA,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE;AAClE,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;AAClC,GAAG;AACH;AACA,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC,SAAS,CAAC,mBAAmB,GAAG,SAAS,mBAAmB,GAAG;AACrE,EAAE,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC,SAAS,CAAC,mBAAmB,GAAG,SAAS,mBAAmB,GAAG;AACrE,EAAE,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;SACc,GAAG;;;;"}