create-mern-omar 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1565) hide show
  1. package/README.md +34 -0
  2. package/index.js +26 -22
  3. package/package.json +3 -11
  4. package/templates/.env.example +2 -0
  5. package/templates/.gitignore.template +2 -0
  6. package/templates/controllers/users.routes.js +10 -0
  7. package/templates/models/User.js +26 -0
  8. package/{test-proj/package-lock.json → templates/node_modules/.package-lock.json} +0 -11
  9. package/templates/node_modules/@mongodb-js/saslprep/LICENSE +22 -0
  10. package/templates/node_modules/@mongodb-js/saslprep/dist/.esm-wrapper.mjs +4 -0
  11. package/templates/node_modules/@mongodb-js/saslprep/dist/browser.d.ts +5 -0
  12. package/templates/node_modules/@mongodb-js/saslprep/dist/browser.d.ts.map +1 -0
  13. package/templates/node_modules/@mongodb-js/saslprep/dist/browser.js +12 -0
  14. package/templates/node_modules/@mongodb-js/saslprep/dist/browser.js.map +1 -0
  15. package/templates/node_modules/@mongodb-js/saslprep/dist/code-points-data-browser.d.ts +3 -0
  16. package/templates/node_modules/@mongodb-js/saslprep/dist/code-points-data-browser.d.ts.map +1 -0
  17. package/templates/node_modules/@mongodb-js/saslprep/dist/code-points-data-browser.js +5 -0
  18. package/templates/node_modules/@mongodb-js/saslprep/dist/code-points-data-browser.js.map +1 -0
  19. package/templates/node_modules/@mongodb-js/saslprep/dist/code-points-data.d.ts +3 -0
  20. package/templates/node_modules/@mongodb-js/saslprep/dist/code-points-data.d.ts.map +1 -0
  21. package/templates/node_modules/@mongodb-js/saslprep/dist/code-points-data.js +5 -0
  22. package/templates/node_modules/@mongodb-js/saslprep/dist/code-points-data.js.map +1 -0
  23. package/templates/node_modules/@mongodb-js/saslprep/dist/code-points-src.d.ts +7 -0
  24. package/templates/node_modules/@mongodb-js/saslprep/dist/code-points-src.d.ts.map +1 -0
  25. package/templates/node_modules/@mongodb-js/saslprep/dist/code-points-src.js +881 -0
  26. package/templates/node_modules/@mongodb-js/saslprep/dist/code-points-src.js.map +1 -0
  27. package/templates/node_modules/@mongodb-js/saslprep/dist/generate-code-points.d.ts +2 -0
  28. package/templates/node_modules/@mongodb-js/saslprep/dist/generate-code-points.d.ts.map +1 -0
  29. package/templates/node_modules/@mongodb-js/saslprep/dist/generate-code-points.js +83 -0
  30. package/templates/node_modules/@mongodb-js/saslprep/dist/generate-code-points.js.map +1 -0
  31. package/templates/node_modules/@mongodb-js/saslprep/dist/index.d.ts +11 -0
  32. package/templates/node_modules/@mongodb-js/saslprep/dist/index.d.ts.map +1 -0
  33. package/templates/node_modules/@mongodb-js/saslprep/dist/index.js +65 -0
  34. package/templates/node_modules/@mongodb-js/saslprep/dist/index.js.map +1 -0
  35. package/templates/node_modules/@mongodb-js/saslprep/dist/memory-code-points.d.ts +10 -0
  36. package/templates/node_modules/@mongodb-js/saslprep/dist/memory-code-points.d.ts.map +1 -0
  37. package/templates/node_modules/@mongodb-js/saslprep/dist/memory-code-points.js +32 -0
  38. package/templates/node_modules/@mongodb-js/saslprep/dist/memory-code-points.js.map +1 -0
  39. package/templates/node_modules/@mongodb-js/saslprep/dist/node.d.ts +10 -0
  40. package/templates/node_modules/@mongodb-js/saslprep/dist/node.d.ts.map +1 -0
  41. package/templates/node_modules/@mongodb-js/saslprep/dist/node.js +15 -0
  42. package/templates/node_modules/@mongodb-js/saslprep/dist/node.js.map +1 -0
  43. package/templates/node_modules/@mongodb-js/saslprep/dist/util.d.ts +2 -0
  44. package/templates/node_modules/@mongodb-js/saslprep/dist/util.d.ts.map +1 -0
  45. package/templates/node_modules/@mongodb-js/saslprep/dist/util.js +11 -0
  46. package/templates/node_modules/@mongodb-js/saslprep/dist/util.js.map +1 -0
  47. package/templates/node_modules/@mongodb-js/saslprep/package.json +87 -0
  48. package/templates/node_modules/@mongodb-js/saslprep/readme.md +29 -0
  49. package/templates/node_modules/@types/webidl-conversions/LICENSE +21 -0
  50. package/templates/node_modules/@types/webidl-conversions/README.md +15 -0
  51. package/templates/node_modules/@types/webidl-conversions/index.d.ts +91 -0
  52. package/templates/node_modules/@types/webidl-conversions/package.json +30 -0
  53. package/templates/node_modules/@types/whatwg-url/LICENSE +21 -0
  54. package/templates/node_modules/@types/whatwg-url/README.md +15 -0
  55. package/templates/node_modules/@types/whatwg-url/index.d.ts +172 -0
  56. package/templates/node_modules/@types/whatwg-url/lib/URL-impl.d.ts +22 -0
  57. package/templates/node_modules/@types/whatwg-url/lib/URL.d.ts +66 -0
  58. package/templates/node_modules/@types/whatwg-url/lib/URLSearchParams-impl.d.ts +20 -0
  59. package/templates/node_modules/@types/whatwg-url/lib/URLSearchParams.d.ts +92 -0
  60. package/templates/node_modules/@types/whatwg-url/package.json +38 -0
  61. package/templates/node_modules/@types/whatwg-url/webidl2js-wrapper.d.ts +4 -0
  62. package/templates/node_modules/accepts/HISTORY.md +250 -0
  63. package/templates/node_modules/accepts/LICENSE +23 -0
  64. package/templates/node_modules/accepts/README.md +140 -0
  65. package/templates/node_modules/accepts/index.js +238 -0
  66. package/templates/node_modules/accepts/package.json +47 -0
  67. package/templates/node_modules/basic-auth/HISTORY.md +52 -0
  68. package/templates/node_modules/basic-auth/LICENSE +24 -0
  69. package/templates/node_modules/basic-auth/README.md +113 -0
  70. package/templates/node_modules/basic-auth/index.js +133 -0
  71. package/templates/node_modules/basic-auth/package.json +41 -0
  72. package/templates/node_modules/body-parser/LICENSE +23 -0
  73. package/templates/node_modules/body-parser/README.md +494 -0
  74. package/templates/node_modules/body-parser/index.js +80 -0
  75. package/templates/node_modules/body-parser/lib/read.js +250 -0
  76. package/templates/node_modules/body-parser/lib/types/json.js +166 -0
  77. package/templates/node_modules/body-parser/lib/types/raw.js +43 -0
  78. package/templates/node_modules/body-parser/lib/types/text.js +37 -0
  79. package/templates/node_modules/body-parser/lib/types/urlencoded.js +142 -0
  80. package/templates/node_modules/body-parser/lib/utils.js +96 -0
  81. package/templates/node_modules/body-parser/package.json +52 -0
  82. package/templates/node_modules/bson/LICENSE.md +201 -0
  83. package/templates/node_modules/bson/README.md +291 -0
  84. package/templates/node_modules/bson/bson.d.ts +1729 -0
  85. package/templates/node_modules/bson/etc/prepare.js +19 -0
  86. package/templates/node_modules/bson/lib/bson.bundle.js +4675 -0
  87. package/templates/node_modules/bson/lib/bson.bundle.js.map +1 -0
  88. package/templates/node_modules/bson/lib/bson.cjs +4670 -0
  89. package/templates/node_modules/bson/lib/bson.cjs.map +1 -0
  90. package/templates/node_modules/bson/lib/bson.mjs +4639 -0
  91. package/templates/node_modules/bson/lib/bson.mjs.map +1 -0
  92. package/templates/node_modules/bson/lib/bson.node.mjs +4639 -0
  93. package/templates/node_modules/bson/lib/bson.node.mjs.map +1 -0
  94. package/templates/node_modules/bson/lib/bson.rn.cjs +4680 -0
  95. package/templates/node_modules/bson/lib/bson.rn.cjs.map +1 -0
  96. package/templates/node_modules/bson/package.json +118 -0
  97. package/templates/node_modules/bson/src/binary.ts +751 -0
  98. package/templates/node_modules/bson/src/bson.ts +248 -0
  99. package/templates/node_modules/bson/src/bson_value.ts +55 -0
  100. package/templates/node_modules/bson/src/code.ts +69 -0
  101. package/templates/node_modules/bson/src/constants.ts +147 -0
  102. package/templates/node_modules/bson/src/db_ref.ts +128 -0
  103. package/templates/node_modules/bson/src/decimal128.ts +855 -0
  104. package/templates/node_modules/bson/src/double.ts +115 -0
  105. package/templates/node_modules/bson/src/error.ts +105 -0
  106. package/templates/node_modules/bson/src/extended_json.ts +513 -0
  107. package/templates/node_modules/bson/src/index.ts +19 -0
  108. package/templates/node_modules/bson/src/int_32.ts +101 -0
  109. package/templates/node_modules/bson/src/long.ts +1240 -0
  110. package/templates/node_modules/bson/src/max_key.ts +31 -0
  111. package/templates/node_modules/bson/src/min_key.ts +31 -0
  112. package/templates/node_modules/bson/src/objectid.ts +382 -0
  113. package/templates/node_modules/bson/src/parse_utf8.ts +35 -0
  114. package/templates/node_modules/bson/src/parser/calculate_size.ts +218 -0
  115. package/templates/node_modules/bson/src/parser/deserializer.ts +627 -0
  116. package/templates/node_modules/bson/src/parser/on_demand/index.ts +32 -0
  117. package/templates/node_modules/bson/src/parser/on_demand/parse_to_elements.ts +190 -0
  118. package/templates/node_modules/bson/src/parser/serializer.ts +954 -0
  119. package/templates/node_modules/bson/src/parser/utils.ts +69 -0
  120. package/templates/node_modules/bson/src/regexp.ts +114 -0
  121. package/templates/node_modules/bson/src/symbol.ts +55 -0
  122. package/templates/node_modules/bson/src/timestamp.ts +176 -0
  123. package/templates/node_modules/bson/src/utils/byte_utils.ts +63 -0
  124. package/templates/node_modules/bson/src/utils/latin.ts +104 -0
  125. package/templates/node_modules/bson/src/utils/node_byte_utils.ts +161 -0
  126. package/templates/node_modules/bson/src/utils/number_utils.ts +204 -0
  127. package/templates/node_modules/bson/src/utils/string_utils.ts +44 -0
  128. package/templates/node_modules/bson/src/utils/web_byte_utils.ts +216 -0
  129. package/templates/node_modules/bytes/History.md +97 -0
  130. package/templates/node_modules/bytes/LICENSE +23 -0
  131. package/templates/node_modules/bytes/Readme.md +152 -0
  132. package/templates/node_modules/bytes/index.js +170 -0
  133. package/templates/node_modules/bytes/package.json +42 -0
  134. package/templates/node_modules/call-bind-apply-helpers/.eslintrc +17 -0
  135. package/templates/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
  136. package/templates/node_modules/call-bind-apply-helpers/.nycrc +9 -0
  137. package/templates/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
  138. package/templates/node_modules/call-bind-apply-helpers/LICENSE +21 -0
  139. package/templates/node_modules/call-bind-apply-helpers/README.md +62 -0
  140. package/templates/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  141. package/templates/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  142. package/templates/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  143. package/templates/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
  144. package/templates/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  145. package/templates/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  146. package/templates/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  147. package/templates/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  148. package/templates/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
  149. package/templates/node_modules/call-bind-apply-helpers/index.js +15 -0
  150. package/templates/node_modules/call-bind-apply-helpers/package.json +85 -0
  151. package/templates/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  152. package/templates/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  153. package/templates/node_modules/call-bind-apply-helpers/test/index.js +63 -0
  154. package/templates/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  155. package/templates/node_modules/call-bound/.eslintrc +13 -0
  156. package/templates/node_modules/call-bound/.github/FUNDING.yml +12 -0
  157. package/templates/node_modules/call-bound/.nycrc +9 -0
  158. package/templates/node_modules/call-bound/CHANGELOG.md +42 -0
  159. package/templates/node_modules/call-bound/LICENSE +21 -0
  160. package/templates/node_modules/call-bound/README.md +53 -0
  161. package/templates/node_modules/call-bound/index.d.ts +94 -0
  162. package/templates/node_modules/call-bound/index.js +19 -0
  163. package/templates/node_modules/call-bound/package.json +99 -0
  164. package/templates/node_modules/call-bound/test/index.js +61 -0
  165. package/templates/node_modules/call-bound/tsconfig.json +10 -0
  166. package/templates/node_modules/content-disposition/HISTORY.md +72 -0
  167. package/templates/node_modules/content-disposition/LICENSE +22 -0
  168. package/templates/node_modules/content-disposition/README.md +142 -0
  169. package/templates/node_modules/content-disposition/index.js +458 -0
  170. package/templates/node_modules/content-disposition/package.json +43 -0
  171. package/templates/node_modules/content-type/HISTORY.md +29 -0
  172. package/templates/node_modules/content-type/LICENSE +22 -0
  173. package/templates/node_modules/content-type/README.md +94 -0
  174. package/templates/node_modules/content-type/index.js +225 -0
  175. package/templates/node_modules/content-type/package.json +42 -0
  176. package/templates/node_modules/cookie/LICENSE +24 -0
  177. package/templates/node_modules/cookie/README.md +317 -0
  178. package/templates/node_modules/cookie/SECURITY.md +25 -0
  179. package/templates/node_modules/cookie/index.js +335 -0
  180. package/templates/node_modules/cookie/package.json +44 -0
  181. package/templates/node_modules/cookie-signature/History.md +70 -0
  182. package/templates/node_modules/cookie-signature/LICENSE +22 -0
  183. package/templates/node_modules/cookie-signature/Readme.md +23 -0
  184. package/templates/node_modules/cookie-signature/index.js +47 -0
  185. package/templates/node_modules/cookie-signature/package.json +24 -0
  186. package/templates/node_modules/debug/LICENSE +20 -0
  187. package/templates/node_modules/debug/README.md +481 -0
  188. package/templates/node_modules/debug/package.json +64 -0
  189. package/templates/node_modules/debug/src/browser.js +272 -0
  190. package/templates/node_modules/debug/src/common.js +292 -0
  191. package/templates/node_modules/debug/src/index.js +10 -0
  192. package/templates/node_modules/debug/src/node.js +263 -0
  193. package/templates/node_modules/depd/History.md +103 -0
  194. package/templates/node_modules/depd/LICENSE +22 -0
  195. package/templates/node_modules/depd/Readme.md +280 -0
  196. package/templates/node_modules/depd/index.js +538 -0
  197. package/templates/node_modules/depd/lib/browser/index.js +77 -0
  198. package/templates/node_modules/depd/package.json +45 -0
  199. package/templates/node_modules/dotenv/CHANGELOG.md +598 -0
  200. package/templates/node_modules/dotenv/LICENSE +23 -0
  201. package/templates/node_modules/dotenv/README-es.md +405 -0
  202. package/templates/node_modules/dotenv/README.md +692 -0
  203. package/templates/node_modules/dotenv/SECURITY.md +1 -0
  204. package/templates/node_modules/dotenv/config.d.ts +1 -0
  205. package/templates/node_modules/dotenv/config.js +9 -0
  206. package/templates/node_modules/dotenv/lib/cli-options.js +17 -0
  207. package/templates/node_modules/dotenv/lib/env-options.js +28 -0
  208. package/templates/node_modules/dotenv/lib/main.d.ts +179 -0
  209. package/templates/node_modules/dotenv/lib/main.js +434 -0
  210. package/templates/node_modules/dotenv/package.json +62 -0
  211. package/templates/node_modules/dunder-proto/.eslintrc +5 -0
  212. package/templates/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
  213. package/templates/node_modules/dunder-proto/.nycrc +13 -0
  214. package/templates/node_modules/dunder-proto/CHANGELOG.md +24 -0
  215. package/templates/node_modules/dunder-proto/LICENSE +21 -0
  216. package/templates/node_modules/dunder-proto/README.md +54 -0
  217. package/templates/node_modules/dunder-proto/get.d.ts +5 -0
  218. package/templates/node_modules/dunder-proto/get.js +30 -0
  219. package/templates/node_modules/dunder-proto/package.json +76 -0
  220. package/templates/node_modules/dunder-proto/set.d.ts +5 -0
  221. package/templates/node_modules/dunder-proto/set.js +35 -0
  222. package/templates/node_modules/dunder-proto/test/get.js +34 -0
  223. package/templates/node_modules/dunder-proto/test/index.js +4 -0
  224. package/templates/node_modules/dunder-proto/test/set.js +50 -0
  225. package/templates/node_modules/dunder-proto/tsconfig.json +9 -0
  226. package/templates/node_modules/ee-first/LICENSE +22 -0
  227. package/templates/node_modules/ee-first/README.md +80 -0
  228. package/templates/node_modules/ee-first/index.js +95 -0
  229. package/templates/node_modules/ee-first/package.json +29 -0
  230. package/templates/node_modules/encodeurl/LICENSE +22 -0
  231. package/templates/node_modules/encodeurl/README.md +109 -0
  232. package/templates/node_modules/encodeurl/index.js +60 -0
  233. package/templates/node_modules/encodeurl/package.json +40 -0
  234. package/templates/node_modules/es-define-property/.eslintrc +13 -0
  235. package/templates/node_modules/es-define-property/.github/FUNDING.yml +12 -0
  236. package/templates/node_modules/es-define-property/.nycrc +9 -0
  237. package/templates/node_modules/es-define-property/CHANGELOG.md +29 -0
  238. package/templates/node_modules/es-define-property/LICENSE +21 -0
  239. package/templates/node_modules/es-define-property/README.md +49 -0
  240. package/templates/node_modules/es-define-property/index.d.ts +3 -0
  241. package/templates/node_modules/es-define-property/index.js +14 -0
  242. package/templates/node_modules/es-define-property/package.json +81 -0
  243. package/templates/node_modules/es-define-property/test/index.js +56 -0
  244. package/templates/node_modules/es-define-property/tsconfig.json +10 -0
  245. package/templates/node_modules/es-errors/.eslintrc +5 -0
  246. package/templates/node_modules/es-errors/.github/FUNDING.yml +12 -0
  247. package/templates/node_modules/es-errors/CHANGELOG.md +40 -0
  248. package/templates/node_modules/es-errors/LICENSE +21 -0
  249. package/templates/node_modules/es-errors/README.md +55 -0
  250. package/templates/node_modules/es-errors/eval.d.ts +3 -0
  251. package/templates/node_modules/es-errors/eval.js +4 -0
  252. package/templates/node_modules/es-errors/index.d.ts +3 -0
  253. package/templates/node_modules/es-errors/index.js +4 -0
  254. package/templates/node_modules/es-errors/package.json +80 -0
  255. package/templates/node_modules/es-errors/range.d.ts +3 -0
  256. package/templates/node_modules/es-errors/range.js +4 -0
  257. package/templates/node_modules/es-errors/ref.d.ts +3 -0
  258. package/templates/node_modules/es-errors/ref.js +4 -0
  259. package/templates/node_modules/es-errors/syntax.d.ts +3 -0
  260. package/templates/node_modules/es-errors/syntax.js +4 -0
  261. package/templates/node_modules/es-errors/test/index.js +19 -0
  262. package/templates/node_modules/es-errors/tsconfig.json +49 -0
  263. package/templates/node_modules/es-errors/type.d.ts +3 -0
  264. package/templates/node_modules/es-errors/type.js +4 -0
  265. package/templates/node_modules/es-errors/uri.d.ts +3 -0
  266. package/templates/node_modules/es-errors/uri.js +4 -0
  267. package/templates/node_modules/es-object-atoms/.eslintrc +16 -0
  268. package/templates/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
  269. package/templates/node_modules/es-object-atoms/CHANGELOG.md +37 -0
  270. package/templates/node_modules/es-object-atoms/LICENSE +21 -0
  271. package/templates/node_modules/es-object-atoms/README.md +63 -0
  272. package/templates/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  273. package/templates/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  274. package/templates/node_modules/es-object-atoms/ToObject.d.ts +7 -0
  275. package/templates/node_modules/es-object-atoms/ToObject.js +10 -0
  276. package/templates/node_modules/es-object-atoms/index.d.ts +3 -0
  277. package/templates/node_modules/es-object-atoms/index.js +4 -0
  278. package/templates/node_modules/es-object-atoms/isObject.d.ts +3 -0
  279. package/templates/node_modules/es-object-atoms/isObject.js +6 -0
  280. package/templates/node_modules/es-object-atoms/package.json +80 -0
  281. package/templates/node_modules/es-object-atoms/test/index.js +38 -0
  282. package/templates/node_modules/es-object-atoms/tsconfig.json +6 -0
  283. package/templates/node_modules/escape-html/LICENSE +24 -0
  284. package/templates/node_modules/escape-html/Readme.md +43 -0
  285. package/templates/node_modules/escape-html/index.js +78 -0
  286. package/templates/node_modules/escape-html/package.json +24 -0
  287. package/templates/node_modules/etag/HISTORY.md +83 -0
  288. package/templates/node_modules/etag/LICENSE +22 -0
  289. package/templates/node_modules/etag/README.md +159 -0
  290. package/templates/node_modules/etag/index.js +131 -0
  291. package/templates/node_modules/etag/package.json +47 -0
  292. package/templates/node_modules/express/LICENSE +24 -0
  293. package/templates/node_modules/express/Readme.md +276 -0
  294. package/templates/node_modules/express/index.js +11 -0
  295. package/templates/node_modules/express/lib/application.js +631 -0
  296. package/templates/node_modules/express/lib/express.js +81 -0
  297. package/templates/node_modules/express/lib/request.js +514 -0
  298. package/templates/node_modules/express/lib/response.js +1053 -0
  299. package/templates/node_modules/express/lib/utils.js +271 -0
  300. package/templates/node_modules/express/lib/view.js +205 -0
  301. package/templates/node_modules/express/package.json +99 -0
  302. package/templates/node_modules/finalhandler/HISTORY.md +239 -0
  303. package/templates/node_modules/finalhandler/LICENSE +22 -0
  304. package/templates/node_modules/finalhandler/README.md +150 -0
  305. package/templates/node_modules/finalhandler/index.js +293 -0
  306. package/templates/node_modules/finalhandler/package.json +47 -0
  307. package/templates/node_modules/forwarded/HISTORY.md +21 -0
  308. package/templates/node_modules/forwarded/LICENSE +22 -0
  309. package/templates/node_modules/forwarded/README.md +57 -0
  310. package/templates/node_modules/forwarded/index.js +90 -0
  311. package/templates/node_modules/forwarded/package.json +45 -0
  312. package/templates/node_modules/fresh/HISTORY.md +80 -0
  313. package/templates/node_modules/fresh/LICENSE +23 -0
  314. package/templates/node_modules/fresh/README.md +117 -0
  315. package/templates/node_modules/fresh/index.js +136 -0
  316. package/templates/node_modules/fresh/package.json +46 -0
  317. package/templates/node_modules/function-bind/.eslintrc +21 -0
  318. package/templates/node_modules/function-bind/.github/FUNDING.yml +12 -0
  319. package/templates/node_modules/function-bind/.github/SECURITY.md +3 -0
  320. package/templates/node_modules/function-bind/.nycrc +13 -0
  321. package/templates/node_modules/function-bind/CHANGELOG.md +136 -0
  322. package/templates/node_modules/function-bind/LICENSE +20 -0
  323. package/templates/node_modules/function-bind/README.md +46 -0
  324. package/templates/node_modules/function-bind/implementation.js +84 -0
  325. package/templates/node_modules/function-bind/index.js +5 -0
  326. package/templates/node_modules/function-bind/package.json +87 -0
  327. package/templates/node_modules/function-bind/test/.eslintrc +9 -0
  328. package/templates/node_modules/function-bind/test/index.js +252 -0
  329. package/templates/node_modules/get-intrinsic/.eslintrc +42 -0
  330. package/templates/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
  331. package/templates/node_modules/get-intrinsic/.nycrc +9 -0
  332. package/templates/node_modules/get-intrinsic/CHANGELOG.md +186 -0
  333. package/templates/node_modules/get-intrinsic/LICENSE +21 -0
  334. package/templates/node_modules/get-intrinsic/README.md +71 -0
  335. package/templates/node_modules/get-intrinsic/index.js +378 -0
  336. package/templates/node_modules/get-intrinsic/package.json +97 -0
  337. package/templates/node_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
  338. package/templates/node_modules/get-proto/.eslintrc +10 -0
  339. package/templates/node_modules/get-proto/.github/FUNDING.yml +12 -0
  340. package/templates/node_modules/get-proto/.nycrc +9 -0
  341. package/templates/node_modules/get-proto/CHANGELOG.md +21 -0
  342. package/templates/node_modules/get-proto/LICENSE +21 -0
  343. package/templates/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  344. package/templates/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  345. package/templates/node_modules/get-proto/README.md +50 -0
  346. package/templates/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  347. package/templates/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  348. package/templates/node_modules/get-proto/index.d.ts +5 -0
  349. package/templates/node_modules/get-proto/index.js +27 -0
  350. package/templates/node_modules/get-proto/package.json +81 -0
  351. package/templates/node_modules/get-proto/test/index.js +68 -0
  352. package/templates/node_modules/get-proto/tsconfig.json +9 -0
  353. package/templates/node_modules/gopd/.eslintrc +16 -0
  354. package/templates/node_modules/gopd/.github/FUNDING.yml +12 -0
  355. package/templates/node_modules/gopd/CHANGELOG.md +45 -0
  356. package/templates/node_modules/gopd/LICENSE +21 -0
  357. package/templates/node_modules/gopd/README.md +40 -0
  358. package/templates/node_modules/gopd/gOPD.d.ts +1 -0
  359. package/templates/node_modules/gopd/gOPD.js +4 -0
  360. package/templates/node_modules/gopd/index.d.ts +5 -0
  361. package/templates/node_modules/gopd/index.js +15 -0
  362. package/templates/node_modules/gopd/package.json +77 -0
  363. package/templates/node_modules/gopd/test/index.js +36 -0
  364. package/templates/node_modules/gopd/tsconfig.json +9 -0
  365. package/templates/node_modules/has-symbols/.eslintrc +11 -0
  366. package/templates/node_modules/has-symbols/.github/FUNDING.yml +12 -0
  367. package/templates/node_modules/has-symbols/.nycrc +9 -0
  368. package/templates/node_modules/has-symbols/CHANGELOG.md +91 -0
  369. package/templates/node_modules/has-symbols/LICENSE +21 -0
  370. package/templates/node_modules/has-symbols/README.md +46 -0
  371. package/templates/node_modules/has-symbols/index.d.ts +3 -0
  372. package/templates/node_modules/has-symbols/index.js +14 -0
  373. package/templates/node_modules/has-symbols/package.json +111 -0
  374. package/templates/node_modules/has-symbols/shams.d.ts +3 -0
  375. package/templates/node_modules/has-symbols/shams.js +45 -0
  376. package/templates/node_modules/has-symbols/test/index.js +22 -0
  377. package/templates/node_modules/has-symbols/test/shams/core-js.js +29 -0
  378. package/templates/node_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
  379. package/templates/node_modules/has-symbols/test/tests.js +58 -0
  380. package/templates/node_modules/has-symbols/tsconfig.json +10 -0
  381. package/templates/node_modules/hasown/.eslintrc +5 -0
  382. package/templates/node_modules/hasown/.github/FUNDING.yml +12 -0
  383. package/templates/node_modules/hasown/.nycrc +13 -0
  384. package/templates/node_modules/hasown/CHANGELOG.md +40 -0
  385. package/templates/node_modules/hasown/LICENSE +21 -0
  386. package/templates/node_modules/hasown/README.md +40 -0
  387. package/templates/node_modules/hasown/index.d.ts +3 -0
  388. package/templates/node_modules/hasown/index.js +8 -0
  389. package/templates/node_modules/hasown/package.json +92 -0
  390. package/templates/node_modules/hasown/tsconfig.json +6 -0
  391. package/templates/node_modules/http-errors/HISTORY.md +186 -0
  392. package/templates/node_modules/http-errors/LICENSE +23 -0
  393. package/templates/node_modules/http-errors/README.md +169 -0
  394. package/templates/node_modules/http-errors/index.js +290 -0
  395. package/templates/node_modules/http-errors/package.json +54 -0
  396. package/templates/node_modules/iconv-lite/Changelog.md +241 -0
  397. package/templates/node_modules/iconv-lite/LICENSE +21 -0
  398. package/templates/node_modules/iconv-lite/README.md +138 -0
  399. package/templates/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
  400. package/templates/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
  401. package/templates/node_modules/iconv-lite/encodings/index.js +23 -0
  402. package/templates/node_modules/iconv-lite/encodings/internal.js +218 -0
  403. package/templates/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
  404. package/templates/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  405. package/templates/node_modules/iconv-lite/encodings/sbcs-data.js +178 -0
  406. package/templates/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  407. package/templates/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  408. package/templates/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  409. package/templates/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  410. package/templates/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  411. package/templates/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  412. package/templates/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  413. package/templates/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  414. package/templates/node_modules/iconv-lite/encodings/utf16.js +187 -0
  415. package/templates/node_modules/iconv-lite/encodings/utf32.js +307 -0
  416. package/templates/node_modules/iconv-lite/encodings/utf7.js +283 -0
  417. package/templates/node_modules/iconv-lite/lib/bom-handling.js +48 -0
  418. package/templates/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
  419. package/templates/node_modules/iconv-lite/lib/index.d.ts +131 -0
  420. package/templates/node_modules/iconv-lite/lib/index.js +183 -0
  421. package/templates/node_modules/iconv-lite/lib/streams.js +105 -0
  422. package/templates/node_modules/iconv-lite/package.json +65 -0
  423. package/templates/node_modules/iconv-lite/types/encodings.d.ts +423 -0
  424. package/templates/node_modules/inherits/LICENSE +16 -0
  425. package/templates/node_modules/inherits/README.md +42 -0
  426. package/templates/node_modules/inherits/inherits.js +9 -0
  427. package/templates/node_modules/inherits/inherits_browser.js +27 -0
  428. package/templates/node_modules/inherits/package.json +29 -0
  429. package/templates/node_modules/ipaddr.js/LICENSE +19 -0
  430. package/templates/node_modules/ipaddr.js/README.md +233 -0
  431. package/templates/node_modules/ipaddr.js/ipaddr.min.js +1 -0
  432. package/templates/node_modules/ipaddr.js/lib/ipaddr.js +673 -0
  433. package/templates/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
  434. package/templates/node_modules/ipaddr.js/package.json +35 -0
  435. package/templates/node_modules/is-promise/LICENSE +19 -0
  436. package/templates/node_modules/is-promise/index.d.ts +2 -0
  437. package/templates/node_modules/is-promise/index.js +6 -0
  438. package/templates/node_modules/is-promise/index.mjs +3 -0
  439. package/templates/node_modules/is-promise/package.json +30 -0
  440. package/templates/node_modules/is-promise/readme.md +33 -0
  441. package/templates/node_modules/kareem/.nyc_output/fa57d6c4-9e78-4624-9229-f77b87a07481.json +1 -0
  442. package/templates/node_modules/kareem/.nyc_output/processinfo/fa57d6c4-9e78-4624-9229-f77b87a07481.json +1 -0
  443. package/templates/node_modules/kareem/.nyc_output/processinfo/index.json +1 -0
  444. package/templates/node_modules/kareem/CHANGELOG.md +830 -0
  445. package/templates/node_modules/kareem/LICENSE +202 -0
  446. package/templates/node_modules/kareem/README.md +408 -0
  447. package/templates/node_modules/kareem/SECURITY.md +5 -0
  448. package/templates/node_modules/kareem/coverage/lcov-report/base.css +224 -0
  449. package/templates/node_modules/kareem/coverage/lcov-report/block-navigation.js +87 -0
  450. package/templates/node_modules/kareem/coverage/lcov-report/favicon.png +0 -0
  451. package/templates/node_modules/kareem/coverage/lcov-report/index.html +116 -0
  452. package/templates/node_modules/kareem/coverage/lcov-report/index.js.html +1603 -0
  453. package/templates/node_modules/kareem/coverage/lcov-report/prettify.css +1 -0
  454. package/templates/node_modules/kareem/coverage/lcov-report/prettify.js +2 -0
  455. package/templates/node_modules/kareem/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  456. package/templates/node_modules/kareem/coverage/lcov-report/sorter.js +196 -0
  457. package/templates/node_modules/kareem/coverage/lcov.info +423 -0
  458. package/templates/node_modules/kareem/index.d.ts +31 -0
  459. package/templates/node_modules/kareem/index.js +509 -0
  460. package/templates/node_modules/kareem/package.json +28 -0
  461. package/templates/node_modules/math-intrinsics/.eslintrc +16 -0
  462. package/templates/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  463. package/templates/node_modules/math-intrinsics/CHANGELOG.md +24 -0
  464. package/templates/node_modules/math-intrinsics/LICENSE +21 -0
  465. package/templates/node_modules/math-intrinsics/README.md +50 -0
  466. package/templates/node_modules/math-intrinsics/abs.d.ts +1 -0
  467. package/templates/node_modules/math-intrinsics/abs.js +4 -0
  468. package/templates/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  469. package/templates/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  470. package/templates/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  471. package/templates/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  472. package/templates/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  473. package/templates/node_modules/math-intrinsics/constants/maxValue.js +5 -0
  474. package/templates/node_modules/math-intrinsics/floor.d.ts +1 -0
  475. package/templates/node_modules/math-intrinsics/floor.js +4 -0
  476. package/templates/node_modules/math-intrinsics/isFinite.d.ts +3 -0
  477. package/templates/node_modules/math-intrinsics/isFinite.js +12 -0
  478. package/templates/node_modules/math-intrinsics/isInteger.d.ts +3 -0
  479. package/templates/node_modules/math-intrinsics/isInteger.js +16 -0
  480. package/templates/node_modules/math-intrinsics/isNaN.d.ts +1 -0
  481. package/templates/node_modules/math-intrinsics/isNaN.js +6 -0
  482. package/templates/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  483. package/templates/node_modules/math-intrinsics/isNegativeZero.js +6 -0
  484. package/templates/node_modules/math-intrinsics/max.d.ts +1 -0
  485. package/templates/node_modules/math-intrinsics/max.js +4 -0
  486. package/templates/node_modules/math-intrinsics/min.d.ts +1 -0
  487. package/templates/node_modules/math-intrinsics/min.js +4 -0
  488. package/templates/node_modules/math-intrinsics/mod.d.ts +3 -0
  489. package/templates/node_modules/math-intrinsics/mod.js +9 -0
  490. package/templates/node_modules/math-intrinsics/package.json +86 -0
  491. package/templates/node_modules/math-intrinsics/pow.d.ts +1 -0
  492. package/templates/node_modules/math-intrinsics/pow.js +4 -0
  493. package/templates/node_modules/math-intrinsics/round.d.ts +1 -0
  494. package/templates/node_modules/math-intrinsics/round.js +4 -0
  495. package/templates/node_modules/math-intrinsics/sign.d.ts +3 -0
  496. package/templates/node_modules/math-intrinsics/sign.js +11 -0
  497. package/templates/node_modules/math-intrinsics/test/index.js +192 -0
  498. package/templates/node_modules/math-intrinsics/tsconfig.json +3 -0
  499. package/templates/node_modules/media-typer/HISTORY.md +50 -0
  500. package/templates/node_modules/media-typer/LICENSE +22 -0
  501. package/templates/node_modules/media-typer/README.md +93 -0
  502. package/templates/node_modules/media-typer/index.js +143 -0
  503. package/templates/node_modules/media-typer/package.json +33 -0
  504. package/templates/node_modules/memory-pager/.travis.yml +4 -0
  505. package/templates/node_modules/memory-pager/LICENSE +21 -0
  506. package/templates/node_modules/memory-pager/README.md +65 -0
  507. package/templates/node_modules/memory-pager/index.js +160 -0
  508. package/templates/node_modules/memory-pager/package.json +24 -0
  509. package/templates/node_modules/memory-pager/test.js +80 -0
  510. package/templates/node_modules/merge-descriptors/index.d.ts +11 -0
  511. package/templates/node_modules/merge-descriptors/index.js +26 -0
  512. package/templates/node_modules/merge-descriptors/license +11 -0
  513. package/templates/node_modules/merge-descriptors/package.json +50 -0
  514. package/templates/node_modules/merge-descriptors/readme.md +55 -0
  515. package/templates/node_modules/mime-db/HISTORY.md +541 -0
  516. package/templates/node_modules/mime-db/LICENSE +23 -0
  517. package/templates/node_modules/mime-db/README.md +109 -0
  518. package/templates/node_modules/mime-db/db.json +9342 -0
  519. package/templates/node_modules/mime-db/index.js +12 -0
  520. package/templates/node_modules/mime-db/package.json +56 -0
  521. package/templates/node_modules/mime-types/HISTORY.md +428 -0
  522. package/templates/node_modules/mime-types/LICENSE +23 -0
  523. package/templates/node_modules/mime-types/README.md +126 -0
  524. package/templates/node_modules/mime-types/index.js +211 -0
  525. package/templates/node_modules/mime-types/mimeScore.js +57 -0
  526. package/templates/node_modules/mime-types/package.json +49 -0
  527. package/templates/node_modules/mongodb/LICENSE.md +201 -0
  528. package/templates/node_modules/mongodb/README.md +355 -0
  529. package/templates/node_modules/mongodb/etc/prepare.js +12 -0
  530. package/templates/node_modules/mongodb/lib/admin.js +136 -0
  531. package/templates/node_modules/mongodb/lib/admin.js.map +1 -0
  532. package/templates/node_modules/mongodb/lib/bson.js +84 -0
  533. package/templates/node_modules/mongodb/lib/bson.js.map +1 -0
  534. package/templates/node_modules/mongodb/lib/bulk/common.js +835 -0
  535. package/templates/node_modules/mongodb/lib/bulk/common.js.map +1 -0
  536. package/templates/node_modules/mongodb/lib/bulk/ordered.js +67 -0
  537. package/templates/node_modules/mongodb/lib/bulk/ordered.js.map +1 -0
  538. package/templates/node_modules/mongodb/lib/bulk/unordered.js +92 -0
  539. package/templates/node_modules/mongodb/lib/bulk/unordered.js.map +1 -0
  540. package/templates/node_modules/mongodb/lib/change_stream.js +511 -0
  541. package/templates/node_modules/mongodb/lib/change_stream.js.map +1 -0
  542. package/templates/node_modules/mongodb/lib/client-side-encryption/auto_encrypter.js +272 -0
  543. package/templates/node_modules/mongodb/lib/client-side-encryption/auto_encrypter.js.map +1 -0
  544. package/templates/node_modules/mongodb/lib/client-side-encryption/client_encryption.js +609 -0
  545. package/templates/node_modules/mongodb/lib/client-side-encryption/client_encryption.js.map +1 -0
  546. package/templates/node_modules/mongodb/lib/client-side-encryption/errors.js +138 -0
  547. package/templates/node_modules/mongodb/lib/client-side-encryption/errors.js.map +1 -0
  548. package/templates/node_modules/mongodb/lib/client-side-encryption/mongocryptd_manager.js +85 -0
  549. package/templates/node_modules/mongodb/lib/client-side-encryption/mongocryptd_manager.js.map +1 -0
  550. package/templates/node_modules/mongodb/lib/client-side-encryption/providers/aws.js +23 -0
  551. package/templates/node_modules/mongodb/lib/client-side-encryption/providers/aws.js.map +1 -0
  552. package/templates/node_modules/mongodb/lib/client-side-encryption/providers/azure.js +132 -0
  553. package/templates/node_modules/mongodb/lib/client-side-encryption/providers/azure.js.map +1 -0
  554. package/templates/node_modules/mongodb/lib/client-side-encryption/providers/gcp.js +16 -0
  555. package/templates/node_modules/mongodb/lib/client-side-encryption/providers/gcp.js.map +1 -0
  556. package/templates/node_modules/mongodb/lib/client-side-encryption/providers/index.js +43 -0
  557. package/templates/node_modules/mongodb/lib/client-side-encryption/providers/index.js.map +1 -0
  558. package/templates/node_modules/mongodb/lib/client-side-encryption/state_machine.js +426 -0
  559. package/templates/node_modules/mongodb/lib/client-side-encryption/state_machine.js.map +1 -0
  560. package/templates/node_modules/mongodb/lib/cmap/auth/auth_provider.js +51 -0
  561. package/templates/node_modules/mongodb/lib/cmap/auth/auth_provider.js.map +1 -0
  562. package/templates/node_modules/mongodb/lib/cmap/auth/aws_temporary_credentials.js +102 -0
  563. package/templates/node_modules/mongodb/lib/cmap/auth/aws_temporary_credentials.js.map +1 -0
  564. package/templates/node_modules/mongodb/lib/cmap/auth/gssapi.js +154 -0
  565. package/templates/node_modules/mongodb/lib/cmap/auth/gssapi.js.map +1 -0
  566. package/templates/node_modules/mongodb/lib/cmap/auth/mongo_credentials.js +168 -0
  567. package/templates/node_modules/mongodb/lib/cmap/auth/mongo_credentials.js.map +1 -0
  568. package/templates/node_modules/mongodb/lib/cmap/auth/mongodb_aws.js +133 -0
  569. package/templates/node_modules/mongodb/lib/cmap/auth/mongodb_aws.js.map +1 -0
  570. package/templates/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/automated_callback_workflow.js +84 -0
  571. package/templates/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/automated_callback_workflow.js.map +1 -0
  572. package/templates/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/azure_machine_workflow.js +62 -0
  573. package/templates/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/azure_machine_workflow.js.map +1 -0
  574. package/templates/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/callback_workflow.js +141 -0
  575. package/templates/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/callback_workflow.js.map +1 -0
  576. package/templates/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/command_builders.js +44 -0
  577. package/templates/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/command_builders.js.map +1 -0
  578. package/templates/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/gcp_machine_workflow.js +39 -0
  579. package/templates/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/gcp_machine_workflow.js.map +1 -0
  580. package/templates/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/human_callback_workflow.js +122 -0
  581. package/templates/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/human_callback_workflow.js.map +1 -0
  582. package/templates/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/k8s_machine_workflow.js +31 -0
  583. package/templates/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/k8s_machine_workflow.js.map +1 -0
  584. package/templates/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/token_cache.js +52 -0
  585. package/templates/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/token_cache.js.map +1 -0
  586. package/templates/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/token_machine_workflow.js +22 -0
  587. package/templates/node_modules/mongodb/lib/cmap/auth/mongodb_oidc/token_machine_workflow.js.map +1 -0
  588. package/templates/node_modules/mongodb/lib/cmap/auth/mongodb_oidc.js +73 -0
  589. package/templates/node_modules/mongodb/lib/cmap/auth/mongodb_oidc.js.map +1 -0
  590. package/templates/node_modules/mongodb/lib/cmap/auth/plain.js +26 -0
  591. package/templates/node_modules/mongodb/lib/cmap/auth/plain.js.map +1 -0
  592. package/templates/node_modules/mongodb/lib/cmap/auth/providers.js +22 -0
  593. package/templates/node_modules/mongodb/lib/cmap/auth/providers.js.map +1 -0
  594. package/templates/node_modules/mongodb/lib/cmap/auth/scram.js +254 -0
  595. package/templates/node_modules/mongodb/lib/cmap/auth/scram.js.map +1 -0
  596. package/templates/node_modules/mongodb/lib/cmap/auth/x509.js +36 -0
  597. package/templates/node_modules/mongodb/lib/cmap/auth/x509.js.map +1 -0
  598. package/templates/node_modules/mongodb/lib/cmap/command_monitoring_events.js +223 -0
  599. package/templates/node_modules/mongodb/lib/cmap/command_monitoring_events.js.map +1 -0
  600. package/templates/node_modules/mongodb/lib/cmap/commands.js +535 -0
  601. package/templates/node_modules/mongodb/lib/cmap/commands.js.map +1 -0
  602. package/templates/node_modules/mongodb/lib/cmap/connect.js +366 -0
  603. package/templates/node_modules/mongodb/lib/cmap/connect.js.map +1 -0
  604. package/templates/node_modules/mongodb/lib/cmap/connection.js +571 -0
  605. package/templates/node_modules/mongodb/lib/cmap/connection.js.map +1 -0
  606. package/templates/node_modules/mongodb/lib/cmap/connection_pool.js +558 -0
  607. package/templates/node_modules/mongodb/lib/cmap/connection_pool.js.map +1 -0
  608. package/templates/node_modules/mongodb/lib/cmap/connection_pool_events.js +190 -0
  609. package/templates/node_modules/mongodb/lib/cmap/connection_pool_events.js.map +1 -0
  610. package/templates/node_modules/mongodb/lib/cmap/errors.js +108 -0
  611. package/templates/node_modules/mongodb/lib/cmap/errors.js.map +1 -0
  612. package/templates/node_modules/mongodb/lib/cmap/handshake/client_metadata.js +241 -0
  613. package/templates/node_modules/mongodb/lib/cmap/handshake/client_metadata.js.map +1 -0
  614. package/templates/node_modules/mongodb/lib/cmap/metrics.js +62 -0
  615. package/templates/node_modules/mongodb/lib/cmap/metrics.js.map +1 -0
  616. package/templates/node_modules/mongodb/lib/cmap/stream_description.js +70 -0
  617. package/templates/node_modules/mongodb/lib/cmap/stream_description.js.map +1 -0
  618. package/templates/node_modules/mongodb/lib/cmap/wire_protocol/compression.js +163 -0
  619. package/templates/node_modules/mongodb/lib/cmap/wire_protocol/compression.js.map +1 -0
  620. package/templates/node_modules/mongodb/lib/cmap/wire_protocol/constants.js +21 -0
  621. package/templates/node_modules/mongodb/lib/cmap/wire_protocol/constants.js.map +1 -0
  622. package/templates/node_modules/mongodb/lib/cmap/wire_protocol/on_data.js +111 -0
  623. package/templates/node_modules/mongodb/lib/cmap/wire_protocol/on_data.js.map +1 -0
  624. package/templates/node_modules/mongodb/lib/cmap/wire_protocol/on_demand/document.js +222 -0
  625. package/templates/node_modules/mongodb/lib/cmap/wire_protocol/on_demand/document.js.map +1 -0
  626. package/templates/node_modules/mongodb/lib/cmap/wire_protocol/responses.js +315 -0
  627. package/templates/node_modules/mongodb/lib/cmap/wire_protocol/responses.js.map +1 -0
  628. package/templates/node_modules/mongodb/lib/cmap/wire_protocol/shared.js +35 -0
  629. package/templates/node_modules/mongodb/lib/cmap/wire_protocol/shared.js.map +1 -0
  630. package/templates/node_modules/mongodb/lib/collection.js +751 -0
  631. package/templates/node_modules/mongodb/lib/collection.js.map +1 -0
  632. package/templates/node_modules/mongodb/lib/connection_string.js +1089 -0
  633. package/templates/node_modules/mongodb/lib/connection_string.js.map +1 -0
  634. package/templates/node_modules/mongodb/lib/constants.js +170 -0
  635. package/templates/node_modules/mongodb/lib/constants.js.map +1 -0
  636. package/templates/node_modules/mongodb/lib/cursor/abstract_cursor.js +924 -0
  637. package/templates/node_modules/mongodb/lib/cursor/abstract_cursor.js.map +1 -0
  638. package/templates/node_modules/mongodb/lib/cursor/aggregation_cursor.js +164 -0
  639. package/templates/node_modules/mongodb/lib/cursor/aggregation_cursor.js.map +1 -0
  640. package/templates/node_modules/mongodb/lib/cursor/change_stream_cursor.js +104 -0
  641. package/templates/node_modules/mongodb/lib/cursor/change_stream_cursor.js.map +1 -0
  642. package/templates/node_modules/mongodb/lib/cursor/client_bulk_write_cursor.js +52 -0
  643. package/templates/node_modules/mongodb/lib/cursor/client_bulk_write_cursor.js.map +1 -0
  644. package/templates/node_modules/mongodb/lib/cursor/explainable_cursor.js +36 -0
  645. package/templates/node_modules/mongodb/lib/cursor/explainable_cursor.js.map +1 -0
  646. package/templates/node_modules/mongodb/lib/cursor/find_cursor.js +399 -0
  647. package/templates/node_modules/mongodb/lib/cursor/find_cursor.js.map +1 -0
  648. package/templates/node_modules/mongodb/lib/cursor/list_collections_cursor.js +34 -0
  649. package/templates/node_modules/mongodb/lib/cursor/list_collections_cursor.js.map +1 -0
  650. package/templates/node_modules/mongodb/lib/cursor/list_indexes_cursor.js +32 -0
  651. package/templates/node_modules/mongodb/lib/cursor/list_indexes_cursor.js.map +1 -0
  652. package/templates/node_modules/mongodb/lib/cursor/list_search_indexes_cursor.js +14 -0
  653. package/templates/node_modules/mongodb/lib/cursor/list_search_indexes_cursor.js.map +1 -0
  654. package/templates/node_modules/mongodb/lib/cursor/run_command_cursor.js +94 -0
  655. package/templates/node_modules/mongodb/lib/cursor/run_command_cursor.js.map +1 -0
  656. package/templates/node_modules/mongodb/lib/db.js +420 -0
  657. package/templates/node_modules/mongodb/lib/db.js.map +1 -0
  658. package/templates/node_modules/mongodb/lib/deps.js +125 -0
  659. package/templates/node_modules/mongodb/lib/deps.js.map +1 -0
  660. package/templates/node_modules/mongodb/lib/encrypter.js +106 -0
  661. package/templates/node_modules/mongodb/lib/encrypter.js.map +1 -0
  662. package/templates/node_modules/mongodb/lib/error.js +1383 -0
  663. package/templates/node_modules/mongodb/lib/error.js.map +1 -0
  664. package/templates/node_modules/mongodb/lib/explain.js +59 -0
  665. package/templates/node_modules/mongodb/lib/explain.js.map +1 -0
  666. package/templates/node_modules/mongodb/lib/gridfs/download.js +305 -0
  667. package/templates/node_modules/mongodb/lib/gridfs/download.js.map +1 -0
  668. package/templates/node_modules/mongodb/lib/gridfs/index.js +164 -0
  669. package/templates/node_modules/mongodb/lib/gridfs/index.js.map +1 -0
  670. package/templates/node_modules/mongodb/lib/gridfs/upload.js +358 -0
  671. package/templates/node_modules/mongodb/lib/gridfs/upload.js.map +1 -0
  672. package/templates/node_modules/mongodb/lib/index.js +193 -0
  673. package/templates/node_modules/mongodb/lib/index.js.map +1 -0
  674. package/templates/node_modules/mongodb/lib/mongo_client.js +557 -0
  675. package/templates/node_modules/mongodb/lib/mongo_client.js.map +1 -0
  676. package/templates/node_modules/mongodb/lib/mongo_client_auth_providers.js +80 -0
  677. package/templates/node_modules/mongodb/lib/mongo_client_auth_providers.js.map +1 -0
  678. package/templates/node_modules/mongodb/lib/mongo_logger.js +649 -0
  679. package/templates/node_modules/mongodb/lib/mongo_logger.js.map +1 -0
  680. package/templates/node_modules/mongodb/lib/mongo_types.js +56 -0
  681. package/templates/node_modules/mongodb/lib/mongo_types.js.map +1 -0
  682. package/templates/node_modules/mongodb/lib/operations/aggregate.js +90 -0
  683. package/templates/node_modules/mongodb/lib/operations/aggregate.js.map +1 -0
  684. package/templates/node_modules/mongodb/lib/operations/client_bulk_write/client_bulk_write.js +51 -0
  685. package/templates/node_modules/mongodb/lib/operations/client_bulk_write/client_bulk_write.js.map +1 -0
  686. package/templates/node_modules/mongodb/lib/operations/client_bulk_write/command_builder.js +340 -0
  687. package/templates/node_modules/mongodb/lib/operations/client_bulk_write/command_builder.js.map +1 -0
  688. package/templates/node_modules/mongodb/lib/operations/client_bulk_write/common.js +3 -0
  689. package/templates/node_modules/mongodb/lib/operations/client_bulk_write/common.js.map +1 -0
  690. package/templates/node_modules/mongodb/lib/operations/client_bulk_write/executor.js +120 -0
  691. package/templates/node_modules/mongodb/lib/operations/client_bulk_write/executor.js.map +1 -0
  692. package/templates/node_modules/mongodb/lib/operations/client_bulk_write/results_merger.js +204 -0
  693. package/templates/node_modules/mongodb/lib/operations/client_bulk_write/results_merger.js.map +1 -0
  694. package/templates/node_modules/mongodb/lib/operations/command.js +83 -0
  695. package/templates/node_modules/mongodb/lib/operations/command.js.map +1 -0
  696. package/templates/node_modules/mongodb/lib/operations/count.js +45 -0
  697. package/templates/node_modules/mongodb/lib/operations/count.js.map +1 -0
  698. package/templates/node_modules/mongodb/lib/operations/create_collection.js +109 -0
  699. package/templates/node_modules/mongodb/lib/operations/create_collection.js.map +1 -0
  700. package/templates/node_modules/mongodb/lib/operations/delete.js +125 -0
  701. package/templates/node_modules/mongodb/lib/operations/delete.js.map +1 -0
  702. package/templates/node_modules/mongodb/lib/operations/distinct.js +61 -0
  703. package/templates/node_modules/mongodb/lib/operations/distinct.js.map +1 -0
  704. package/templates/node_modules/mongodb/lib/operations/drop.js +93 -0
  705. package/templates/node_modules/mongodb/lib/operations/drop.js.map +1 -0
  706. package/templates/node_modules/mongodb/lib/operations/end_sessions.js +34 -0
  707. package/templates/node_modules/mongodb/lib/operations/end_sessions.js.map +1 -0
  708. package/templates/node_modules/mongodb/lib/operations/estimated_document_count.js +41 -0
  709. package/templates/node_modules/mongodb/lib/operations/estimated_document_count.js.map +1 -0
  710. package/templates/node_modules/mongodb/lib/operations/execute_operation.js +238 -0
  711. package/templates/node_modules/mongodb/lib/operations/execute_operation.js.map +1 -0
  712. package/templates/node_modules/mongodb/lib/operations/find.js +148 -0
  713. package/templates/node_modules/mongodb/lib/operations/find.js.map +1 -0
  714. package/templates/node_modules/mongodb/lib/operations/find_and_modify.js +158 -0
  715. package/templates/node_modules/mongodb/lib/operations/find_and_modify.js.map +1 -0
  716. package/templates/node_modules/mongodb/lib/operations/get_more.js +62 -0
  717. package/templates/node_modules/mongodb/lib/operations/get_more.js.map +1 -0
  718. package/templates/node_modules/mongodb/lib/operations/indexes.js +186 -0
  719. package/templates/node_modules/mongodb/lib/operations/indexes.js.map +1 -0
  720. package/templates/node_modules/mongodb/lib/operations/insert.js +70 -0
  721. package/templates/node_modules/mongodb/lib/operations/insert.js.map +1 -0
  722. package/templates/node_modules/mongodb/lib/operations/kill_cursors.js +43 -0
  723. package/templates/node_modules/mongodb/lib/operations/kill_cursors.js.map +1 -0
  724. package/templates/node_modules/mongodb/lib/operations/list_collections.js +53 -0
  725. package/templates/node_modules/mongodb/lib/operations/list_collections.js.map +1 -0
  726. package/templates/node_modules/mongodb/lib/operations/list_databases.js +40 -0
  727. package/templates/node_modules/mongodb/lib/operations/list_databases.js.map +1 -0
  728. package/templates/node_modules/mongodb/lib/operations/operation.js +102 -0
  729. package/templates/node_modules/mongodb/lib/operations/operation.js.map +1 -0
  730. package/templates/node_modules/mongodb/lib/operations/profiling_level.js +43 -0
  731. package/templates/node_modules/mongodb/lib/operations/profiling_level.js.map +1 -0
  732. package/templates/node_modules/mongodb/lib/operations/remove_user.js +27 -0
  733. package/templates/node_modules/mongodb/lib/operations/remove_user.js.map +1 -0
  734. package/templates/node_modules/mongodb/lib/operations/rename.js +38 -0
  735. package/templates/node_modules/mongodb/lib/operations/rename.js.map +1 -0
  736. package/templates/node_modules/mongodb/lib/operations/run_command.js +47 -0
  737. package/templates/node_modules/mongodb/lib/operations/run_command.js.map +1 -0
  738. package/templates/node_modules/mongodb/lib/operations/search_indexes/create.js +33 -0
  739. package/templates/node_modules/mongodb/lib/operations/search_indexes/create.js.map +1 -0
  740. package/templates/node_modules/mongodb/lib/operations/search_indexes/drop.js +43 -0
  741. package/templates/node_modules/mongodb/lib/operations/search_indexes/drop.js.map +1 -0
  742. package/templates/node_modules/mongodb/lib/operations/search_indexes/update.js +35 -0
  743. package/templates/node_modules/mongodb/lib/operations/search_indexes/update.js.map +1 -0
  744. package/templates/node_modules/mongodb/lib/operations/set_profiling_level.js +53 -0
  745. package/templates/node_modules/mongodb/lib/operations/set_profiling_level.js.map +1 -0
  746. package/templates/node_modules/mongodb/lib/operations/stats.js +27 -0
  747. package/templates/node_modules/mongodb/lib/operations/stats.js.map +1 -0
  748. package/templates/node_modules/mongodb/lib/operations/update.js +188 -0
  749. package/templates/node_modules/mongodb/lib/operations/update.js.map +1 -0
  750. package/templates/node_modules/mongodb/lib/operations/validate_collection.js +37 -0
  751. package/templates/node_modules/mongodb/lib/operations/validate_collection.js.map +1 -0
  752. package/templates/node_modules/mongodb/lib/read_concern.js +73 -0
  753. package/templates/node_modules/mongodb/lib/read_concern.js.map +1 -0
  754. package/templates/node_modules/mongodb/lib/read_preference.js +191 -0
  755. package/templates/node_modules/mongodb/lib/read_preference.js.map +1 -0
  756. package/templates/node_modules/mongodb/lib/sdam/common.js +49 -0
  757. package/templates/node_modules/mongodb/lib/sdam/common.js.map +1 -0
  758. package/templates/node_modules/mongodb/lib/sdam/events.js +146 -0
  759. package/templates/node_modules/mongodb/lib/sdam/events.js.map +1 -0
  760. package/templates/node_modules/mongodb/lib/sdam/monitor.js +544 -0
  761. package/templates/node_modules/mongodb/lib/sdam/monitor.js.map +1 -0
  762. package/templates/node_modules/mongodb/lib/sdam/server.js +392 -0
  763. package/templates/node_modules/mongodb/lib/sdam/server.js.map +1 -0
  764. package/templates/node_modules/mongodb/lib/sdam/server_description.js +204 -0
  765. package/templates/node_modules/mongodb/lib/sdam/server_description.js.map +1 -0
  766. package/templates/node_modules/mongodb/lib/sdam/server_selection.js +231 -0
  767. package/templates/node_modules/mongodb/lib/sdam/server_selection.js.map +1 -0
  768. package/templates/node_modules/mongodb/lib/sdam/server_selection_events.js +85 -0
  769. package/templates/node_modules/mongodb/lib/sdam/server_selection_events.js.map +1 -0
  770. package/templates/node_modules/mongodb/lib/sdam/srv_polling.js +108 -0
  771. package/templates/node_modules/mongodb/lib/sdam/srv_polling.js.map +1 -0
  772. package/templates/node_modules/mongodb/lib/sdam/topology.js +650 -0
  773. package/templates/node_modules/mongodb/lib/sdam/topology.js.map +1 -0
  774. package/templates/node_modules/mongodb/lib/sdam/topology_description.js +383 -0
  775. package/templates/node_modules/mongodb/lib/sdam/topology_description.js.map +1 -0
  776. package/templates/node_modules/mongodb/lib/sessions.js +828 -0
  777. package/templates/node_modules/mongodb/lib/sessions.js.map +1 -0
  778. package/templates/node_modules/mongodb/lib/sort.js +103 -0
  779. package/templates/node_modules/mongodb/lib/sort.js.map +1 -0
  780. package/templates/node_modules/mongodb/lib/timeout.js +296 -0
  781. package/templates/node_modules/mongodb/lib/timeout.js.map +1 -0
  782. package/templates/node_modules/mongodb/lib/transactions.js +135 -0
  783. package/templates/node_modules/mongodb/lib/transactions.js.map +1 -0
  784. package/templates/node_modules/mongodb/lib/utils.js +1189 -0
  785. package/templates/node_modules/mongodb/lib/utils.js.map +1 -0
  786. package/templates/node_modules/mongodb/lib/write_concern.js +100 -0
  787. package/templates/node_modules/mongodb/lib/write_concern.js.map +1 -0
  788. package/templates/node_modules/mongodb/mongodb.d.ts +9010 -0
  789. package/templates/node_modules/mongodb/package.json +175 -0
  790. package/templates/node_modules/mongodb/src/admin.ts +173 -0
  791. package/templates/node_modules/mongodb/src/bson.ts +148 -0
  792. package/templates/node_modules/mongodb/src/bulk/common.ts +1251 -0
  793. package/templates/node_modules/mongodb/src/bulk/ordered.ts +83 -0
  794. package/templates/node_modules/mongodb/src/bulk/unordered.ts +115 -0
  795. package/templates/node_modules/mongodb/src/change_stream.ts +1158 -0
  796. package/templates/node_modules/mongodb/src/client-side-encryption/auto_encrypter.ts +469 -0
  797. package/templates/node_modules/mongodb/src/client-side-encryption/client_encryption.ts +1150 -0
  798. package/templates/node_modules/mongodb/src/client-side-encryption/errors.ts +144 -0
  799. package/templates/node_modules/mongodb/src/client-side-encryption/mongocryptd_manager.ts +100 -0
  800. package/templates/node_modules/mongodb/src/client-side-encryption/providers/aws.ts +33 -0
  801. package/templates/node_modules/mongodb/src/client-side-encryption/providers/azure.ts +181 -0
  802. package/templates/node_modules/mongodb/src/client-side-encryption/providers/gcp.ts +16 -0
  803. package/templates/node_modules/mongodb/src/client-side-encryption/providers/index.ts +207 -0
  804. package/templates/node_modules/mongodb/src/client-side-encryption/state_machine.ts +650 -0
  805. package/templates/node_modules/mongodb/src/cmap/auth/auth_provider.ts +77 -0
  806. package/templates/node_modules/mongodb/src/cmap/auth/aws_temporary_credentials.ts +127 -0
  807. package/templates/node_modules/mongodb/src/cmap/auth/gssapi.ts +202 -0
  808. package/templates/node_modules/mongodb/src/cmap/auth/mongo_credentials.ts +291 -0
  809. package/templates/node_modules/mongodb/src/cmap/auth/mongodb_aws.ts +186 -0
  810. package/templates/node_modules/mongodb/src/cmap/auth/mongodb_oidc/automated_callback_workflow.ts +88 -0
  811. package/templates/node_modules/mongodb/src/cmap/auth/mongodb_oidc/azure_machine_workflow.ts +73 -0
  812. package/templates/node_modules/mongodb/src/cmap/auth/mongodb_oidc/callback_workflow.ts +188 -0
  813. package/templates/node_modules/mongodb/src/cmap/auth/mongodb_oidc/command_builders.ts +53 -0
  814. package/templates/node_modules/mongodb/src/cmap/auth/mongodb_oidc/gcp_machine_workflow.ts +46 -0
  815. package/templates/node_modules/mongodb/src/cmap/auth/mongodb_oidc/human_callback_workflow.ts +141 -0
  816. package/templates/node_modules/mongodb/src/cmap/auth/mongodb_oidc/k8s_machine_workflow.ts +30 -0
  817. package/templates/node_modules/mongodb/src/cmap/auth/mongodb_oidc/token_cache.ts +62 -0
  818. package/templates/node_modules/mongodb/src/cmap/auth/mongodb_oidc/token_machine_workflow.ts +21 -0
  819. package/templates/node_modules/mongodb/src/cmap/auth/mongodb_oidc.ts +185 -0
  820. package/templates/node_modules/mongodb/src/cmap/auth/plain.ts +25 -0
  821. package/templates/node_modules/mongodb/src/cmap/auth/providers.ts +22 -0
  822. package/templates/node_modules/mongodb/src/cmap/auth/scram.ts +344 -0
  823. package/templates/node_modules/mongodb/src/cmap/auth/x509.ts +43 -0
  824. package/templates/node_modules/mongodb/src/cmap/command_monitoring_events.ts +316 -0
  825. package/templates/node_modules/mongodb/src/cmap/commands.ts +788 -0
  826. package/templates/node_modules/mongodb/src/cmap/connect.ts +499 -0
  827. package/templates/node_modules/mongodb/src/cmap/connection.ts +931 -0
  828. package/templates/node_modules/mongodb/src/cmap/connection_pool.ts +831 -0
  829. package/templates/node_modules/mongodb/src/cmap/connection_pool_events.ts +300 -0
  830. package/templates/node_modules/mongodb/src/cmap/errors.ts +119 -0
  831. package/templates/node_modules/mongodb/src/cmap/handshake/client_metadata.ts +352 -0
  832. package/templates/node_modules/mongodb/src/cmap/metrics.ts +58 -0
  833. package/templates/node_modules/mongodb/src/cmap/stream_description.ts +96 -0
  834. package/templates/node_modules/mongodb/src/cmap/wire_protocol/compression.ts +197 -0
  835. package/templates/node_modules/mongodb/src/cmap/wire_protocol/constants.ts +17 -0
  836. package/templates/node_modules/mongodb/src/cmap/wire_protocol/on_data.ts +139 -0
  837. package/templates/node_modules/mongodb/src/cmap/wire_protocol/on_demand/document.ts +358 -0
  838. package/templates/node_modules/mongodb/src/cmap/wire_protocol/responses.ts +393 -0
  839. package/templates/node_modules/mongodb/src/cmap/wire_protocol/shared.ts +48 -0
  840. package/templates/node_modules/mongodb/src/collection.ts +1314 -0
  841. package/templates/node_modules/mongodb/src/connection_string.ts +1296 -0
  842. package/templates/node_modules/mongodb/src/constants.ts +176 -0
  843. package/templates/node_modules/mongodb/src/cursor/abstract_cursor.ts +1247 -0
  844. package/templates/node_modules/mongodb/src/cursor/aggregation_cursor.ts +245 -0
  845. package/templates/node_modules/mongodb/src/cursor/change_stream_cursor.ts +171 -0
  846. package/templates/node_modules/mongodb/src/cursor/client_bulk_write_cursor.ts +83 -0
  847. package/templates/node_modules/mongodb/src/cursor/explainable_cursor.ts +51 -0
  848. package/templates/node_modules/mongodb/src/cursor/find_cursor.ts +497 -0
  849. package/templates/node_modules/mongodb/src/cursor/list_collections_cursor.ts +50 -0
  850. package/templates/node_modules/mongodb/src/cursor/list_indexes_cursor.ts +37 -0
  851. package/templates/node_modules/mongodb/src/cursor/list_search_indexes_cursor.ts +20 -0
  852. package/templates/node_modules/mongodb/src/cursor/run_command_cursor.ts +178 -0
  853. package/templates/node_modules/mongodb/src/db.ts +622 -0
  854. package/templates/node_modules/mongodb/src/deps.ts +287 -0
  855. package/templates/node_modules/mongodb/src/encrypter.ts +127 -0
  856. package/templates/node_modules/mongodb/src/error.ts +1571 -0
  857. package/templates/node_modules/mongodb/src/explain.ts +124 -0
  858. package/templates/node_modules/mongodb/src/gridfs/download.ts +483 -0
  859. package/templates/node_modules/mongodb/src/gridfs/index.ts +264 -0
  860. package/templates/node_modules/mongodb/src/gridfs/upload.ts +537 -0
  861. package/templates/node_modules/mongodb/src/index.ts +633 -0
  862. package/templates/node_modules/mongodb/src/mongo_client.ts +1155 -0
  863. package/templates/node_modules/mongodb/src/mongo_client_auth_providers.ts +87 -0
  864. package/templates/node_modules/mongodb/src/mongo_logger.ts +1076 -0
  865. package/templates/node_modules/mongodb/src/mongo_types.ts +678 -0
  866. package/templates/node_modules/mongodb/src/operations/aggregate.ts +153 -0
  867. package/templates/node_modules/mongodb/src/operations/client_bulk_write/client_bulk_write.ts +72 -0
  868. package/templates/node_modules/mongodb/src/operations/client_bulk_write/command_builder.ts +487 -0
  869. package/templates/node_modules/mongodb/src/operations/client_bulk_write/common.ts +276 -0
  870. package/templates/node_modules/mongodb/src/operations/client_bulk_write/executor.ts +149 -0
  871. package/templates/node_modules/mongodb/src/operations/client_bulk_write/results_merger.ts +260 -0
  872. package/templates/node_modules/mongodb/src/operations/command.ts +171 -0
  873. package/templates/node_modules/mongodb/src/operations/count.ts +74 -0
  874. package/templates/node_modules/mongodb/src/operations/create_collection.ts +218 -0
  875. package/templates/node_modules/mongodb/src/operations/delete.ts +183 -0
  876. package/templates/node_modules/mongodb/src/operations/distinct.ts +92 -0
  877. package/templates/node_modules/mongodb/src/operations/drop.ts +130 -0
  878. package/templates/node_modules/mongodb/src/operations/end_sessions.ts +44 -0
  879. package/templates/node_modules/mongodb/src/operations/estimated_document_count.ts +61 -0
  880. package/templates/node_modules/mongodb/src/operations/execute_operation.ts +318 -0
  881. package/templates/node_modules/mongodb/src/operations/find.ts +254 -0
  882. package/templates/node_modules/mongodb/src/operations/find_and_modify.ts +319 -0
  883. package/templates/node_modules/mongodb/src/operations/get_more.ts +108 -0
  884. package/templates/node_modules/mongodb/src/operations/indexes.ts +418 -0
  885. package/templates/node_modules/mongodb/src/operations/insert.ts +108 -0
  886. package/templates/node_modules/mongodb/src/operations/kill_cursors.ts +64 -0
  887. package/templates/node_modules/mongodb/src/operations/list_collections.ts +108 -0
  888. package/templates/node_modules/mongodb/src/operations/list_databases.ts +68 -0
  889. package/templates/node_modules/mongodb/src/operations/operation.ts +181 -0
  890. package/templates/node_modules/mongodb/src/operations/profiling_level.ts +46 -0
  891. package/templates/node_modules/mongodb/src/operations/remove_user.ts +36 -0
  892. package/templates/node_modules/mongodb/src/operations/rename.ts +55 -0
  893. package/templates/node_modules/mongodb/src/operations/run_command.ts +79 -0
  894. package/templates/node_modules/mongodb/src/operations/search_indexes/create.ts +56 -0
  895. package/templates/node_modules/mongodb/src/operations/search_indexes/drop.ts +58 -0
  896. package/templates/node_modules/mongodb/src/operations/search_indexes/update.ts +45 -0
  897. package/templates/node_modules/mongodb/src/operations/set_profiling_level.ts +74 -0
  898. package/templates/node_modules/mongodb/src/operations/stats.ts +37 -0
  899. package/templates/node_modules/mongodb/src/operations/update.ts +318 -0
  900. package/templates/node_modules/mongodb/src/operations/validate_collection.ts +50 -0
  901. package/templates/node_modules/mongodb/src/read_concern.ts +88 -0
  902. package/templates/node_modules/mongodb/src/read_preference.ts +256 -0
  903. package/templates/node_modules/mongodb/src/sdam/common.ts +74 -0
  904. package/templates/node_modules/mongodb/src/sdam/events.ts +219 -0
  905. package/templates/node_modules/mongodb/src/sdam/monitor.ts +771 -0
  906. package/templates/node_modules/mongodb/src/sdam/server.ts +577 -0
  907. package/templates/node_modules/mongodb/src/sdam/server_description.ts +291 -0
  908. package/templates/node_modules/mongodb/src/sdam/server_selection.ts +323 -0
  909. package/templates/node_modules/mongodb/src/sdam/server_selection_events.ts +142 -0
  910. package/templates/node_modules/mongodb/src/sdam/srv_polling.ts +146 -0
  911. package/templates/node_modules/mongodb/src/sdam/topology.ts +1096 -0
  912. package/templates/node_modules/mongodb/src/sdam/topology_description.ts +548 -0
  913. package/templates/node_modules/mongodb/src/sessions.ts +1160 -0
  914. package/templates/node_modules/mongodb/src/sort.ts +141 -0
  915. package/templates/node_modules/mongodb/src/timeout.ts +405 -0
  916. package/templates/node_modules/mongodb/src/transactions.ts +181 -0
  917. package/templates/node_modules/mongodb/src/utils.ts +1491 -0
  918. package/templates/node_modules/mongodb/src/write_concern.ts +183 -0
  919. package/templates/node_modules/mongodb/tsconfig.json +46 -0
  920. package/templates/node_modules/mongodb-connection-string-url/.esm-wrapper.mjs +6 -0
  921. package/templates/node_modules/mongodb-connection-string-url/LICENSE +192 -0
  922. package/templates/node_modules/mongodb-connection-string-url/README.md +25 -0
  923. package/templates/node_modules/mongodb-connection-string-url/lib/index.d.ts +63 -0
  924. package/templates/node_modules/mongodb-connection-string-url/lib/index.js +239 -0
  925. package/templates/node_modules/mongodb-connection-string-url/lib/index.js.map +1 -0
  926. package/templates/node_modules/mongodb-connection-string-url/lib/redact.d.ts +7 -0
  927. package/templates/node_modules/mongodb-connection-string-url/lib/redact.js +97 -0
  928. package/templates/node_modules/mongodb-connection-string-url/lib/redact.js.map +1 -0
  929. package/templates/node_modules/mongodb-connection-string-url/package.json +71 -0
  930. package/templates/node_modules/mongoose/LICENSE.md +22 -0
  931. package/templates/node_modules/mongoose/README.md +397 -0
  932. package/templates/node_modules/mongoose/SECURITY.md +1 -0
  933. package/templates/node_modules/mongoose/eslint.config.mjs +198 -0
  934. package/templates/node_modules/mongoose/index.js +64 -0
  935. package/templates/node_modules/mongoose/lib/aggregate.js +1189 -0
  936. package/templates/node_modules/mongoose/lib/cast/bigint.js +46 -0
  937. package/templates/node_modules/mongoose/lib/cast/boolean.js +32 -0
  938. package/templates/node_modules/mongoose/lib/cast/date.js +41 -0
  939. package/templates/node_modules/mongoose/lib/cast/decimal128.js +39 -0
  940. package/templates/node_modules/mongoose/lib/cast/double.js +50 -0
  941. package/templates/node_modules/mongoose/lib/cast/int32.js +36 -0
  942. package/templates/node_modules/mongoose/lib/cast/number.js +42 -0
  943. package/templates/node_modules/mongoose/lib/cast/objectid.js +29 -0
  944. package/templates/node_modules/mongoose/lib/cast/string.js +37 -0
  945. package/templates/node_modules/mongoose/lib/cast/uuid.js +35 -0
  946. package/templates/node_modules/mongoose/lib/cast.js +444 -0
  947. package/templates/node_modules/mongoose/lib/collection.js +321 -0
  948. package/templates/node_modules/mongoose/lib/connection.js +1849 -0
  949. package/templates/node_modules/mongoose/lib/connectionState.js +26 -0
  950. package/templates/node_modules/mongoose/lib/constants.js +73 -0
  951. package/templates/node_modules/mongoose/lib/cursor/aggregationCursor.js +466 -0
  952. package/templates/node_modules/mongoose/lib/cursor/changeStream.js +198 -0
  953. package/templates/node_modules/mongoose/lib/cursor/queryCursor.js +622 -0
  954. package/templates/node_modules/mongoose/lib/document.js +5481 -0
  955. package/templates/node_modules/mongoose/lib/driver.js +15 -0
  956. package/templates/node_modules/mongoose/lib/drivers/SPEC.md +4 -0
  957. package/templates/node_modules/mongoose/lib/drivers/node-mongodb-native/bulkWriteResult.js +5 -0
  958. package/templates/node_modules/mongoose/lib/drivers/node-mongodb-native/collection.js +405 -0
  959. package/templates/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js +521 -0
  960. package/templates/node_modules/mongoose/lib/drivers/node-mongodb-native/index.js +10 -0
  961. package/templates/node_modules/mongoose/lib/error/browserMissingSchema.js +29 -0
  962. package/templates/node_modules/mongoose/lib/error/bulkSaveIncompleteError.js +44 -0
  963. package/templates/node_modules/mongoose/lib/error/bulkWriteError.js +41 -0
  964. package/templates/node_modules/mongoose/lib/error/cast.js +158 -0
  965. package/templates/node_modules/mongoose/lib/error/createCollectionsError.js +26 -0
  966. package/templates/node_modules/mongoose/lib/error/divergentArray.js +40 -0
  967. package/templates/node_modules/mongoose/lib/error/eachAsyncMultiError.js +41 -0
  968. package/templates/node_modules/mongoose/lib/error/index.js +237 -0
  969. package/templates/node_modules/mongoose/lib/error/invalidSchemaOption.js +32 -0
  970. package/templates/node_modules/mongoose/lib/error/messages.js +47 -0
  971. package/templates/node_modules/mongoose/lib/error/missingSchema.js +33 -0
  972. package/templates/node_modules/mongoose/lib/error/mongooseError.js +13 -0
  973. package/templates/node_modules/mongoose/lib/error/notFound.js +47 -0
  974. package/templates/node_modules/mongoose/lib/error/objectExpected.js +31 -0
  975. package/templates/node_modules/mongoose/lib/error/objectParameter.js +31 -0
  976. package/templates/node_modules/mongoose/lib/error/overwriteModel.js +31 -0
  977. package/templates/node_modules/mongoose/lib/error/parallelSave.js +33 -0
  978. package/templates/node_modules/mongoose/lib/error/parallelValidate.js +33 -0
  979. package/templates/node_modules/mongoose/lib/error/serverSelection.js +62 -0
  980. package/templates/node_modules/mongoose/lib/error/setOptionError.js +103 -0
  981. package/templates/node_modules/mongoose/lib/error/strict.js +35 -0
  982. package/templates/node_modules/mongoose/lib/error/strictPopulate.js +31 -0
  983. package/templates/node_modules/mongoose/lib/error/syncIndexes.js +30 -0
  984. package/templates/node_modules/mongoose/lib/error/validation.js +97 -0
  985. package/templates/node_modules/mongoose/lib/error/validator.js +100 -0
  986. package/templates/node_modules/mongoose/lib/error/version.js +38 -0
  987. package/templates/node_modules/mongoose/lib/helpers/aggregate/prepareDiscriminatorPipeline.js +39 -0
  988. package/templates/node_modules/mongoose/lib/helpers/aggregate/stringifyFunctionOperators.js +50 -0
  989. package/templates/node_modules/mongoose/lib/helpers/arrayDepth.js +33 -0
  990. package/templates/node_modules/mongoose/lib/helpers/clone.js +204 -0
  991. package/templates/node_modules/mongoose/lib/helpers/common.js +127 -0
  992. package/templates/node_modules/mongoose/lib/helpers/createJSONSchemaTypeDefinition.js +24 -0
  993. package/templates/node_modules/mongoose/lib/helpers/cursor/eachAsync.js +225 -0
  994. package/templates/node_modules/mongoose/lib/helpers/discriminator/applyEmbeddedDiscriminators.js +36 -0
  995. package/templates/node_modules/mongoose/lib/helpers/discriminator/areDiscriminatorValuesEqual.js +16 -0
  996. package/templates/node_modules/mongoose/lib/helpers/discriminator/checkEmbeddedDiscriminatorKeyProjection.js +12 -0
  997. package/templates/node_modules/mongoose/lib/helpers/discriminator/getConstructor.js +29 -0
  998. package/templates/node_modules/mongoose/lib/helpers/discriminator/getDiscriminatorByValue.js +28 -0
  999. package/templates/node_modules/mongoose/lib/helpers/discriminator/getSchemaDiscriminatorByValue.js +27 -0
  1000. package/templates/node_modules/mongoose/lib/helpers/discriminator/mergeDiscriminatorSchema.js +91 -0
  1001. package/templates/node_modules/mongoose/lib/helpers/document/applyDefaults.js +132 -0
  1002. package/templates/node_modules/mongoose/lib/helpers/document/applyTimestamps.js +105 -0
  1003. package/templates/node_modules/mongoose/lib/helpers/document/applyVirtuals.js +146 -0
  1004. package/templates/node_modules/mongoose/lib/helpers/document/cleanModifiedSubpaths.js +45 -0
  1005. package/templates/node_modules/mongoose/lib/helpers/document/compile.js +238 -0
  1006. package/templates/node_modules/mongoose/lib/helpers/document/getDeepestSubdocumentForPath.js +38 -0
  1007. package/templates/node_modules/mongoose/lib/helpers/document/getEmbeddedDiscriminatorPath.js +53 -0
  1008. package/templates/node_modules/mongoose/lib/helpers/document/handleSpreadDoc.js +35 -0
  1009. package/templates/node_modules/mongoose/lib/helpers/each.js +25 -0
  1010. package/templates/node_modules/mongoose/lib/helpers/error/combinePathErrors.js +22 -0
  1011. package/templates/node_modules/mongoose/lib/helpers/firstKey.js +8 -0
  1012. package/templates/node_modules/mongoose/lib/helpers/get.js +65 -0
  1013. package/templates/node_modules/mongoose/lib/helpers/getConstructorName.js +16 -0
  1014. package/templates/node_modules/mongoose/lib/helpers/getDefaultBulkwriteResult.js +18 -0
  1015. package/templates/node_modules/mongoose/lib/helpers/getFunctionName.js +10 -0
  1016. package/templates/node_modules/mongoose/lib/helpers/immediate.js +16 -0
  1017. package/templates/node_modules/mongoose/lib/helpers/indexes/applySchemaCollation.js +13 -0
  1018. package/templates/node_modules/mongoose/lib/helpers/indexes/decorateDiscriminatorIndexOptions.js +14 -0
  1019. package/templates/node_modules/mongoose/lib/helpers/indexes/getRelatedIndexes.js +63 -0
  1020. package/templates/node_modules/mongoose/lib/helpers/indexes/isDefaultIdIndex.js +18 -0
  1021. package/templates/node_modules/mongoose/lib/helpers/indexes/isIndexEqual.js +95 -0
  1022. package/templates/node_modules/mongoose/lib/helpers/indexes/isIndexSpecEqual.js +32 -0
  1023. package/templates/node_modules/mongoose/lib/helpers/indexes/isTextIndex.js +16 -0
  1024. package/templates/node_modules/mongoose/lib/helpers/indexes/isTimeseriesIndex.js +16 -0
  1025. package/templates/node_modules/mongoose/lib/helpers/isAsyncFunction.js +9 -0
  1026. package/templates/node_modules/mongoose/lib/helpers/isBsonType.js +15 -0
  1027. package/templates/node_modules/mongoose/lib/helpers/isMongooseObject.js +22 -0
  1028. package/templates/node_modules/mongoose/lib/helpers/isObject.js +16 -0
  1029. package/templates/node_modules/mongoose/lib/helpers/isPOJO.js +12 -0
  1030. package/templates/node_modules/mongoose/lib/helpers/isPromise.js +6 -0
  1031. package/templates/node_modules/mongoose/lib/helpers/isSimpleValidator.js +22 -0
  1032. package/templates/node_modules/mongoose/lib/helpers/minimize.js +41 -0
  1033. package/templates/node_modules/mongoose/lib/helpers/model/applyDefaultsToPOJO.js +52 -0
  1034. package/templates/node_modules/mongoose/lib/helpers/model/applyHooks.js +140 -0
  1035. package/templates/node_modules/mongoose/lib/helpers/model/applyMethods.js +70 -0
  1036. package/templates/node_modules/mongoose/lib/helpers/model/applyStaticHooks.js +33 -0
  1037. package/templates/node_modules/mongoose/lib/helpers/model/applyStatics.js +13 -0
  1038. package/templates/node_modules/mongoose/lib/helpers/model/castBulkWrite.js +320 -0
  1039. package/templates/node_modules/mongoose/lib/helpers/model/decorateBulkWriteResult.js +8 -0
  1040. package/templates/node_modules/mongoose/lib/helpers/model/discriminator.js +265 -0
  1041. package/templates/node_modules/mongoose/lib/helpers/model/pushNestedArrayPaths.js +15 -0
  1042. package/templates/node_modules/mongoose/lib/helpers/omitUndefined.js +20 -0
  1043. package/templates/node_modules/mongoose/lib/helpers/once.js +12 -0
  1044. package/templates/node_modules/mongoose/lib/helpers/parallelLimit.js +37 -0
  1045. package/templates/node_modules/mongoose/lib/helpers/path/parentPaths.js +18 -0
  1046. package/templates/node_modules/mongoose/lib/helpers/path/setDottedPath.js +33 -0
  1047. package/templates/node_modules/mongoose/lib/helpers/pluralize.js +95 -0
  1048. package/templates/node_modules/mongoose/lib/helpers/populate/assignRawDocsToIdStructure.js +129 -0
  1049. package/templates/node_modules/mongoose/lib/helpers/populate/assignVals.js +360 -0
  1050. package/templates/node_modules/mongoose/lib/helpers/populate/createPopulateQueryFilter.js +97 -0
  1051. package/templates/node_modules/mongoose/lib/helpers/populate/getModelsMapForPopulate.js +774 -0
  1052. package/templates/node_modules/mongoose/lib/helpers/populate/getSchemaTypes.js +229 -0
  1053. package/templates/node_modules/mongoose/lib/helpers/populate/getVirtual.js +103 -0
  1054. package/templates/node_modules/mongoose/lib/helpers/populate/leanPopulateMap.js +7 -0
  1055. package/templates/node_modules/mongoose/lib/helpers/populate/lookupLocalFields.js +40 -0
  1056. package/templates/node_modules/mongoose/lib/helpers/populate/markArraySubdocsPopulated.js +49 -0
  1057. package/templates/node_modules/mongoose/lib/helpers/populate/modelNamesFromRefPath.js +66 -0
  1058. package/templates/node_modules/mongoose/lib/helpers/populate/removeDeselectedForeignField.js +31 -0
  1059. package/templates/node_modules/mongoose/lib/helpers/populate/setPopulatedVirtualValue.js +33 -0
  1060. package/templates/node_modules/mongoose/lib/helpers/populate/skipPopulateValue.js +10 -0
  1061. package/templates/node_modules/mongoose/lib/helpers/populate/validateRef.js +19 -0
  1062. package/templates/node_modules/mongoose/lib/helpers/printJestWarning.js +21 -0
  1063. package/templates/node_modules/mongoose/lib/helpers/processConnectionOptions.js +65 -0
  1064. package/templates/node_modules/mongoose/lib/helpers/projection/applyProjection.js +83 -0
  1065. package/templates/node_modules/mongoose/lib/helpers/projection/hasIncludedChildren.js +41 -0
  1066. package/templates/node_modules/mongoose/lib/helpers/projection/isDefiningProjection.js +18 -0
  1067. package/templates/node_modules/mongoose/lib/helpers/projection/isExclusive.js +37 -0
  1068. package/templates/node_modules/mongoose/lib/helpers/projection/isInclusive.js +39 -0
  1069. package/templates/node_modules/mongoose/lib/helpers/projection/isNestedProjection.js +8 -0
  1070. package/templates/node_modules/mongoose/lib/helpers/projection/isPathExcluded.js +40 -0
  1071. package/templates/node_modules/mongoose/lib/helpers/projection/isPathSelectedInclusive.js +28 -0
  1072. package/templates/node_modules/mongoose/lib/helpers/projection/isSubpath.js +14 -0
  1073. package/templates/node_modules/mongoose/lib/helpers/projection/parseProjection.js +33 -0
  1074. package/templates/node_modules/mongoose/lib/helpers/query/applyGlobalOption.js +29 -0
  1075. package/templates/node_modules/mongoose/lib/helpers/query/cast$expr.js +287 -0
  1076. package/templates/node_modules/mongoose/lib/helpers/query/castFilterPath.js +54 -0
  1077. package/templates/node_modules/mongoose/lib/helpers/query/castUpdate.js +643 -0
  1078. package/templates/node_modules/mongoose/lib/helpers/query/getEmbeddedDiscriminatorPath.js +103 -0
  1079. package/templates/node_modules/mongoose/lib/helpers/query/handleImmutable.js +44 -0
  1080. package/templates/node_modules/mongoose/lib/helpers/query/handleReadPreferenceAliases.js +23 -0
  1081. package/templates/node_modules/mongoose/lib/helpers/query/hasDollarKeys.js +23 -0
  1082. package/templates/node_modules/mongoose/lib/helpers/query/isOperator.js +14 -0
  1083. package/templates/node_modules/mongoose/lib/helpers/query/sanitizeFilter.js +38 -0
  1084. package/templates/node_modules/mongoose/lib/helpers/query/sanitizeProjection.js +14 -0
  1085. package/templates/node_modules/mongoose/lib/helpers/query/selectPopulatedFields.js +62 -0
  1086. package/templates/node_modules/mongoose/lib/helpers/query/trusted.js +13 -0
  1087. package/templates/node_modules/mongoose/lib/helpers/query/validOps.js +3 -0
  1088. package/templates/node_modules/mongoose/lib/helpers/schema/addAutoId.js +7 -0
  1089. package/templates/node_modules/mongoose/lib/helpers/schema/applyBuiltinPlugins.js +12 -0
  1090. package/templates/node_modules/mongoose/lib/helpers/schema/applyPlugins.js +55 -0
  1091. package/templates/node_modules/mongoose/lib/helpers/schema/applyReadConcern.js +20 -0
  1092. package/templates/node_modules/mongoose/lib/helpers/schema/applyWriteConcern.js +37 -0
  1093. package/templates/node_modules/mongoose/lib/helpers/schema/cleanPositionalOperators.js +12 -0
  1094. package/templates/node_modules/mongoose/lib/helpers/schema/getIndexes.js +171 -0
  1095. package/templates/node_modules/mongoose/lib/helpers/schema/getKeysInSchemaOrder.js +28 -0
  1096. package/templates/node_modules/mongoose/lib/helpers/schema/getPath.js +43 -0
  1097. package/templates/node_modules/mongoose/lib/helpers/schema/getSubdocumentStrictValue.js +32 -0
  1098. package/templates/node_modules/mongoose/lib/helpers/schema/handleIdOption.js +20 -0
  1099. package/templates/node_modules/mongoose/lib/helpers/schema/handleTimestampOption.js +24 -0
  1100. package/templates/node_modules/mongoose/lib/helpers/schema/idGetter.js +34 -0
  1101. package/templates/node_modules/mongoose/lib/helpers/schema/merge.js +36 -0
  1102. package/templates/node_modules/mongoose/lib/helpers/schematype/handleImmutable.js +50 -0
  1103. package/templates/node_modules/mongoose/lib/helpers/setDefaultsOnInsert.js +161 -0
  1104. package/templates/node_modules/mongoose/lib/helpers/specialProperties.js +3 -0
  1105. package/templates/node_modules/mongoose/lib/helpers/symbols.js +20 -0
  1106. package/templates/node_modules/mongoose/lib/helpers/timers.js +3 -0
  1107. package/templates/node_modules/mongoose/lib/helpers/timestamps/setDocumentTimestamps.js +26 -0
  1108. package/templates/node_modules/mongoose/lib/helpers/timestamps/setupTimestamps.js +107 -0
  1109. package/templates/node_modules/mongoose/lib/helpers/topology/allServersUnknown.js +12 -0
  1110. package/templates/node_modules/mongoose/lib/helpers/topology/isAtlas.js +31 -0
  1111. package/templates/node_modules/mongoose/lib/helpers/topology/isSSLError.js +16 -0
  1112. package/templates/node_modules/mongoose/lib/helpers/update/applyTimestampsToChildren.js +193 -0
  1113. package/templates/node_modules/mongoose/lib/helpers/update/applyTimestampsToUpdate.js +130 -0
  1114. package/templates/node_modules/mongoose/lib/helpers/update/castArrayFilters.js +113 -0
  1115. package/templates/node_modules/mongoose/lib/helpers/update/decorateUpdateWithVersionKey.js +35 -0
  1116. package/templates/node_modules/mongoose/lib/helpers/update/modifiedPaths.js +33 -0
  1117. package/templates/node_modules/mongoose/lib/helpers/update/moveImmutableProperties.js +53 -0
  1118. package/templates/node_modules/mongoose/lib/helpers/update/removeUnusedArrayFilters.js +32 -0
  1119. package/templates/node_modules/mongoose/lib/helpers/update/updatedPathsByArrayFilter.js +27 -0
  1120. package/templates/node_modules/mongoose/lib/helpers/updateValidators.js +193 -0
  1121. package/templates/node_modules/mongoose/lib/index.js +17 -0
  1122. package/templates/node_modules/mongoose/lib/internal.js +46 -0
  1123. package/templates/node_modules/mongoose/lib/model.js +5021 -0
  1124. package/templates/node_modules/mongoose/lib/modifiedPathsSnapshot.js +9 -0
  1125. package/templates/node_modules/mongoose/lib/mongoose.js +1411 -0
  1126. package/templates/node_modules/mongoose/lib/options/populateOptions.js +36 -0
  1127. package/templates/node_modules/mongoose/lib/options/propertyOptions.js +8 -0
  1128. package/templates/node_modules/mongoose/lib/options/saveOptions.js +16 -0
  1129. package/templates/node_modules/mongoose/lib/options/schemaArrayOptions.js +78 -0
  1130. package/templates/node_modules/mongoose/lib/options/schemaBufferOptions.js +38 -0
  1131. package/templates/node_modules/mongoose/lib/options/schemaDateOptions.js +71 -0
  1132. package/templates/node_modules/mongoose/lib/options/schemaDocumentArrayOptions.js +68 -0
  1133. package/templates/node_modules/mongoose/lib/options/schemaMapOptions.js +43 -0
  1134. package/templates/node_modules/mongoose/lib/options/schemaNumberOptions.js +101 -0
  1135. package/templates/node_modules/mongoose/lib/options/schemaObjectIdOptions.js +64 -0
  1136. package/templates/node_modules/mongoose/lib/options/schemaStringOptions.js +138 -0
  1137. package/templates/node_modules/mongoose/lib/options/schemaSubdocumentOptions.js +66 -0
  1138. package/templates/node_modules/mongoose/lib/options/schemaTypeOptions.js +244 -0
  1139. package/templates/node_modules/mongoose/lib/options/schemaUnionOptions.js +32 -0
  1140. package/templates/node_modules/mongoose/lib/options/virtualOptions.js +164 -0
  1141. package/templates/node_modules/mongoose/lib/options.js +17 -0
  1142. package/templates/node_modules/mongoose/lib/plugins/index.js +6 -0
  1143. package/templates/node_modules/mongoose/lib/plugins/saveSubdocs.js +75 -0
  1144. package/templates/node_modules/mongoose/lib/plugins/sharding.js +84 -0
  1145. package/templates/node_modules/mongoose/lib/plugins/trackTransaction.js +85 -0
  1146. package/templates/node_modules/mongoose/lib/plugins/validateBeforeSave.js +41 -0
  1147. package/templates/node_modules/mongoose/lib/query.js +5649 -0
  1148. package/templates/node_modules/mongoose/lib/queryHelpers.js +390 -0
  1149. package/templates/node_modules/mongoose/lib/schema/array.js +701 -0
  1150. package/templates/node_modules/mongoose/lib/schema/bigint.js +282 -0
  1151. package/templates/node_modules/mongoose/lib/schema/boolean.js +332 -0
  1152. package/templates/node_modules/mongoose/lib/schema/buffer.js +343 -0
  1153. package/templates/node_modules/mongoose/lib/schema/date.js +467 -0
  1154. package/templates/node_modules/mongoose/lib/schema/decimal128.js +263 -0
  1155. package/templates/node_modules/mongoose/lib/schema/documentArray.js +664 -0
  1156. package/templates/node_modules/mongoose/lib/schema/documentArrayElement.js +107 -0
  1157. package/templates/node_modules/mongoose/lib/schema/double.js +246 -0
  1158. package/templates/node_modules/mongoose/lib/schema/index.js +31 -0
  1159. package/templates/node_modules/mongoose/lib/schema/int32.js +289 -0
  1160. package/templates/node_modules/mongoose/lib/schema/map.js +201 -0
  1161. package/templates/node_modules/mongoose/lib/schema/mixed.js +146 -0
  1162. package/templates/node_modules/mongoose/lib/schema/number.js +492 -0
  1163. package/templates/node_modules/mongoose/lib/schema/objectId.js +333 -0
  1164. package/templates/node_modules/mongoose/lib/schema/operators/bitwise.js +38 -0
  1165. package/templates/node_modules/mongoose/lib/schema/operators/exists.js +12 -0
  1166. package/templates/node_modules/mongoose/lib/schema/operators/geospatial.js +107 -0
  1167. package/templates/node_modules/mongoose/lib/schema/operators/helpers.js +32 -0
  1168. package/templates/node_modules/mongoose/lib/schema/operators/text.js +39 -0
  1169. package/templates/node_modules/mongoose/lib/schema/operators/type.js +20 -0
  1170. package/templates/node_modules/mongoose/lib/schema/string.js +733 -0
  1171. package/templates/node_modules/mongoose/lib/schema/subdocument.js +439 -0
  1172. package/templates/node_modules/mongoose/lib/schema/symbols.js +5 -0
  1173. package/templates/node_modules/mongoose/lib/schema/union.js +113 -0
  1174. package/templates/node_modules/mongoose/lib/schema/uuid.js +305 -0
  1175. package/templates/node_modules/mongoose/lib/schema.js +3227 -0
  1176. package/templates/node_modules/mongoose/lib/schemaType.js +1835 -0
  1177. package/templates/node_modules/mongoose/lib/stateMachine.js +232 -0
  1178. package/templates/node_modules/mongoose/lib/types/array/index.js +119 -0
  1179. package/templates/node_modules/mongoose/lib/types/array/isMongooseArray.js +5 -0
  1180. package/templates/node_modules/mongoose/lib/types/array/methods/index.js +1065 -0
  1181. package/templates/node_modules/mongoose/lib/types/arraySubdocument.js +197 -0
  1182. package/templates/node_modules/mongoose/lib/types/buffer.js +294 -0
  1183. package/templates/node_modules/mongoose/lib/types/decimal128.js +13 -0
  1184. package/templates/node_modules/mongoose/lib/types/documentArray/index.js +113 -0
  1185. package/templates/node_modules/mongoose/lib/types/documentArray/isMongooseDocumentArray.js +5 -0
  1186. package/templates/node_modules/mongoose/lib/types/documentArray/methods/index.js +415 -0
  1187. package/templates/node_modules/mongoose/lib/types/double.js +13 -0
  1188. package/templates/node_modules/mongoose/lib/types/index.js +23 -0
  1189. package/templates/node_modules/mongoose/lib/types/map.js +419 -0
  1190. package/templates/node_modules/mongoose/lib/types/objectid.js +41 -0
  1191. package/templates/node_modules/mongoose/lib/types/subdocument.js +454 -0
  1192. package/templates/node_modules/mongoose/lib/types/uuid.js +13 -0
  1193. package/templates/node_modules/mongoose/lib/utils.js +1038 -0
  1194. package/templates/node_modules/mongoose/lib/validOptions.js +42 -0
  1195. package/templates/node_modules/mongoose/lib/virtualType.js +204 -0
  1196. package/templates/node_modules/mongoose/package.json +143 -0
  1197. package/templates/node_modules/mongoose/types/aggregate.d.ts +180 -0
  1198. package/templates/node_modules/mongoose/types/augmentations.d.ts +9 -0
  1199. package/templates/node_modules/mongoose/types/callback.d.ts +8 -0
  1200. package/templates/node_modules/mongoose/types/collection.d.ts +49 -0
  1201. package/templates/node_modules/mongoose/types/connection.d.ts +297 -0
  1202. package/templates/node_modules/mongoose/types/cursor.d.ts +67 -0
  1203. package/templates/node_modules/mongoose/types/document.d.ts +374 -0
  1204. package/templates/node_modules/mongoose/types/error.d.ts +143 -0
  1205. package/templates/node_modules/mongoose/types/expressions.d.ts +3053 -0
  1206. package/templates/node_modules/mongoose/types/helpers.d.ts +32 -0
  1207. package/templates/node_modules/mongoose/types/index.d.ts +1046 -0
  1208. package/templates/node_modules/mongoose/types/indexes.d.ts +97 -0
  1209. package/templates/node_modules/mongoose/types/inferhydrateddoctype.d.ts +115 -0
  1210. package/templates/node_modules/mongoose/types/inferrawdoctype.d.ts +135 -0
  1211. package/templates/node_modules/mongoose/types/inferschematype.d.ts +337 -0
  1212. package/templates/node_modules/mongoose/types/middlewares.d.ts +48 -0
  1213. package/templates/node_modules/mongoose/types/models.d.ts +1291 -0
  1214. package/templates/node_modules/mongoose/types/mongooseoptions.d.ts +228 -0
  1215. package/templates/node_modules/mongoose/types/pipelinestage.d.ts +333 -0
  1216. package/templates/node_modules/mongoose/types/populate.d.ts +53 -0
  1217. package/templates/node_modules/mongoose/types/query.d.ts +934 -0
  1218. package/templates/node_modules/mongoose/types/schemaoptions.d.ts +280 -0
  1219. package/templates/node_modules/mongoose/types/schematypes.d.ts +645 -0
  1220. package/templates/node_modules/mongoose/types/session.d.ts +32 -0
  1221. package/templates/node_modules/mongoose/types/types.d.ts +109 -0
  1222. package/templates/node_modules/mongoose/types/utility.d.ts +175 -0
  1223. package/templates/node_modules/mongoose/types/validation.d.ts +39 -0
  1224. package/templates/node_modules/mongoose/types/virtuals.d.ts +14 -0
  1225. package/templates/node_modules/morgan/HISTORY.md +221 -0
  1226. package/templates/node_modules/morgan/LICENSE +23 -0
  1227. package/templates/node_modules/morgan/README.md +436 -0
  1228. package/templates/node_modules/morgan/index.js +544 -0
  1229. package/templates/node_modules/morgan/node_modules/debug/.coveralls.yml +1 -0
  1230. package/templates/node_modules/morgan/node_modules/debug/.eslintrc +11 -0
  1231. package/templates/node_modules/morgan/node_modules/debug/.travis.yml +14 -0
  1232. package/templates/node_modules/morgan/node_modules/debug/CHANGELOG.md +362 -0
  1233. package/templates/node_modules/morgan/node_modules/debug/LICENSE +19 -0
  1234. package/templates/node_modules/morgan/node_modules/debug/Makefile +50 -0
  1235. package/templates/node_modules/morgan/node_modules/debug/README.md +312 -0
  1236. package/templates/node_modules/morgan/node_modules/debug/component.json +19 -0
  1237. package/templates/node_modules/morgan/node_modules/debug/karma.conf.js +70 -0
  1238. package/templates/node_modules/morgan/node_modules/debug/node.js +1 -0
  1239. package/templates/node_modules/morgan/node_modules/debug/package.json +49 -0
  1240. package/templates/node_modules/morgan/node_modules/debug/src/browser.js +185 -0
  1241. package/templates/node_modules/morgan/node_modules/debug/src/debug.js +202 -0
  1242. package/templates/node_modules/morgan/node_modules/debug/src/index.js +10 -0
  1243. package/templates/node_modules/morgan/node_modules/debug/src/inspector-log.js +15 -0
  1244. package/templates/node_modules/morgan/node_modules/debug/src/node.js +248 -0
  1245. package/templates/node_modules/morgan/node_modules/ms/index.js +152 -0
  1246. package/templates/node_modules/morgan/node_modules/ms/license.md +21 -0
  1247. package/templates/node_modules/morgan/node_modules/ms/package.json +37 -0
  1248. package/templates/node_modules/morgan/node_modules/ms/readme.md +51 -0
  1249. package/templates/node_modules/morgan/node_modules/on-finished/HISTORY.md +88 -0
  1250. package/templates/node_modules/morgan/node_modules/on-finished/LICENSE +23 -0
  1251. package/templates/node_modules/morgan/node_modules/on-finished/README.md +154 -0
  1252. package/templates/node_modules/morgan/node_modules/on-finished/index.js +196 -0
  1253. package/templates/node_modules/morgan/node_modules/on-finished/package.json +31 -0
  1254. package/templates/node_modules/morgan/package.json +52 -0
  1255. package/templates/node_modules/mpath/.travis.yml +9 -0
  1256. package/templates/node_modules/mpath/History.md +88 -0
  1257. package/templates/node_modules/mpath/LICENSE +22 -0
  1258. package/templates/node_modules/mpath/README.md +278 -0
  1259. package/templates/node_modules/mpath/SECURITY.md +5 -0
  1260. package/templates/node_modules/mpath/index.js +3 -0
  1261. package/templates/node_modules/mpath/lib/index.js +336 -0
  1262. package/templates/node_modules/mpath/lib/stringToParts.js +48 -0
  1263. package/templates/node_modules/mpath/package.json +144 -0
  1264. package/templates/node_modules/mpath/test/.eslintrc.yml +4 -0
  1265. package/templates/node_modules/mpath/test/index.js +1879 -0
  1266. package/templates/node_modules/mpath/test/stringToParts.js +30 -0
  1267. package/templates/node_modules/mquery/.github/ISSUE_TEMPLATE.md +11 -0
  1268. package/templates/node_modules/mquery/.github/PULL_REQUEST_TEMPLATE.md +9 -0
  1269. package/templates/node_modules/mquery/History.md +393 -0
  1270. package/templates/node_modules/mquery/LICENSE +22 -0
  1271. package/templates/node_modules/mquery/README.md +1387 -0
  1272. package/templates/node_modules/mquery/SECURITY.md +1 -0
  1273. package/templates/node_modules/mquery/lib/collection/collection.js +47 -0
  1274. package/templates/node_modules/mquery/lib/collection/index.js +13 -0
  1275. package/templates/node_modules/mquery/lib/collection/node.js +128 -0
  1276. package/templates/node_modules/mquery/lib/env.js +22 -0
  1277. package/templates/node_modules/mquery/lib/mquery.js +2748 -0
  1278. package/templates/node_modules/mquery/lib/permissions.js +93 -0
  1279. package/templates/node_modules/mquery/lib/utils.js +297 -0
  1280. package/templates/node_modules/mquery/package.json +35 -0
  1281. package/templates/node_modules/ms/index.js +162 -0
  1282. package/templates/node_modules/ms/license.md +21 -0
  1283. package/templates/node_modules/ms/package.json +38 -0
  1284. package/templates/node_modules/ms/readme.md +59 -0
  1285. package/templates/node_modules/negotiator/HISTORY.md +114 -0
  1286. package/templates/node_modules/negotiator/LICENSE +24 -0
  1287. package/templates/node_modules/negotiator/README.md +212 -0
  1288. package/templates/node_modules/negotiator/index.js +83 -0
  1289. package/templates/node_modules/negotiator/lib/charset.js +169 -0
  1290. package/templates/node_modules/negotiator/lib/encoding.js +205 -0
  1291. package/templates/node_modules/negotiator/lib/language.js +179 -0
  1292. package/templates/node_modules/negotiator/lib/mediaType.js +294 -0
  1293. package/templates/node_modules/negotiator/package.json +43 -0
  1294. package/templates/node_modules/object-inspect/.eslintrc +53 -0
  1295. package/templates/node_modules/object-inspect/.github/FUNDING.yml +12 -0
  1296. package/templates/node_modules/object-inspect/.nycrc +13 -0
  1297. package/templates/node_modules/object-inspect/CHANGELOG.md +424 -0
  1298. package/templates/node_modules/object-inspect/LICENSE +21 -0
  1299. package/templates/node_modules/object-inspect/example/all.js +23 -0
  1300. package/templates/node_modules/object-inspect/example/circular.js +6 -0
  1301. package/templates/node_modules/object-inspect/example/fn.js +5 -0
  1302. package/templates/node_modules/object-inspect/example/inspect.js +10 -0
  1303. package/templates/node_modules/object-inspect/index.js +544 -0
  1304. package/templates/node_modules/object-inspect/package-support.json +20 -0
  1305. package/templates/node_modules/object-inspect/package.json +105 -0
  1306. package/templates/node_modules/object-inspect/readme.markdown +84 -0
  1307. package/templates/node_modules/object-inspect/test/bigint.js +58 -0
  1308. package/templates/node_modules/object-inspect/test/browser/dom.js +15 -0
  1309. package/templates/node_modules/object-inspect/test/circular.js +16 -0
  1310. package/templates/node_modules/object-inspect/test/deep.js +12 -0
  1311. package/templates/node_modules/object-inspect/test/element.js +53 -0
  1312. package/templates/node_modules/object-inspect/test/err.js +48 -0
  1313. package/templates/node_modules/object-inspect/test/fakes.js +29 -0
  1314. package/templates/node_modules/object-inspect/test/fn.js +76 -0
  1315. package/templates/node_modules/object-inspect/test/global.js +17 -0
  1316. package/templates/node_modules/object-inspect/test/has.js +15 -0
  1317. package/templates/node_modules/object-inspect/test/holes.js +15 -0
  1318. package/templates/node_modules/object-inspect/test/indent-option.js +271 -0
  1319. package/templates/node_modules/object-inspect/test/inspect.js +139 -0
  1320. package/templates/node_modules/object-inspect/test/lowbyte.js +12 -0
  1321. package/templates/node_modules/object-inspect/test/number.js +58 -0
  1322. package/templates/node_modules/object-inspect/test/quoteStyle.js +26 -0
  1323. package/templates/node_modules/object-inspect/test/toStringTag.js +40 -0
  1324. package/templates/node_modules/object-inspect/test/undef.js +12 -0
  1325. package/templates/node_modules/object-inspect/test/values.js +261 -0
  1326. package/templates/node_modules/object-inspect/test-core-js.js +26 -0
  1327. package/templates/node_modules/object-inspect/util.inspect.js +1 -0
  1328. package/templates/node_modules/on-finished/HISTORY.md +98 -0
  1329. package/templates/node_modules/on-finished/LICENSE +23 -0
  1330. package/templates/node_modules/on-finished/README.md +162 -0
  1331. package/templates/node_modules/on-finished/index.js +234 -0
  1332. package/templates/node_modules/on-finished/package.json +39 -0
  1333. package/templates/node_modules/on-headers/HISTORY.md +26 -0
  1334. package/templates/node_modules/on-headers/LICENSE +22 -0
  1335. package/templates/node_modules/on-headers/README.md +81 -0
  1336. package/templates/node_modules/on-headers/index.js +180 -0
  1337. package/templates/node_modules/on-headers/package.json +44 -0
  1338. package/templates/node_modules/once/LICENSE +15 -0
  1339. package/templates/node_modules/once/README.md +79 -0
  1340. package/templates/node_modules/once/once.js +42 -0
  1341. package/templates/node_modules/once/package.json +33 -0
  1342. package/templates/node_modules/parseurl/HISTORY.md +58 -0
  1343. package/templates/node_modules/parseurl/LICENSE +24 -0
  1344. package/templates/node_modules/parseurl/README.md +133 -0
  1345. package/templates/node_modules/parseurl/index.js +158 -0
  1346. package/templates/node_modules/parseurl/package.json +40 -0
  1347. package/templates/node_modules/path-to-regexp/LICENSE +21 -0
  1348. package/templates/node_modules/path-to-regexp/Readme.md +224 -0
  1349. package/templates/node_modules/path-to-regexp/dist/index.d.ts +144 -0
  1350. package/templates/node_modules/path-to-regexp/dist/index.js +409 -0
  1351. package/templates/node_modules/path-to-regexp/dist/index.js.map +1 -0
  1352. package/templates/node_modules/path-to-regexp/package.json +64 -0
  1353. package/templates/node_modules/proxy-addr/HISTORY.md +161 -0
  1354. package/templates/node_modules/proxy-addr/LICENSE +22 -0
  1355. package/templates/node_modules/proxy-addr/README.md +139 -0
  1356. package/templates/node_modules/proxy-addr/index.js +327 -0
  1357. package/templates/node_modules/proxy-addr/package.json +47 -0
  1358. package/templates/node_modules/punycode/LICENSE-MIT.txt +20 -0
  1359. package/templates/node_modules/punycode/README.md +148 -0
  1360. package/templates/node_modules/punycode/package.json +58 -0
  1361. package/templates/node_modules/punycode/punycode.es6.js +444 -0
  1362. package/templates/node_modules/punycode/punycode.js +443 -0
  1363. package/templates/node_modules/qs/.editorconfig +46 -0
  1364. package/templates/node_modules/qs/.eslintrc +39 -0
  1365. package/templates/node_modules/qs/.github/FUNDING.yml +12 -0
  1366. package/templates/node_modules/qs/.nycrc +13 -0
  1367. package/templates/node_modules/qs/CHANGELOG.md +622 -0
  1368. package/templates/node_modules/qs/LICENSE.md +29 -0
  1369. package/templates/node_modules/qs/README.md +733 -0
  1370. package/templates/node_modules/qs/dist/qs.js +141 -0
  1371. package/templates/node_modules/qs/lib/formats.js +23 -0
  1372. package/templates/node_modules/qs/lib/index.js +11 -0
  1373. package/templates/node_modules/qs/lib/parse.js +328 -0
  1374. package/templates/node_modules/qs/lib/stringify.js +356 -0
  1375. package/templates/node_modules/qs/lib/utils.js +268 -0
  1376. package/templates/node_modules/qs/package.json +93 -0
  1377. package/templates/node_modules/qs/test/empty-keys-cases.js +267 -0
  1378. package/templates/node_modules/qs/test/parse.js +1276 -0
  1379. package/templates/node_modules/qs/test/stringify.js +1306 -0
  1380. package/templates/node_modules/qs/test/utils.js +262 -0
  1381. package/templates/node_modules/range-parser/HISTORY.md +56 -0
  1382. package/templates/node_modules/range-parser/LICENSE +23 -0
  1383. package/templates/node_modules/range-parser/README.md +84 -0
  1384. package/templates/node_modules/range-parser/index.js +162 -0
  1385. package/templates/node_modules/range-parser/package.json +44 -0
  1386. package/templates/node_modules/raw-body/LICENSE +22 -0
  1387. package/templates/node_modules/raw-body/README.md +223 -0
  1388. package/templates/node_modules/raw-body/index.d.ts +85 -0
  1389. package/templates/node_modules/raw-body/index.js +336 -0
  1390. package/templates/node_modules/raw-body/package.json +46 -0
  1391. package/templates/node_modules/router/HISTORY.md +228 -0
  1392. package/templates/node_modules/router/LICENSE +23 -0
  1393. package/templates/node_modules/router/README.md +416 -0
  1394. package/templates/node_modules/router/index.js +748 -0
  1395. package/templates/node_modules/router/lib/layer.js +247 -0
  1396. package/templates/node_modules/router/lib/route.js +242 -0
  1397. package/templates/node_modules/router/package.json +44 -0
  1398. package/templates/node_modules/safe-buffer/LICENSE +21 -0
  1399. package/templates/node_modules/safe-buffer/README.md +584 -0
  1400. package/templates/node_modules/safe-buffer/index.d.ts +187 -0
  1401. package/templates/node_modules/safe-buffer/index.js +62 -0
  1402. package/templates/node_modules/safe-buffer/package.json +37 -0
  1403. package/templates/node_modules/safer-buffer/LICENSE +21 -0
  1404. package/templates/node_modules/safer-buffer/Porting-Buffer.md +268 -0
  1405. package/templates/node_modules/safer-buffer/Readme.md +156 -0
  1406. package/templates/node_modules/safer-buffer/dangerous.js +58 -0
  1407. package/templates/node_modules/safer-buffer/package.json +34 -0
  1408. package/templates/node_modules/safer-buffer/safer.js +77 -0
  1409. package/templates/node_modules/safer-buffer/tests.js +406 -0
  1410. package/templates/node_modules/send/LICENSE +23 -0
  1411. package/templates/node_modules/send/README.md +317 -0
  1412. package/templates/node_modules/send/index.js +997 -0
  1413. package/templates/node_modules/send/package.json +63 -0
  1414. package/templates/node_modules/serve-static/LICENSE +25 -0
  1415. package/templates/node_modules/serve-static/README.md +253 -0
  1416. package/templates/node_modules/serve-static/index.js +208 -0
  1417. package/templates/node_modules/serve-static/package.json +44 -0
  1418. package/templates/node_modules/setprototypeof/LICENSE +13 -0
  1419. package/templates/node_modules/setprototypeof/README.md +31 -0
  1420. package/templates/node_modules/setprototypeof/index.d.ts +2 -0
  1421. package/templates/node_modules/setprototypeof/index.js +17 -0
  1422. package/templates/node_modules/setprototypeof/package.json +38 -0
  1423. package/templates/node_modules/setprototypeof/test/index.js +24 -0
  1424. package/templates/node_modules/side-channel/.editorconfig +9 -0
  1425. package/templates/node_modules/side-channel/.eslintrc +12 -0
  1426. package/templates/node_modules/side-channel/.github/FUNDING.yml +12 -0
  1427. package/templates/node_modules/side-channel/.nycrc +13 -0
  1428. package/templates/node_modules/side-channel/CHANGELOG.md +110 -0
  1429. package/templates/node_modules/side-channel/LICENSE +21 -0
  1430. package/templates/node_modules/side-channel/README.md +61 -0
  1431. package/templates/node_modules/side-channel/index.d.ts +14 -0
  1432. package/templates/node_modules/side-channel/index.js +43 -0
  1433. package/templates/node_modules/side-channel/package.json +85 -0
  1434. package/templates/node_modules/side-channel/test/index.js +104 -0
  1435. package/templates/node_modules/side-channel/tsconfig.json +9 -0
  1436. package/templates/node_modules/side-channel-list/.editorconfig +9 -0
  1437. package/templates/node_modules/side-channel-list/.eslintrc +11 -0
  1438. package/templates/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
  1439. package/templates/node_modules/side-channel-list/.nycrc +13 -0
  1440. package/templates/node_modules/side-channel-list/CHANGELOG.md +15 -0
  1441. package/templates/node_modules/side-channel-list/LICENSE +21 -0
  1442. package/templates/node_modules/side-channel-list/README.md +62 -0
  1443. package/templates/node_modules/side-channel-list/index.d.ts +13 -0
  1444. package/templates/node_modules/side-channel-list/index.js +113 -0
  1445. package/templates/node_modules/side-channel-list/list.d.ts +14 -0
  1446. package/templates/node_modules/side-channel-list/package.json +77 -0
  1447. package/templates/node_modules/side-channel-list/test/index.js +104 -0
  1448. package/templates/node_modules/side-channel-list/tsconfig.json +9 -0
  1449. package/templates/node_modules/side-channel-map/.editorconfig +9 -0
  1450. package/templates/node_modules/side-channel-map/.eslintrc +11 -0
  1451. package/templates/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
  1452. package/templates/node_modules/side-channel-map/.nycrc +13 -0
  1453. package/templates/node_modules/side-channel-map/CHANGELOG.md +22 -0
  1454. package/templates/node_modules/side-channel-map/LICENSE +21 -0
  1455. package/templates/node_modules/side-channel-map/README.md +62 -0
  1456. package/templates/node_modules/side-channel-map/index.d.ts +15 -0
  1457. package/templates/node_modules/side-channel-map/index.js +68 -0
  1458. package/templates/node_modules/side-channel-map/package.json +80 -0
  1459. package/templates/node_modules/side-channel-map/test/index.js +114 -0
  1460. package/templates/node_modules/side-channel-map/tsconfig.json +9 -0
  1461. package/templates/node_modules/side-channel-weakmap/.editorconfig +9 -0
  1462. package/templates/node_modules/side-channel-weakmap/.eslintrc +12 -0
  1463. package/templates/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
  1464. package/templates/node_modules/side-channel-weakmap/.nycrc +13 -0
  1465. package/templates/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
  1466. package/templates/node_modules/side-channel-weakmap/LICENSE +21 -0
  1467. package/templates/node_modules/side-channel-weakmap/README.md +62 -0
  1468. package/templates/node_modules/side-channel-weakmap/index.d.ts +15 -0
  1469. package/templates/node_modules/side-channel-weakmap/index.js +84 -0
  1470. package/templates/node_modules/side-channel-weakmap/package.json +87 -0
  1471. package/templates/node_modules/side-channel-weakmap/test/index.js +114 -0
  1472. package/templates/node_modules/side-channel-weakmap/tsconfig.json +9 -0
  1473. package/templates/node_modules/sift/MIT-LICENSE.txt +20 -0
  1474. package/templates/node_modules/sift/README.md +465 -0
  1475. package/templates/node_modules/sift/es/index.js +632 -0
  1476. package/templates/node_modules/sift/es/index.js.map +1 -0
  1477. package/templates/node_modules/sift/es5m/index.js +743 -0
  1478. package/templates/node_modules/sift/es5m/index.js.map +1 -0
  1479. package/templates/node_modules/sift/index.d.ts +4 -0
  1480. package/templates/node_modules/sift/index.js +4 -0
  1481. package/templates/node_modules/sift/lib/core.d.ts +116 -0
  1482. package/templates/node_modules/sift/lib/index.d.ts +6 -0
  1483. package/templates/node_modules/sift/lib/index.js +781 -0
  1484. package/templates/node_modules/sift/lib/index.js.map +1 -0
  1485. package/templates/node_modules/sift/lib/operations.d.ts +88 -0
  1486. package/templates/node_modules/sift/lib/utils.d.ts +11 -0
  1487. package/templates/node_modules/sift/package.json +61 -0
  1488. package/templates/node_modules/sift/sift.csp.min.js +778 -0
  1489. package/templates/node_modules/sift/sift.csp.min.js.map +1 -0
  1490. package/templates/node_modules/sift/sift.min.js +2 -0
  1491. package/templates/node_modules/sift/sift.min.js.map +1 -0
  1492. package/templates/node_modules/sift/src/core.ts +494 -0
  1493. package/templates/node_modules/sift/src/index.ts +54 -0
  1494. package/templates/node_modules/sift/src/operations.ts +422 -0
  1495. package/templates/node_modules/sift/src/utils.ts +74 -0
  1496. package/templates/node_modules/sparse-bitfield/.travis.yml +6 -0
  1497. package/templates/node_modules/sparse-bitfield/LICENSE +21 -0
  1498. package/templates/node_modules/sparse-bitfield/README.md +62 -0
  1499. package/templates/node_modules/sparse-bitfield/index.js +95 -0
  1500. package/templates/node_modules/sparse-bitfield/package.json +27 -0
  1501. package/templates/node_modules/sparse-bitfield/test.js +79 -0
  1502. package/templates/node_modules/statuses/HISTORY.md +87 -0
  1503. package/templates/node_modules/statuses/LICENSE +23 -0
  1504. package/templates/node_modules/statuses/README.md +139 -0
  1505. package/templates/node_modules/statuses/codes.json +65 -0
  1506. package/templates/node_modules/statuses/index.js +146 -0
  1507. package/templates/node_modules/statuses/package.json +49 -0
  1508. package/templates/node_modules/toidentifier/HISTORY.md +9 -0
  1509. package/templates/node_modules/toidentifier/LICENSE +21 -0
  1510. package/templates/node_modules/toidentifier/README.md +61 -0
  1511. package/templates/node_modules/toidentifier/index.js +32 -0
  1512. package/templates/node_modules/toidentifier/package.json +38 -0
  1513. package/templates/node_modules/tr46/LICENSE.md +21 -0
  1514. package/templates/node_modules/tr46/README.md +76 -0
  1515. package/templates/node_modules/tr46/index.js +344 -0
  1516. package/templates/node_modules/tr46/lib/mappingTable.json +1 -0
  1517. package/templates/node_modules/tr46/lib/regexes.js +29 -0
  1518. package/templates/node_modules/tr46/lib/statusMapping.js +9 -0
  1519. package/templates/node_modules/tr46/package.json +44 -0
  1520. package/templates/node_modules/type-is/HISTORY.md +292 -0
  1521. package/templates/node_modules/type-is/LICENSE +23 -0
  1522. package/templates/node_modules/type-is/README.md +198 -0
  1523. package/templates/node_modules/type-is/index.js +250 -0
  1524. package/templates/node_modules/type-is/package.json +47 -0
  1525. package/templates/node_modules/unpipe/HISTORY.md +4 -0
  1526. package/templates/node_modules/unpipe/LICENSE +22 -0
  1527. package/templates/node_modules/unpipe/README.md +43 -0
  1528. package/templates/node_modules/unpipe/index.js +69 -0
  1529. package/templates/node_modules/unpipe/package.json +27 -0
  1530. package/templates/node_modules/vary/HISTORY.md +39 -0
  1531. package/templates/node_modules/vary/LICENSE +22 -0
  1532. package/templates/node_modules/vary/README.md +101 -0
  1533. package/templates/node_modules/vary/index.js +149 -0
  1534. package/templates/node_modules/vary/package.json +43 -0
  1535. package/templates/node_modules/webidl-conversions/LICENSE.md +12 -0
  1536. package/templates/node_modules/webidl-conversions/README.md +99 -0
  1537. package/templates/node_modules/webidl-conversions/lib/index.js +450 -0
  1538. package/templates/node_modules/webidl-conversions/package.json +35 -0
  1539. package/templates/node_modules/whatwg-url/LICENSE.txt +21 -0
  1540. package/templates/node_modules/whatwg-url/README.md +106 -0
  1541. package/templates/node_modules/whatwg-url/index.js +27 -0
  1542. package/templates/node_modules/whatwg-url/lib/Function.js +42 -0
  1543. package/templates/node_modules/whatwg-url/lib/URL-impl.js +233 -0
  1544. package/templates/node_modules/whatwg-url/lib/URL.js +499 -0
  1545. package/templates/node_modules/whatwg-url/lib/URLSearchParams-impl.js +135 -0
  1546. package/templates/node_modules/whatwg-url/lib/URLSearchParams.js +505 -0
  1547. package/templates/node_modules/whatwg-url/lib/VoidFunction.js +26 -0
  1548. package/templates/node_modules/whatwg-url/lib/encoding.js +16 -0
  1549. package/templates/node_modules/whatwg-url/lib/infra.js +26 -0
  1550. package/templates/node_modules/whatwg-url/lib/percent-encoding.js +142 -0
  1551. package/templates/node_modules/whatwg-url/lib/url-state-machine.js +1274 -0
  1552. package/templates/node_modules/whatwg-url/lib/urlencoded.js +89 -0
  1553. package/templates/node_modules/whatwg-url/lib/utils.js +190 -0
  1554. package/templates/node_modules/whatwg-url/package.json +53 -0
  1555. package/templates/node_modules/whatwg-url/webidl2js-wrapper.js +7 -0
  1556. package/templates/node_modules/wrappy/LICENSE +15 -0
  1557. package/templates/node_modules/wrappy/README.md +36 -0
  1558. package/templates/node_modules/wrappy/package.json +29 -0
  1559. package/templates/node_modules/wrappy/wrappy.js +33 -0
  1560. package/templates/package-lock.json +23 -0
  1561. package/templates/package.json +1 -0
  1562. package/templates/server.js +7 -8
  1563. package/test-proj/db/index.js +0 -15
  1564. package/test-proj/package.json +0 -19
  1565. package/test-proj/server.js +0 -55
