@@ -62,7 +62,10 @@ declare module 'mongoose' {
62
62
export function get < K extends keyof MongooseOptions > ( key : K ) : MongooseOptions [ K ] ;
63
63
64
64
/* ! ignore */
65
- export type CompileModelOptions = { overwriteModels ?: boolean , connection ?: Connection } ;
65
+ export type CompileModelOptions = {
66
+ overwriteModels ?: boolean ,
67
+ connection ?: Connection
68
+ } ;
66
69
67
70
export function model < TSchema extends Schema = any > (
68
71
name : string ,
@@ -113,10 +116,6 @@ declare module 'mongoose' {
113
116
? IfAny < U , T & { _id : Types . ObjectId } , T & Required < { _id : U } > >
114
117
: T & { _id : Types . ObjectId } ;
115
118
116
- export type RequireOnlyTypedId < T > = T extends { _id ?: infer U ; }
117
- ? Required < { _id : U } >
118
- : { _id : Types . ObjectId } ;
119
-
120
119
export type HydratedDocument < DocType , TMethodsAndOverrides = { } , TVirtuals = { } > = DocType extends Document ? Require_id < DocType > : ( Document < unknown , any , DocType > & Require_id < DocType > & TVirtuals & TMethodsAndOverrides ) ;
121
120
122
121
export interface TagSet {
@@ -196,7 +195,7 @@ declare module 'mongoose' {
196
195
/** Returns a copy of this schema */
197
196
clone < T = this> ( ) : T ;
198
197
199
- discriminator < T extends Schema = Schema > ( name : string , schema : T ) : DiscriminatorSchema < DocType , M , TInstanceMethods , TQueryHelpers , TVirtuals , T > ;
198
+ discriminator < T = Schema > ( name : string , schema : T ) : DiscriminatorSchema < DocType , M , TInstanceMethods , TQueryHelpers , TVirtuals , T > ;
200
199
201
200
/** Returns a new schema that has the picked `paths` from this schema. */
202
201
pick < T = this> ( paths : string [ ] , options ?: SchemaOptions ) : T ;
@@ -257,17 +256,17 @@ declare module 'mongoose' {
257
256
/** Defines a post hook for the model. */
258
257
post < T = HydratedDocument < DocType , TInstanceMethods > > ( method : MongooseDocumentMiddleware | MongooseDocumentMiddleware [ ] | RegExp , fn : PostMiddlewareFunction < T , T > ) : this;
259
258
post < T = HydratedDocument < DocType , TInstanceMethods > > ( method : MongooseDocumentMiddleware | MongooseDocumentMiddleware [ ] | RegExp , options : SchemaPostOptions , fn : PostMiddlewareFunction < T , T > ) : this;
260
- post < T extends Query < any , any > > ( method : MongooseQueryMiddleware | MongooseQueryMiddleware [ ] | string | RegExp , fn : PostMiddlewareFunction < T , QueryResultType < T > > ) : this;
261
- post < T extends Query < any , any > > ( method : MongooseQueryMiddleware | MongooseQueryMiddleware [ ] | string | RegExp , options : SchemaPostOptions , fn : PostMiddlewareFunction < T , QueryResultType < T > > ) : this;
259
+ post < T = Query < any , any > > ( method : MongooseQueryMiddleware | MongooseQueryMiddleware [ ] | RegExp , fn : PostMiddlewareFunction < T , QueryResultType < T > > ) : this;
260
+ post < T = Query < any , any > > ( method : MongooseQueryMiddleware | MongooseQueryMiddleware [ ] | RegExp , options : SchemaPostOptions , fn : PostMiddlewareFunction < T , QueryResultType < T > > ) : this;
262
261
post < T extends Aggregate < any > > ( method : 'aggregate' | RegExp , fn : PostMiddlewareFunction < T , Array < AggregateExtract < T > > > ) : this;
263
262
post < T extends Aggregate < any > > ( method : 'aggregate' | RegExp , options : SchemaPostOptions , fn : PostMiddlewareFunction < T , Array < AggregateExtract < T > > > ) : this;
264
263
post < T = M > ( method : 'insertMany' | RegExp , fn : PostMiddlewareFunction < T , T > ) : this;
265
264
post < T = M > ( method : 'insertMany' | RegExp , options : SchemaPostOptions , fn : PostMiddlewareFunction < T , T > ) : this;
266
265
267
266
post < T = HydratedDocument < DocType , TInstanceMethods > > ( method : MongooseDocumentMiddleware | MongooseDocumentMiddleware [ ] | RegExp , fn : ErrorHandlingMiddlewareFunction < T > ) : this;
268
267
post < T = HydratedDocument < DocType , TInstanceMethods > > ( method : MongooseDocumentMiddleware | MongooseDocumentMiddleware [ ] | RegExp , options : SchemaPostOptions , fn : ErrorHandlingMiddlewareFunction < T > ) : this;
269
- post < T extends Query < any , any > > ( method : MongooseQueryMiddleware | MongooseQueryMiddleware [ ] | string | RegExp , fn : ErrorHandlingMiddlewareFunction < T > ) : this;
270
- post < T extends Query < any , any > > ( method : MongooseQueryMiddleware | MongooseQueryMiddleware [ ] | string | RegExp , options : SchemaPostOptions , fn : ErrorHandlingMiddlewareFunction < T > ) : this;
268
+ post < T = Query < any , any > > ( method : MongooseQueryMiddleware | MongooseQueryMiddleware [ ] | RegExp , fn : ErrorHandlingMiddlewareFunction < T > ) : this;
269
+ post < T = Query < any , any > > ( method : MongooseQueryMiddleware | MongooseQueryMiddleware [ ] | RegExp , options : SchemaPostOptions , fn : ErrorHandlingMiddlewareFunction < T > ) : this;
271
270
post < T extends Aggregate < any > > ( method : 'aggregate' | RegExp , fn : ErrorHandlingMiddlewareFunction < T , Array < any > > ) : this;
272
271
post < T extends Aggregate < any > > ( method : 'aggregate' | RegExp , options : SchemaPostOptions , fn : ErrorHandlingMiddlewareFunction < T , Array < any > > ) : this;
273
272
post < T = M > ( method : 'insertMany' | RegExp , fn : ErrorHandlingMiddlewareFunction < T > ) : this;
@@ -278,9 +277,8 @@ declare module 'mongoose' {
278
277
pre < T = HydratedDocument < DocType , TInstanceMethods > > ( method : 'save' , options : SchemaPreOptions , fn : PreSaveMiddlewareFunction < T > ) : this;
279
278
pre < T = HydratedDocument < DocType , TInstanceMethods > > ( method : MongooseDocumentMiddleware | MongooseDocumentMiddleware [ ] | RegExp , fn : PreMiddlewareFunction < T > ) : this;
280
279
pre < T = HydratedDocument < DocType , TInstanceMethods > > ( method : MongooseDocumentMiddleware | MongooseDocumentMiddleware [ ] | RegExp , options : SchemaPreOptions , fn : PreMiddlewareFunction < T > ) : this;
281
- pre < T extends Query < any , any > > ( method : MongooseDocumentMiddleware | MongooseDocumentMiddleware [ ] | RegExp , options : SchemaPreOptions , fn : PreMiddlewareFunction < T > ) : this;
282
- pre < T extends Query < any , any > > ( method : MongooseQueryMiddleware | MongooseQueryMiddleware [ ] | string | RegExp , fn : PreMiddlewareFunction < T > ) : this;
283
- pre < T extends Query < any , any > > ( method : MongooseQueryMiddleware | MongooseQueryMiddleware [ ] | string | RegExp , options : SchemaPreOptions , fn : PreMiddlewareFunction < T > ) : this;
280
+ pre < T = Query < any , any > > ( method : MongooseQueryMiddleware | MongooseQueryMiddleware [ ] | RegExp , fn : PreMiddlewareFunction < T > ) : this;
281
+ pre < T = Query < any , any > > ( method : MongooseQueryMiddleware | MongooseQueryMiddleware [ ] | RegExp , options : SchemaPreOptions , fn : PreMiddlewareFunction < T > ) : this;
284
282
pre < T extends Aggregate < any > > ( method : 'aggregate' | RegExp , fn : PreMiddlewareFunction < T > ) : this;
285
283
pre < T extends Aggregate < any > > ( method : 'aggregate' | RegExp , options : SchemaPreOptions , fn : PreMiddlewareFunction < T > ) : this;
286
284
pre < T = M > ( method : 'insertMany' | RegExp , fn : ( this : T , next : ( err ?: CallbackError ) => void , docs : any | Array < any > ) => void | Promise < void > ) : this;
@@ -452,10 +450,6 @@ declare module 'mongoose' {
452
450
453
451
export type SortOrder = - 1 | 1 | 'asc' | 'ascending' | 'desc' | 'descending' ;
454
452
455
- type Mutable < T > = {
456
- - readonly [ K in keyof T ] : T [ K ] ;
457
- } ;
458
-
459
453
type _UpdateQuery < TSchema > = {
460
454
/** @see https://docs.mongodb.com/manual/reference/operator/update-field/ */
461
455
$currentDate ?: AnyKeys < TSchema > & AnyObject ;
@@ -469,7 +463,7 @@ declare module 'mongoose' {
469
463
$unset ?: AnyKeys < TSchema > & AnyObject ;
470
464
471
465
/** @see https://docs.mongodb.com/manual/reference/operator/update-array/ */
472
- $addToSet ?: Mutable < mongodb . SetFields < TSchema > > ;
466
+ $addToSet ?: AnyKeys < TSchema > & AnyObject ;
473
467
$pop ?: AnyKeys < TSchema > & AnyObject ;
474
468
$pull ?: AnyKeys < TSchema > & AnyObject ;
475
469
$push ?: AnyKeys < TSchema > & AnyObject ;
@@ -487,21 +481,14 @@ declare module 'mongoose' {
487
481
{ $replaceRoot : any } |
488
482
{ $replaceWith : any } ;
489
483
490
- export type __UpdateDefProperty < T > =
491
- [ Extract < T , mongodb . ObjectId > ] extends [ never ] ? T :
492
- T | string ;
493
- export type _UpdateQueryDef < T > = {
494
- [ K in keyof T ] ?: __UpdateDefProperty < T [ K ] > ;
495
- } ;
496
-
497
484
/**
498
485
* Update query command to perform on the document
499
486
* @example
500
487
* ```js
501
488
* { age: 30 }
502
489
* ```
503
490
*/
504
- export type UpdateQuery < T > = _UpdateQuery < _UpdateQueryDef < T > > & AnyObject ;
491
+ export type UpdateQuery < T > = _UpdateQuery < T > & AnyObject ;
505
492
506
493
export type DocumentDefinition < T > = {
507
494
[ K in keyof Omit < T , Exclude < keyof Document , '_id' | 'id' | '__v' > > ] :
@@ -527,7 +514,6 @@ declare module 'mongoose' {
527
514
T extends Types . Subdocument ? Omit < LeanDocument < T > , '$isSingleNested' | 'ownerDocument' | 'parent' > :
528
515
LeanDocument < T > ; // Documents and everything else
529
516
530
-
531
517
export type LeanArray < T extends unknown [ ] > = T extends unknown [ ] [ ] ? LeanArray < T [ number ] > [ ] : LeanType < T [ number ] > [ ] ;
532
518
533
519
export type _LeanDocument < T > = {
0 commit comments