@@ -0,0 +1,1314 @@
1
+ import { type BSONSerializeOptions, type Document, resolveBSONOptions } from './bson';
2
+ import type {
3
+ AnyBulkWriteOperation,
4
+ BulkOperationBase,
5
+ BulkWriteOptions,
6
+ BulkWriteResult
7
+ } from './bulk/common';
8
+ import { OrderedBulkOperation } from './bulk/ordered';
9
+ import { UnorderedBulkOperation } from './bulk/unordered';
10
+ import { ChangeStream, type ChangeStreamDocument, type ChangeStreamOptions } from './change_stream';
11
+ import { AggregationCursor } from './cursor/aggregation_cursor';
12
+ import { FindCursor } from './cursor/find_cursor';
13
+ import { ListIndexesCursor } from './cursor/list_indexes_cursor';
14
+ import {
15
+ ListSearchIndexesCursor,
16
+ type ListSearchIndexesOptions
17
+ } from './cursor/list_search_indexes_cursor';
18
+ import type { Db } from './db';
19
+ import { MongoAPIError, MongoInvalidArgumentError, MongoOperationTimeoutError } from './error';
20
+ import { type ExplainCommandOptions, type ExplainVerbosityLike } from './explain';
21
+ import type { MongoClient, PkFactory } from './mongo_client';
22
+ import type {
23
+ Abortable,
24
+ Filter,
25
+ Flatten,
26
+ OptionalUnlessRequiredId,
27
+ TODO_NODE_3286,
28
+ UpdateFilter,
29
+ WithId,
30
+ WithoutId
31
+ } from './mongo_types';
32
+ import type { AggregateOptions } from './operations/aggregate';
33
+ import { CountOperation, type CountOptions } from './operations/count';
34
+ import {
35
+ DeleteManyOperation,
36
+ DeleteOneOperation,
37
+ type DeleteOptions,
38
+ type DeleteResult
39
+ } from './operations/delete';
40
+ import { DistinctOperation, type DistinctOptions } from './operations/distinct';
41
+ import { type DropCollectionOptions } from './operations/drop';
42
+ import {
43
+ EstimatedDocumentCountOperation,
44
+ type EstimatedDocumentCountOptions
45
+ } from './operations/estimated_document_count';
46
+ import { autoConnect, executeOperation } from './operations/execute_operation';
47
+ import { type FindOneOptions, type FindOptions } from './operations/find';
48
+ import {
49
+ FindOneAndDeleteOperation,
50
+ type FindOneAndDeleteOptions,
51
+ FindOneAndReplaceOperation,
52
+ type FindOneAndReplaceOptions,
53
+ FindOneAndUpdateOperation,
54
+ type FindOneAndUpdateOptions
55
+ } from './operations/find_and_modify';
56
+ import {
57
+ CreateIndexesOperation,
58
+ type CreateIndexesOptions,
59
+ type DropIndexesOptions,
60
+ DropIndexOperation,
61
+ type IndexDescription,
62
+ type IndexDescriptionCompact,
63
+ type IndexDescriptionInfo,
64
+ type IndexInformationOptions,
65
+ type IndexSpecification,
66
+ type ListIndexesOptions
67
+ } from './operations/indexes';
68
+ import {
69
+ type InsertManyResult,
70
+ InsertOneOperation,
71
+ type InsertOneOptions,
72
+ type InsertOneResult
73
+ } from './operations/insert';
74
+ import type { Hint, OperationOptions } from './operations/operation';
75
+ import { RenameOperation, type RenameOptions } from './operations/rename';
76
+ import {
77
+ CreateSearchIndexesOperation,
78
+ type SearchIndexDescription
79
+ } from './operations/search_indexes/create';
80
+ import { DropSearchIndexOperation } from './operations/search_indexes/drop';
81
+ import { UpdateSearchIndexOperation } from './operations/search_indexes/update';
82
+ import {
83
+ ReplaceOneOperation,
84
+ type ReplaceOptions,
85
+ UpdateManyOperation,
86
+ UpdateOneOperation,
87
+ type UpdateOptions,
88
+ type UpdateResult
89
+ } from './operations/update';
90
+ import { ReadConcern, type ReadConcernLike } from './read_concern';
91
+ import { ReadPreference, type ReadPreferenceLike } from './read_preference';
92
+ import { type Sort } from './sort';
93
+ import {
94
+ DEFAULT_PK_FACTORY,
95
+ MongoDBCollectionNamespace,
96
+ normalizeHintField,
97
+ resolveOptions
98
+ } from './utils';
99
+ import { WriteConcern, type WriteConcernOptions } from './write_concern';
100
+
101
+ /** @public */
102
+ export interface ModifyResult<TSchema = Document> {
103
+ value: WithId<TSchema> | null;
104
+ lastErrorObject?: Document;
105
+ ok: 0 | 1;
106
+ }
107
+
108
+ /** @public */
109
+ export interface CountDocumentsOptions extends AggregateOptions {
110
+ /** The number of documents to skip. */
111
+ skip?: number;
112
+ /** The maximum amount of documents to consider. */
113
+ limit?: number;
114
+ }
115
+
116
+ /** @public */
117
+ export interface CollectionOptions extends BSONSerializeOptions, WriteConcernOptions {
118
+ /** Specify a read concern for the collection. (only MongoDB 3.2 or higher supported) */
119
+ readConcern?: ReadConcernLike;
120
+ /** The preferred read preference (ReadPreference.PRIMARY, ReadPreference.PRIMARY_PREFERRED, ReadPreference.SECONDARY, ReadPreference.SECONDARY_PREFERRED, ReadPreference.NEAREST). */
121
+ readPreference?: ReadPreferenceLike;
122
+ /**
123
+ * @experimental
124
+ * Specifies the time an operation will run until it throws a timeout error
125
+ */
126
+ timeoutMS?: number;
127
+ }
128
+
129
+ /** @internal */
130
+ export interface CollectionPrivate {
131
+ pkFactory: PkFactory;
132
+ db: Db;
133
+ options: any;
134
+ namespace: MongoDBCollectionNamespace;
135
+ readPreference?: ReadPreference;
136
+ bsonOptions: BSONSerializeOptions;
137
+ collectionHint?: Hint;
138
+ readConcern?: ReadConcern;
139
+ writeConcern?: WriteConcern;
140
+ }
141
+
142
+ /**
143
+ * The **Collection** class is an internal class that embodies a MongoDB collection
144
+ * allowing for insert/find/update/delete and other command operation on that MongoDB collection.
145
+ *
146
+ * **COLLECTION Cannot directly be instantiated**
147
+ * @public
148
+ *
149
+ * @example
150
+ * ```ts
151
+ * import { MongoClient } from 'mongodb';
152
+ *
153
+ * interface Pet {
154
+ * name: string;
155
+ * kind: 'dog' | 'cat' | 'fish';
156
+ * }
157
+ *
158
+ * const client = new MongoClient('mongodb://localhost:27017');
159
+ * const pets = client.db().collection<Pet>('pets');
160
+ *
161
+ * const petCursor = pets.find();
162
+ *
163
+ * for await (const pet of petCursor) {
164
+ * console.log(`${pet.name} is a ${pet.kind}!`);
165
+ * }
166
+ * ```
167
+ */
168
+ export class Collection<TSchema extends Document = Document> {
169
+ /** @internal */
170
+ s: CollectionPrivate;
171
+
172
+ /** @internal */
173
+ client: MongoClient;
174
+
175
+ /**
176
+ * Get the database object for the collection.
177
+ */
178
+ readonly db: Db;
179
+
180
+ /**
181
+ * Create a new Collection instance
182
+ * @internal
183
+ */
184
+ constructor(db: Db, name: string, options?: CollectionOptions) {
185
+ this.db = db;
186
+ // Internal state
187
+ this.s = {
188
+ db,
189
+ options,
190
+ namespace: new MongoDBCollectionNamespace(db.databaseName, name),
191
+ pkFactory: db.options?.pkFactory ?? DEFAULT_PK_FACTORY,
192
+ readPreference: ReadPreference.fromOptions(options),
193
+ bsonOptions: resolveBSONOptions(options, db),
194
+ readConcern: ReadConcern.fromOptions(options),
195
+ writeConcern: WriteConcern.fromOptions(options)
196
+ };
197
+
198
+ this.client = db.client;
199
+ }
200
+
201
+ /**
202
+ * The name of the database this collection belongs to
203
+ */
204
+ get dbName(): string {
205
+ return this.s.namespace.db;
206
+ }
207
+
208
+ /**
209
+ * The name of this collection
210
+ */
211
+ get collectionName(): string {
212
+ return this.s.namespace.collection;
213
+ }
214
+
215
+ /**
216
+ * The namespace of this collection, in the format `${this.dbName}.${this.collectionName}`
217
+ */
218
+ get namespace(): string {
219
+ return this.fullNamespace.toString();
220
+ }
221
+
222
+ /**
223
+ * @internal
224
+ *
225
+ * The `MongoDBNamespace` for the collection.
226
+ */
227
+ get fullNamespace(): MongoDBCollectionNamespace {
228
+ return this.s.namespace;
229
+ }
230
+
231
+ /**
232
+ * The current readConcern of the collection. If not explicitly defined for
233
+ * this collection, will be inherited from the parent DB
234
+ */
235
+ get readConcern(): ReadConcern | undefined {
236
+ if (this.s.readConcern == null) {
237
+ return this.db.readConcern;
238
+ }
239
+ return this.s.readConcern;
240
+ }
241
+
242
+ /**
243
+ * The current readPreference of the collection. If not explicitly defined for
244
+ * this collection, will be inherited from the parent DB
245
+ */
246
+ get readPreference(): ReadPreference | undefined {
247
+ if (this.s.readPreference == null) {
248
+ return this.db.readPreference;
249
+ }
250
+
251
+ return this.s.readPreference;
252
+ }
253
+
254
+ get bsonOptions(): BSONSerializeOptions {
255
+ return this.s.bsonOptions;
256
+ }
257
+
258
+ /**
259
+ * The current writeConcern of the collection. If not explicitly defined for
260
+ * this collection, will be inherited from the parent DB
261
+ */
262
+ get writeConcern(): WriteConcern | undefined {
263
+ if (this.s.writeConcern == null) {
264
+ return this.db.writeConcern;
265
+ }
266
+ return this.s.writeConcern;
267
+ }
268
+
269
+ /** The current index hint for the collection */
270
+ get hint(): Hint | undefined {
271
+ return this.s.collectionHint;
272
+ }
273
+
274
+ set hint(v: Hint | undefined) {
275
+ this.s.collectionHint = normalizeHintField(v);
276
+ }
277
+
278
+ public get timeoutMS(): number | undefined {
279
+ return this.s.options.timeoutMS;
280
+ }
281
+
282
+ /**
283
+ * Inserts a single document into MongoDB. If documents passed in do not contain the **_id** field,
284
+ * one will be added to each of the documents missing it by the driver, mutating the document. This behavior
285
+ * can be overridden by setting the **forceServerObjectId** flag.
286
+ *
287
+ * @param doc - The document to insert
288
+ * @param options - Optional settings for the command
289
+ */
290
+ async insertOne(
291
+ doc: OptionalUnlessRequiredId<TSchema>,
292
+ options?: InsertOneOptions
293
+ ): Promise<InsertOneResult<TSchema>> {
294
+ return await executeOperation(
295
+ this.client,
296
+ new InsertOneOperation(
297
+ this as TODO_NODE_3286,
298
+ doc,
299
+ resolveOptions(this, options)
300
+ ) as TODO_NODE_3286
301
+ );
302
+ }
303
+
304
+ /**
305
+ * Inserts an array of documents into MongoDB. If documents passed in do not contain the **_id** field,
306
+ * one will be added to each of the documents missing it by the driver, mutating the document. This behavior
307
+ * can be overridden by setting the **forceServerObjectId** flag.
308
+ *
309
+ * @param docs - The documents to insert
310
+ * @param options - Optional settings for the command
311
+ */
312
+ async insertMany(
313
+ docs: ReadonlyArray<OptionalUnlessRequiredId<TSchema>>,
314
+ options?: BulkWriteOptions
315
+ ): Promise<InsertManyResult<TSchema>> {
316
+ if (!Array.isArray(docs)) {
317
+ throw new MongoInvalidArgumentError('Argument "docs" must be an array of documents');
318
+ }
319
+ options = resolveOptions(this, options ?? {});
320
+
321
+ const acknowledged = WriteConcern.fromOptions(options)?.w !== 0;
322
+
323
+ try {
324
+ const res = await this.bulkWrite(
325
+ docs.map(doc => ({ insertOne: { document: doc } })),
326
+ options
327
+ );
328
+ return {
329
+ acknowledged,
330
+ insertedCount: res.insertedCount,
331
+ insertedIds: res.insertedIds
332
+ };
333
+ } catch (err) {
334
+ if (err && err.message === 'Operation must be an object with an operation key') {
335
+ throw new MongoInvalidArgumentError(
336
+ 'Collection.insertMany() cannot be called with an array that has null/undefined values'
337
+ );
338
+ }
339
+ throw err;
340
+ }
341
+ }
342
+
343
+ /**
344
+ * Perform a bulkWrite operation without a fluent API
345
+ *
346
+ * Legal operation types are
347
+ * - `insertOne`
348
+ * - `replaceOne`
349
+ * - `updateOne`
350
+ * - `updateMany`
351
+ * - `deleteOne`
352
+ * - `deleteMany`
353
+ *
354
+ * If documents passed in do not contain the **_id** field,
355
+ * one will be added to each of the documents missing it by the driver, mutating the document. This behavior
356
+ * can be overridden by setting the **forceServerObjectId** flag.
357
+ *
358
+ * @param operations - Bulk operations to perform
359
+ * @param options - Optional settings for the command
360
+ * @throws MongoDriverError if operations is not an array
361
+ */
362
+ async bulkWrite(
363
+ operations: ReadonlyArray<AnyBulkWriteOperation<TSchema>>,
364
+ options?: BulkWriteOptions
365
+ ): Promise<BulkWriteResult> {
366
+ if (!Array.isArray(operations)) {
367
+ throw new MongoInvalidArgumentError('Argument "operations" must be an array of documents');
368
+ }
369
+
370
+ options = resolveOptions(this, options ?? {});
371
+
372
+ // TODO(NODE-7071): remove once the client doesn't need to be connected to construct
373
+ // bulk operations
374
+ const isConnected = this.client.topology != null;
375
+ if (!isConnected) {
376
+ await autoConnect(this.client);
377
+ }
378
+
379
+ // Create the bulk operation
380
+ const bulk: BulkOperationBase =
381
+ options.ordered === false
382
+ ? this.initializeUnorderedBulkOp(options)
383
+ : this.initializeOrderedBulkOp(options);
384
+
385
+ // for each op go through and add to the bulk
386
+ for (const operation of operations) {
387
+ bulk.raw(operation);
388
+ }
389
+
390
+ // Execute the bulk
391
+ return await bulk.execute({ ...options });
392
+ }
393
+
394
+ /**
395
+ * Update a single document in a collection
396
+ *
397
+ * The value of `update` can be either:
398
+ * - UpdateFilter<TSchema> - A document that contains update operator expressions,
399
+ * - Document[] - an aggregation pipeline.
400
+ *
401
+ * @param filter - The filter used to select the document to update
402
+ * @param update - The modifications to apply
403
+ * @param options - Optional settings for the command
404
+ */
405
+ async updateOne(
406
+ filter: Filter<TSchema>,
407
+ update: UpdateFilter<TSchema> | Document[],
408
+ options?: UpdateOptions & { sort?: Sort }
409
+ ): Promise<UpdateResult<TSchema>> {
410
+ return await executeOperation(
411
+ this.client,
412
+ new UpdateOneOperation(this.s.namespace, filter, update, resolveOptions(this, options))
413
+ );
414
+ }
415
+
416
+ /**
417
+ * Replace a document in a collection with another document
418
+ *
419
+ * @param filter - The filter used to select the document to replace
420
+ * @param replacement - The Document that replaces the matching document
421
+ * @param options - Optional settings for the command
422
+ */
423
+ async replaceOne(
424
+ filter: Filter<TSchema>,
425
+ replacement: WithoutId<TSchema>,
426
+ options?: ReplaceOptions
427
+ ): Promise<UpdateResult<TSchema>> {
428
+ return await executeOperation(
429
+ this.client,
430
+ new ReplaceOneOperation(this.s.namespace, filter, replacement, resolveOptions(this, options))
431
+ );
432
+ }
433
+
434
+ /**
435
+ * Update multiple documents in a collection
436
+ *
437
+ * The value of `update` can be either:
438
+ * - UpdateFilter<TSchema> - A document that contains update operator expressions,
439
+ * - Document[] - an aggregation pipeline.
440
+ *
441
+ * @param filter - The filter used to select the document to update
442
+ * @param update - The modifications to apply
443
+ * @param options - Optional settings for the command
444
+ */
445
+ async updateMany(
446
+ filter: Filter<TSchema>,
447
+ update: UpdateFilter<TSchema> | Document[],
448
+ options?: UpdateOptions
449
+ ): Promise<UpdateResult<TSchema>> {
450
+ return await executeOperation(
451
+ this.client,
452
+ new UpdateManyOperation(this.s.namespace, filter, update, resolveOptions(this, options))
453
+ );
454
+ }
455
+
456
+ /**
457
+ * Delete a document from a collection
458
+ *
459
+ * @param filter - The filter used to select the document to remove
460
+ * @param options - Optional settings for the command
461
+ */
462
+ async deleteOne(
463
+ filter: Filter<TSchema> = {},
464
+ options: DeleteOptions = {}
465
+ ): Promise<DeleteResult> {
466
+ return await executeOperation(
467
+ this.client,
468
+ new DeleteOneOperation(this.s.namespace, filter, resolveOptions(this, options))
469
+ );
470
+ }
471
+
472
+ /**
473
+ * Delete multiple documents from a collection
474
+ *
475
+ * @param filter - The filter used to select the documents to remove
476
+ * @param options - Optional settings for the command
477
+ */
478
+ async deleteMany(
479
+ filter: Filter<TSchema> = {},
480
+ options: DeleteOptions = {}
481
+ ): Promise<DeleteResult> {
482
+ return await executeOperation(
483
+ this.client,
484
+ new DeleteManyOperation(this.s.namespace, filter, resolveOptions(this, options))
485
+ );
486
+ }
487
+
488
+ /**
489
+ * Rename the collection.
490
+ *
491
+ * @remarks
492
+ * This operation does not inherit options from the Db or MongoClient.
493
+ *
494
+ * @param newName - New name of of the collection.
495
+ * @param options - Optional settings for the command
496
+ */
497
+ async rename(newName: string, options?: RenameOptions): Promise<Collection> {
498
+ // Intentionally, we do not inherit options from parent for this operation.
499
+ return await executeOperation(
500
+ this.client,
501
+ new RenameOperation(
502
+ this as TODO_NODE_3286,
503
+ newName,
504
+ resolveOptions(undefined, {
505
+ ...options,
506
+ readPreference: ReadPreference.PRIMARY
507
+ })
508
+ )
509
+ );
510
+ }
511
+
512
+ /**
513
+ * Drop the collection from the database, removing it permanently. New accesses will create a new collection.
514
+ *
515
+ * @param options - Optional settings for the command
516
+ */
517
+ async drop(options?: DropCollectionOptions): Promise<boolean> {
518
+ return await this.db.dropCollection(this.collectionName, options);
519
+ }
520
+
521
+ /**
522
+ * Fetches the first document that matches the filter
523
+ *
524
+ * @param filter - Query for find Operation
525
+ * @param options - Optional settings for the command
526
+ */
527
+ async findOne(): Promise<WithId<TSchema> | null>;
528
+ async findOne(filter: Filter<TSchema>): Promise<WithId<TSchema> | null>;
529
+ async findOne(
530
+ filter: Filter<TSchema>,
531
+ options: Omit<FindOneOptions, 'timeoutMode'> & Abortable
532
+ ): Promise<WithId<TSchema> | null>;
533
+
534
+ // allow an override of the schema.
535
+ async findOne<T = TSchema>(): Promise<T | null>;
536
+ async findOne<T = TSchema>(filter: Filter<TSchema>): Promise<T | null>;
537
+ async findOne<T = TSchema>(
538
+ filter: Filter<TSchema>,
539
+ options?: Omit<FindOneOptions, 'timeoutMode'> & Abortable
540
+ ): Promise<T | null>;
541
+
542
+ async findOne(
543
+ filter: Filter<TSchema> = {},
544
+ options: Omit<FindOneOptions, 'timeoutMode'> & Abortable = {}
545
+ ): Promise<WithId<TSchema> | null> {
546
+ // Explicitly set the limit to 1 and singleBatch to true for all commands, per the spec.
547
+ // noCursorTimeout must be unset as well as batchSize.
548
+ // See: https://github.com/mongodb/specifications/blob/master/source/crud/crud.md#findone-api-details
549
+ const { ...opts } = options;
550
+ opts.singleBatch = true;
551
+ const cursor = this.find(filter, opts).limit(1);
552
+ const result = await cursor.next();
553
+ await cursor.close();
554
+ return result;
555
+ }
556
+
557
+ /**
558
+ * Creates a cursor for a filter that can be used to iterate over results from MongoDB
559
+ *
560
+ * @param filter - The filter predicate. If unspecified, then all documents in the collection will match the predicate
561
+ */
562
+ find(): FindCursor<WithId<TSchema>>;
563
+ find(filter: Filter<TSchema>, options?: FindOptions & Abortable): FindCursor<WithId<TSchema>>;
564
+ find<T extends Document>(
565
+ filter: Filter<TSchema>,
566
+ options?: FindOptions & Abortable
567
+ ): FindCursor<T>;
568
+ find(
569
+ filter: Filter<TSchema> = {},
570
+ options: FindOptions & Abortable = {}
571
+ ): FindCursor<WithId<TSchema>> {
572
+ return new FindCursor<WithId<TSchema>>(
573
+ this.client,
574
+ this.s.namespace,
575
+ filter,
576
+ resolveOptions(this, options)
577
+ );
578
+ }
579
+
580
+ /**
581
+ * Returns the options of the collection.
582
+ *
583
+ * @param options - Optional settings for the command
584
+ */
585
+ async options(options?: OperationOptions): Promise<Document> {
586
+ options = resolveOptions(this, options);
587
+ const [collection] = await this.db
588
+ .listCollections({ name: this.collectionName }, { ...options, nameOnly: false })
589
+ .toArray();
590
+
591
+ if (collection == null || collection.options == null) {
592
+ throw new MongoAPIError(`collection ${this.namespace} not found`);
593
+ }
594
+
595
+ return collection.options;
596
+ }
597
+
598
+ /**
599
+ * Returns if the collection is a capped collection
600
+ *
601
+ * @param options - Optional settings for the command
602
+ */
603
+ async isCapped(options?: OperationOptions): Promise<boolean> {
604
+ const { capped } = await this.options(options);
605
+ return Boolean(capped);
606
+ }
607
+
608
+ /**
609
+ * Creates an index on the db and collection collection.
610
+ *
611
+ * @param indexSpec - The field name or index specification to create an index for
612
+ * @param options - Optional settings for the command
613
+ *
614
+ * @example
615
+ * ```ts
616
+ * const collection = client.db('foo').collection('bar');
617
+ *
618
+ * await collection.createIndex({ a: 1, b: -1 });
619
+ *
620
+ * // Alternate syntax for { c: 1, d: -1 } that ensures order of indexes
621
+ * await collection.createIndex([ [c, 1], [d, -1] ]);
622
+ *
623
+ * // Equivalent to { e: 1 }
624
+ * await collection.createIndex('e');
625
+ *
626
+ * // Equivalent to { f: 1, g: 1 }
627
+ * await collection.createIndex(['f', 'g'])
628
+ *
629
+ * // Equivalent to { h: 1, i: -1 }
630
+ * await collection.createIndex([ { h: 1 }, { i: -1 } ]);
631
+ *
632
+ * // Equivalent to { j: 1, k: -1, l: 2d }
633
+ * await collection.createIndex(['j', ['k', -1], { l: '2d' }])
634
+ * ```
635
+ */
636
+ async createIndex(
637
+ indexSpec: IndexSpecification,
638
+ options?: CreateIndexesOptions
639
+ ): Promise<string> {
640
+ const indexes = await executeOperation(
641
+ this.client,
642
+ CreateIndexesOperation.fromIndexSpecification(
643
+ this,
644
+ this.collectionName,
645
+ indexSpec,
646
+ resolveOptions(this, options)
647
+ )
648
+ );
649
+
650
+ return indexes[0];
651
+ }
652
+
653
+ /**
654
+ * Creates multiple indexes in the collection, this method is only supported for
655
+ * MongoDB 2.6 or higher. Earlier version of MongoDB will throw a command not supported
656
+ * error.
657
+ *
658
+ * **Note**: Unlike {@link Collection#createIndex| createIndex}, this function takes in raw index specifications.
659
+ * Index specifications are defined {@link https://www.mongodb.com/docs/manual/reference/command/createIndexes/| here}.
660
+ *
661
+ * @param indexSpecs - An array of index specifications to be created
662
+ * @param options - Optional settings for the command
663
+ *
664
+ * @example
665
+ * ```ts
666
+ * const collection = client.db('foo').collection('bar');
667
+ * await collection.createIndexes([
668
+ * // Simple index on field fizz
669
+ * {
670
+ * key: { fizz: 1 },
671
+ * }
672
+ * // wildcard index
673
+ * {
674
+ * key: { '$**': 1 }
675
+ * },
676
+ * // named index on darmok and jalad
677
+ * {
678
+ * key: { darmok: 1, jalad: -1 }
679
+ * name: 'tanagra'
680
+ * }
681
+ * ]);
682
+ * ```
683
+ */
684
+ async createIndexes(
685
+ indexSpecs: IndexDescription[],
686
+ options?: CreateIndexesOptions
687
+ ): Promise<string[]> {
688
+ return await executeOperation(
689
+ this.client,
690
+ CreateIndexesOperation.fromIndexDescriptionArray(
691
+ this,
692
+ this.collectionName,
693
+ indexSpecs,
694
+ resolveOptions(this, { ...options, maxTimeMS: undefined })
695
+ )
696
+ );
697
+ }
698
+
699
+ /**
700
+ * Drops an index from this collection.
701
+ *
702
+ * @param indexName - Name of the index to drop.
703
+ * @param options - Optional settings for the command
704
+ */
705
+ async dropIndex(indexName: string, options?: DropIndexesOptions): Promise<Document> {
706
+ return await executeOperation(
707
+ this.client,
708
+ new DropIndexOperation(this as TODO_NODE_3286, indexName, {
709
+ ...resolveOptions(this, options),
710
+ readPreference: ReadPreference.primary
711
+ })
712
+ );
713
+ }
714
+
715
+ /**
716
+ * Drops all indexes from this collection.
717
+ *
718
+ * @param options - Optional settings for the command
719
+ */
720
+ async dropIndexes(options?: DropIndexesOptions): Promise<boolean> {
721
+ try {
722
+ await executeOperation(
723
+ this.client,
724
+ new DropIndexOperation(this as TODO_NODE_3286, '*', resolveOptions(this, options))
725
+ );
726
+ return true;
727
+ } catch (error) {
728
+ // TODO(NODE-6517): Driver should only filter for namespace not found error. Other errors should be thrown.
729
+ if (error instanceof MongoOperationTimeoutError) throw error;
730
+ return false;
731
+ }
732
+ }
733
+
734
+ /**
735
+ * Get the list of all indexes information for the collection.
736
+ *
737
+ * @param options - Optional settings for the command
738
+ */
739
+ listIndexes(options?: ListIndexesOptions): ListIndexesCursor {
740
+ return new ListIndexesCursor(this as TODO_NODE_3286, resolveOptions(this, options));
741
+ }
742
+
743
+ /**
744
+ * Checks if one or more indexes exist on the collection, fails on first non-existing index
745
+ *
746
+ * @param indexes - One or more index names to check.
747
+ * @param options - Optional settings for the command
748
+ */
749
+ async indexExists(indexes: string | string[], options?: ListIndexesOptions): Promise<boolean> {
750
+ const indexNames: string[] = Array.isArray(indexes) ? indexes : [indexes];
751
+ const allIndexes: Set<string> = new Set(
752
+ await this.listIndexes(options)
753
+ .map(({ name }) => name)
754
+ .toArray()
755
+ );
756
+ return indexNames.every(name => allIndexes.has(name));
757
+ }
758
+
759
+ /**
760
+ * Retrieves this collections index info.
761
+ *
762
+ * @param options - Optional settings for the command
763
+ */
764
+ indexInformation(
765
+ options: IndexInformationOptions & { full: true }
766
+ ): Promise<IndexDescriptionInfo[]>;
767
+ indexInformation(
768
+ options: IndexInformationOptions & { full?: false }
769
+ ): Promise<IndexDescriptionCompact>;
770
+ indexInformation(
771
+ options: IndexInformationOptions
772
+ ): Promise<IndexDescriptionCompact | IndexDescriptionInfo[]>;
773
+ indexInformation(): Promise<IndexDescriptionCompact>;
774
+ async indexInformation(
775
+ options?: IndexInformationOptions
776
+ ): Promise<IndexDescriptionCompact | IndexDescriptionInfo[]> {
777
+ return await this.indexes({
778
+ ...options,
779
+ full: options?.full ?? false
780
+ });
781
+ }
782
+
783
+ /**
784
+ * Gets an estimate of the count of documents in a collection using collection metadata.
785
+ * This will always run a count command on all server versions.
786
+ *
787
+ * due to an oversight in versions 5.0.0-5.0.8 of MongoDB, the count command,
788
+ * which estimatedDocumentCount uses in its implementation, was not included in v1 of
789
+ * the Stable API, and so users of the Stable API with estimatedDocumentCount are
790
+ * recommended to upgrade their server version to 5.0.9+ or set apiStrict: false to avoid
791
+ * encountering errors.
792
+ *
793
+ * @see {@link https://www.mongodb.com/docs/manual/reference/command/count/#behavior|Count: Behavior}
794
+ * @param options - Optional settings for the command
795
+ */
796
+ async estimatedDocumentCount(options?: EstimatedDocumentCountOptions): Promise<number> {
797
+ return await executeOperation(
798
+ this.client,
799
+ new EstimatedDocumentCountOperation(this as TODO_NODE_3286, resolveOptions(this, options))
800
+ );
801
+ }
802
+
803
+ /**
804
+ * Gets the number of documents matching the filter.
805
+ * For a fast count of the total documents in a collection see {@link Collection#estimatedDocumentCount| estimatedDocumentCount}.
806
+ *
807
+ * Due to countDocuments using the $match aggregation pipeline stage, certain query operators cannot be used in countDocuments. This includes the $where and $near query operators, among others. Details can be found in the documentation for the $match aggregation pipeline stage.
808
+ *
809
+ * **Note**: When migrating from {@link Collection#count| count} to {@link Collection#countDocuments| countDocuments}
810
+ * the following query operators must be replaced:
811
+ *
812
+ * | Operator | Replacement |
813
+ * | -------- | ----------- |
814
+ * | `$where` | [`$expr`][1] |
815
+ * | `$near` | [`$geoWithin`][2] with [`$center`][3] |
816
+ * | `$nearSphere` | [`$geoWithin`][2] with [`$centerSphere`][4] |
817
+ *
818
+ * [1]: https://www.mongodb.com/docs/manual/reference/operator/query/expr/
819
+ * [2]: https://www.mongodb.com/docs/manual/reference/operator/query/geoWithin/
820
+ * [3]: https://www.mongodb.com/docs/manual/reference/operator/query/center/#op._S_center
821
+ * [4]: https://www.mongodb.com/docs/manual/reference/operator/query/centerSphere/#op._S_centerSphere
822
+ *
823
+ * @param filter - The filter for the count
824
+ * @param options - Optional settings for the command
825
+ *
826
+ * @see https://www.mongodb.com/docs/manual/reference/operator/query/expr/
827
+ * @see https://www.mongodb.com/docs/manual/reference/operator/query/geoWithin/
828
+ * @see https://www.mongodb.com/docs/manual/reference/operator/query/center/#op._S_center
829
+ * @see https://www.mongodb.com/docs/manual/reference/operator/query/centerSphere/#op._S_centerSphere
830
+ */
831
+ async countDocuments(
832
+ filter: Filter<TSchema> = {},
833
+ options: CountDocumentsOptions & Abortable = {}
834
+ ): Promise<number> {
835
+ const pipeline = [];
836
+ pipeline.push({ $match: filter });
837
+
838
+ if (typeof options.skip === 'number') {
839
+ pipeline.push({ $skip: options.skip });
840
+ }
841
+
842
+ if (typeof options.limit === 'number') {
843
+ pipeline.push({ $limit: options.limit });
844
+ }
845
+
846
+ pipeline.push({ $group: { _id: 1, n: { $sum: 1 } } });
847
+
848
+ const cursor = this.aggregate<{ n: number }>(pipeline, options);
849
+ const doc = await cursor.next();
850
+ await cursor.close();
851
+ return doc?.n ?? 0;
852
+ }
853
+
854
+ /**
855
+ * The distinct command returns a list of distinct values for the given key across a collection.
856
+ *
857
+ * @param key - Field of the document to find distinct values for
858
+ * @param filter - The filter for filtering the set of documents to which we apply the distinct filter.
859
+ * @param options - Optional settings for the command
860
+ */
861
+ distinct<Key extends keyof WithId<TSchema>>(
862
+ key: Key
863
+ ): Promise<Array<Flatten<WithId<TSchema>[Key]>>>;
864
+ distinct<Key extends keyof WithId<TSchema>>(
865
+ key: Key,
866
+ filter: Filter<TSchema>
867
+ ): Promise<Array<Flatten<WithId<TSchema>[Key]>>>;
868
+ distinct<Key extends keyof WithId<TSchema>>(
869
+ key: Key,
870
+ filter: Filter<TSchema>,
871
+ options: DistinctOptions
872
+ ): Promise<Array<Flatten<WithId<TSchema>[Key]>>>;
873
+ distinct<Key extends keyof WithId<TSchema>>(
874
+ key: Key,
875
+ filter: Filter<TSchema>,
876
+ options: DistinctOptions & { explain: ExplainVerbosityLike | ExplainCommandOptions }
877
+ ): Promise<Document>;
878
+
879
+ // Embedded documents overload
880
+ distinct(key: string): Promise<any[]>;
881
+ distinct(key: string, filter: Filter<TSchema>): Promise<any[]>;
882
+ distinct(key: string, filter: Filter<TSchema>, options: DistinctOptions): Promise<any[]>;
883
+
884
+ async distinct<Key extends keyof WithId<TSchema>>(
885
+ key: Key,
886
+ filter: Filter<TSchema> = {},
887
+ options: DistinctOptions = {}
888
+ ): Promise<any[]> {
889
+ return await executeOperation(
890
+ this.client,
891
+ new DistinctOperation(
892
+ this as TODO_NODE_3286,
893
+ key as TODO_NODE_3286,
894
+ filter,
895
+ resolveOptions(this, options)
896
+ )
897
+ );
898
+ }
899
+
900
+ /**
901
+ * Retrieve all the indexes on the collection.
902
+ *
903
+ * @param options - Optional settings for the command
904
+ */
905
+ indexes(options: IndexInformationOptions & { full?: true }): Promise<IndexDescriptionInfo[]>;
906
+ indexes(options: IndexInformationOptions & { full: false }): Promise<IndexDescriptionCompact>;
907
+ indexes(
908
+ options: IndexInformationOptions
909
+ ): Promise<IndexDescriptionCompact | IndexDescriptionInfo[]>;
910
+ indexes(options?: ListIndexesOptions): Promise<IndexDescriptionInfo[]>;
911
+ async indexes(
912
+ options?: IndexInformationOptions
913
+ ): Promise<IndexDescriptionCompact | IndexDescriptionInfo[]> {
914
+ const indexes: IndexDescriptionInfo[] = await this.listIndexes(options).toArray();
915
+ const full = options?.full ?? true;
916
+ if (full) {
917
+ return indexes;
918
+ }
919
+
920
+ const object: IndexDescriptionCompact = Object.fromEntries(
921
+ indexes.map(({ name, key }) => [name, Object.entries(key)])
922
+ );
923
+
924
+ return object;
925
+ }
926
+
927
+ /**
928
+ * Find a document and delete it in one atomic operation. Requires a write lock for the duration of the operation.
929
+ *
930
+ * @param filter - The filter used to select the document to remove
931
+ * @param options - Optional settings for the command
932
+ */
933
+ async findOneAndDelete(
934
+ filter: Filter<TSchema>,
935
+ options: FindOneAndDeleteOptions & { includeResultMetadata: true }
936
+ ): Promise<ModifyResult<TSchema>>;
937
+ async findOneAndDelete(
938
+ filter: Filter<TSchema>,
939
+ options: FindOneAndDeleteOptions & { includeResultMetadata: false }
940
+ ): Promise<WithId<TSchema> | null>;
941
+ async findOneAndDelete(
942
+ filter: Filter<TSchema>,
943
+ options: FindOneAndDeleteOptions
944
+ ): Promise<WithId<TSchema> | null>;
945
+ async findOneAndDelete(filter: Filter<TSchema>): Promise<WithId<TSchema> | null>;
946
+ async findOneAndDelete(
947
+ filter: Filter<TSchema>,
948
+ options?: FindOneAndDeleteOptions
949
+ ): Promise<WithId<TSchema> | ModifyResult<TSchema> | null> {
950
+ return await executeOperation(
951
+ this.client,
952
+ new FindOneAndDeleteOperation(
953
+ this as TODO_NODE_3286,
954
+ filter,
955
+ resolveOptions(this, options)
956
+ ) as TODO_NODE_3286
957
+ );
958
+ }
959
+
960
+ /**
961
+ * Find a document and replace it in one atomic operation. Requires a write lock for the duration of the operation.
962
+ *
963
+ * @param filter - The filter used to select the document to replace
964
+ * @param replacement - The Document that replaces the matching document
965
+ * @param options - Optional settings for the command
966
+ */
967
+ async findOneAndReplace(
968
+ filter: Filter<TSchema>,
969
+ replacement: WithoutId<TSchema>,
970
+ options: FindOneAndReplaceOptions & { includeResultMetadata: true }
971
+ ): Promise<ModifyResult<TSchema>>;
972
+ async findOneAndReplace(
973
+ filter: Filter<TSchema>,
974
+ replacement: WithoutId<TSchema>,
975
+ options: FindOneAndReplaceOptions & { includeResultMetadata: false }
976
+ ): Promise<WithId<TSchema> | null>;
977
+ async findOneAndReplace(
978
+ filter: Filter<TSchema>,
979
+ replacement: WithoutId<TSchema>,
980
+ options: FindOneAndReplaceOptions
981
+ ): Promise<WithId<TSchema> | null>;
982
+ async findOneAndReplace(
983
+ filter: Filter<TSchema>,
984
+ replacement: WithoutId<TSchema>
985
+ ): Promise<WithId<TSchema> | null>;
986
+ async findOneAndReplace(
987
+ filter: Filter<TSchema>,
988
+ replacement: WithoutId<TSchema>,
989
+ options?: FindOneAndReplaceOptions
990
+ ): Promise<WithId<TSchema> | ModifyResult<TSchema> | null> {
991
+ return await executeOperation(
992
+ this.client,
993
+ new FindOneAndReplaceOperation(
994
+ this as TODO_NODE_3286,
995
+ filter,
996
+ replacement,
997
+ resolveOptions(this, options)
998
+ ) as TODO_NODE_3286
999
+ );
1000
+ }
1001
+
1002
+ /**
1003
+ * Find a document and update it in one atomic operation. Requires a write lock for the duration of the operation.
1004
+ *
1005
+ * The value of `update` can be either:
1006
+ * - UpdateFilter<TSchema> - A document that contains update operator expressions,
1007
+ * - Document[] - an aggregation pipeline consisting of the following stages:
1008
+ * - $addFields and its alias $set
1009
+ * - $project and its alias $unset
1010
+ * - $replaceRoot and its alias $replaceWith.
1011
+ * See the [findAndModify command documentation](https://www.mongodb.com/docs/manual/reference/command/findAndModify) for details.
1012
+ *
1013
+ * @param filter - The filter used to select the document to update
1014
+ * @param update - The modifications to apply
1015
+ * @param options - Optional settings for the command
1016
+ */
1017
+ async findOneAndUpdate(
1018
+ filter: Filter<TSchema>,
1019
+ update: UpdateFilter<TSchema> | Document[],
1020
+ options: FindOneAndUpdateOptions & { includeResultMetadata: true }
1021
+ ): Promise<ModifyResult<TSchema>>;
1022
+ async findOneAndUpdate(
1023
+ filter: Filter<TSchema>,
1024
+ update: UpdateFilter<TSchema> | Document[],
1025
+ options: FindOneAndUpdateOptions & { includeResultMetadata: false }
1026
+ ): Promise<WithId<TSchema> | null>;
1027
+ async findOneAndUpdate(
1028
+ filter: Filter<TSchema>,
1029
+ update: UpdateFilter<TSchema> | Document[],
1030
+ options: FindOneAndUpdateOptions
1031
+ ): Promise<WithId<TSchema> | null>;
1032
+ async findOneAndUpdate(
1033
+ filter: Filter<TSchema>,
1034
+ update: UpdateFilter<TSchema> | Document[]
1035
+ ): Promise<WithId<TSchema> | null>;
1036
+ async findOneAndUpdate(
1037
+ filter: Filter<TSchema>,
1038
+ update: UpdateFilter<TSchema> | Document[],
1039
+ options?: FindOneAndUpdateOptions
1040
+ ): Promise<WithId<TSchema> | ModifyResult<TSchema> | null> {
1041
+ return await executeOperation(
1042
+ this.client,
1043
+ new FindOneAndUpdateOperation(
1044
+ this as TODO_NODE_3286,
1045
+ filter,
1046
+ update,
1047
+ resolveOptions(this, options)
1048
+ ) as TODO_NODE_3286
1049
+ );
1050
+ }
1051
+
1052
+ /**
1053
+ * Execute an aggregation framework pipeline against the collection, needs MongoDB \>= 2.2
1054
+ *
1055
+ * @param pipeline - An array of aggregation pipelines to execute
1056
+ * @param options - Optional settings for the command
1057
+ */
1058
+ aggregate<T extends Document = Document>(
1059
+ pipeline: Document[] = [],
1060
+ options?: AggregateOptions & Abortable
1061
+ ): AggregationCursor<T> {
1062
+ if (!Array.isArray(pipeline)) {
1063
+ throw new MongoInvalidArgumentError(
1064
+ 'Argument "pipeline" must be an array of aggregation stages'
1065
+ );
1066
+ }
1067
+
1068
+ return new AggregationCursor(
1069
+ this.client,
1070
+ this.s.namespace,
1071
+ pipeline,
1072
+ resolveOptions(this, options)
1073
+ );
1074
+ }
1075
+
1076
+ /**
1077
+ * Create a new Change Stream, watching for new changes (insertions, updates, replacements, deletions, and invalidations) in this collection.
1078
+ *
1079
+ * @remarks
1080
+ * watch() accepts two generic arguments for distinct use cases:
1081
+ * - The first is to override the schema that may be defined for this specific collection
1082
+ * - The second is to override the shape of the change stream document entirely, if it is not provided the type will default to ChangeStreamDocument of the first argument
1083
+ * @example
1084
+ * By just providing the first argument I can type the change to be `ChangeStreamDocument<{ _id: number }>`
1085
+ * ```ts
1086
+ * collection.watch<{ _id: number }>()
1087
+ * .on('change', change => console.log(change._id.toFixed(4)));
1088
+ * ```
1089
+ *
1090
+ * @example
1091
+ * Passing a second argument provides a way to reflect the type changes caused by an advanced pipeline.
1092
+ * Here, we are using a pipeline to have MongoDB filter for insert changes only and add a comment.
1093
+ * No need start from scratch on the ChangeStreamInsertDocument type!
1094
+ * By using an intersection we can save time and ensure defaults remain the same type!
1095
+ * ```ts
1096
+ * collection
1097
+ * .watch<Schema, ChangeStreamInsertDocument<Schema> & { comment: string }>([
1098
+ * { $addFields: { comment: 'big changes' } },
1099
+ * { $match: { operationType: 'insert' } }
1100
+ * ])
1101
+ * .on('change', change => {
1102
+ * change.comment.startsWith('big');
1103
+ * change.operationType === 'insert';
1104
+ * // No need to narrow in code because the generics did that for us!
1105
+ * expectType<Schema>(change.fullDocument);
1106
+ * });
1107
+ * ```
1108
+ *
1109
+ * @remarks
1110
+ * When `timeoutMS` is configured for a change stream, it will have different behaviour depending
1111
+ * on whether the change stream is in iterator mode or emitter mode. In both cases, a change
1112
+ * stream will time out if it does not receive a change event within `timeoutMS` of the last change
1113
+ * event.
1114
+ *
1115
+ * Note that if a change stream is consistently timing out when watching a collection, database or
1116
+ * client that is being changed, then this may be due to the server timing out before it can finish
1117
+ * processing the existing oplog. To address this, restart the change stream with a higher
1118
+ * `timeoutMS`.
1119
+ *
1120
+ * If the change stream times out the initial aggregate operation to establish the change stream on
1121
+ * the server, then the client will close the change stream. If the getMore calls to the server
1122
+ * time out, then the change stream will be left open, but will throw a MongoOperationTimeoutError
1123
+ * when in iterator mode and emit an error event that returns a MongoOperationTimeoutError in
1124
+ * emitter mode.
1125
+ *
1126
+ * To determine whether or not the change stream is still open following a timeout, check the
1127
+ * {@link ChangeStream.closed} getter.
1128
+ *
1129
+ * @example
1130
+ * In iterator mode, if a next() call throws a timeout error, it will attempt to resume the change stream.
1131
+ * The next call can just be retried after this succeeds.
1132
+ * ```ts
1133
+ * const changeStream = collection.watch([], { timeoutMS: 100 });
1134
+ * try {
1135
+ * await changeStream.next();
1136
+ * } catch (e) {
1137
+ * if (e instanceof MongoOperationTimeoutError && !changeStream.closed) {
1138
+ * await changeStream.next();
1139
+ * }
1140
+ * throw e;
1141
+ * }
1142
+ * ```
1143
+ *
1144
+ * @example
1145
+ * In emitter mode, if the change stream goes `timeoutMS` without emitting a change event, it will
1146
+ * emit an error event that returns a MongoOperationTimeoutError, but will not close the change
1147
+ * stream unless the resume attempt fails. There is no need to re-establish change listeners as
1148
+ * this will automatically continue emitting change events once the resume attempt completes.
1149
+ *
1150
+ * ```ts
1151
+ * const changeStream = collection.watch([], { timeoutMS: 100 });
1152
+ * changeStream.on('change', console.log);
1153
+ * changeStream.on('error', e => {
1154
+ * if (e instanceof MongoOperationTimeoutError && !changeStream.closed) {
1155
+ * // do nothing
1156
+ * } else {
1157
+ * changeStream.close();
1158
+ * }
1159
+ * });
1160
+ * ```
1161
+ *
1162
+ * @param pipeline - An array of {@link https://www.mongodb.com/docs/manual/reference/operator/aggregation-pipeline/|aggregation pipeline stages} through which to pass change stream documents. This allows for filtering (using $match) and manipulating the change stream documents.
1163
+ * @param options - Optional settings for the command
1164
+ * @typeParam TLocal - Type of the data being detected by the change stream
1165
+ * @typeParam TChange - Type of the whole change stream document emitted
1166
+ */
1167
+ watch<TLocal extends Document = TSchema, TChange extends Document = ChangeStreamDocument<TLocal>>(
1168
+ pipeline: Document[] = [],
1169
+ options: ChangeStreamOptions = {}
1170
+ ): ChangeStream<TLocal, TChange> {
1171
+ // Allow optionally not specifying a pipeline
1172
+ if (!Array.isArray(pipeline)) {
1173
+ options = pipeline;
1174
+ pipeline = [];
1175
+ }
1176
+
1177
+ return new ChangeStream<TLocal, TChange>(this, pipeline, resolveOptions(this, options));
1178
+ }
1179
+
1180
+ /**
1181
+ * Initiate an Out of order batch write operation. All operations will be buffered into insert/update/remove commands executed out of order.
1182
+ *
1183
+ * @throws MongoNotConnectedError
1184
+ * @remarks
1185
+ * **NOTE:** MongoClient must be connected prior to calling this method due to a known limitation in this legacy implementation.
1186
+ * However, `collection.bulkWrite()` provides an equivalent API that does not require prior connecting.
1187
+ */
1188
+ initializeUnorderedBulkOp(options?: BulkWriteOptions): UnorderedBulkOperation {
1189
+ return new UnorderedBulkOperation(this as TODO_NODE_3286, resolveOptions(this, options));
1190
+ }
1191
+
1192
+ /**
1193
+ * Initiate an In order bulk write operation. Operations will be serially executed in the order they are added, creating a new operation for each switch in types.
1194
+ *
1195
+ * @throws MongoNotConnectedError
1196
+ * @remarks
1197
+ * **NOTE:** MongoClient must be connected prior to calling this method due to a known limitation in this legacy implementation.
1198
+ * However, `collection.bulkWrite()` provides an equivalent API that does not require prior connecting.
1199
+ */
1200
+ initializeOrderedBulkOp(options?: BulkWriteOptions): OrderedBulkOperation {
1201
+ return new OrderedBulkOperation(this as TODO_NODE_3286, resolveOptions(this, options));
1202
+ }
1203
+
1204
+ /**
1205
+ * An estimated count of matching documents in the db to a filter.
1206
+ *
1207
+ * **NOTE:** This method has been deprecated, since it does not provide an accurate count of the documents
1208
+ * in a collection. To obtain an accurate count of documents in the collection, use {@link Collection#countDocuments| countDocuments}.
1209
+ * To obtain an estimated count of all documents in the collection, use {@link Collection#estimatedDocumentCount| estimatedDocumentCount}.
1210
+ *
1211
+ * @deprecated use {@link Collection#countDocuments| countDocuments} or {@link Collection#estimatedDocumentCount| estimatedDocumentCount} instead
1212
+ *
1213
+ * @param filter - The filter for the count.
1214
+ * @param options - Optional settings for the command
1215
+ */
1216
+ async count(filter: Filter<TSchema> = {}, options: CountOptions = {}): Promise<number> {
1217
+ return await executeOperation(
1218
+ this.client,
1219
+ new CountOperation(this.fullNamespace, filter, resolveOptions(this, options))
1220
+ );
1221
+ }
1222
+
1223
+ /**
1224
+ * Returns all search indexes for the current collection.
1225
+ *
1226
+ * @param options - The options for the list indexes operation.
1227
+ *
1228
+ * @remarks Only available when used against a 7.0+ Atlas cluster.
1229
+ */
1230
+ listSearchIndexes(options?: ListSearchIndexesOptions): ListSearchIndexesCursor;
1231
+ /**
1232
+ * Returns all search indexes for the current collection.
1233
+ *
1234
+ * @param name - The name of the index to search for. Only indexes with matching index names will be returned.
1235
+ * @param options - The options for the list indexes operation.
1236
+ *
1237
+ * @remarks Only available when used against a 7.0+ Atlas cluster.
1238
+ */
1239
+ listSearchIndexes(name: string, options?: ListSearchIndexesOptions): ListSearchIndexesCursor;
1240
+ listSearchIndexes(
1241
+ indexNameOrOptions?: string | ListSearchIndexesOptions,
1242
+ options?: ListSearchIndexesOptions
1243
+ ): ListSearchIndexesCursor {
1244
+ options =
1245
+ typeof indexNameOrOptions === 'object' ? indexNameOrOptions : options == null ? {} : options;
1246
+
1247
+ const indexName =
1248
+ indexNameOrOptions == null
1249
+ ? null
1250
+ : typeof indexNameOrOptions === 'object'
1251
+ ? null
1252
+ : indexNameOrOptions;
1253
+
1254
+ return new ListSearchIndexesCursor(this as TODO_NODE_3286, indexName, options);
1255
+ }
1256
+
1257
+ /**
1258
+ * Creates a single search index for the collection.
1259
+ *
1260
+ * @param description - The index description for the new search index.
1261
+ * @returns A promise that resolves to the name of the new search index.
1262
+ *
1263
+ * @remarks Only available when used against a 7.0+ Atlas cluster.
1264
+ */
1265
+ async createSearchIndex(description: SearchIndexDescription): Promise<string> {
1266
+ const [index] = await this.createSearchIndexes([description]);
1267
+ return index;
1268
+ }
1269
+
1270
+ /**
1271
+ * Creates multiple search indexes for the current collection.
1272
+ *
1273
+ * @param descriptions - An array of `SearchIndexDescription`s for the new search indexes.
1274
+ * @returns A promise that resolves to an array of the newly created search index names.
1275
+ *
1276
+ * @remarks Only available when used against a 7.0+ Atlas cluster.
1277
+ * @returns
1278
+ */
1279
+ async createSearchIndexes(descriptions: SearchIndexDescription[]): Promise<string[]> {
1280
+ return await executeOperation(
1281
+ this.client,
1282
+ new CreateSearchIndexesOperation(this as TODO_NODE_3286, descriptions)
1283
+ );
1284
+ }
1285
+
1286
+ /**
1287
+ * Deletes a search index by index name.
1288
+ *
1289
+ * @param name - The name of the search index to be deleted.
1290
+ *
1291
+ * @remarks Only available when used against a 7.0+ Atlas cluster.
1292
+ */
1293
+ async dropSearchIndex(name: string): Promise<void> {
1294
+ return await executeOperation(
1295
+ this.client,
1296
+ new DropSearchIndexOperation(this as TODO_NODE_3286, name)
1297
+ );
1298
+ }
1299
+
1300
+ /**
1301
+ * Updates a search index by replacing the existing index definition with the provided definition.
1302
+ *
1303
+ * @param name - The name of the search index to update.
1304
+ * @param definition - The new search index definition.
1305
+ *
1306
+ * @remarks Only available when used against a 7.0+ Atlas cluster.
1307
+ */
1308
+ async updateSearchIndex(name: string, definition: Document): Promise<void> {
1309
+ return await executeOperation(
1310
+ this.client,
1311
+ new UpdateSearchIndexOperation(this as TODO_NODE_3286, name, definition)
1312
+ );
1313
+ }
1314
+ }