@@ -56,7 +56,7 @@ declare module 'mongoose' {
56
56
57
57
type DefaultType < T > = T extends Schema . Types . Mixed ? any : Partial < ExtractMongooseArray < T > > ;
58
58
59
- class SchemaTypeOptions < T , EnforcedDocType = any > {
59
+ class SchemaTypeOptions < T , EnforcedDocType = any , THydratedDocumentType = HydratedDocument < EnforcedDocType > > {
60
60
type ?:
61
61
T extends string ? StringSchemaDefinition :
62
62
T extends number ? NumberSchemaDefinition :
@@ -65,19 +65,19 @@ declare module 'mongoose' {
65
65
T extends Map < any , any > ? SchemaDefinition < typeof Map > :
66
66
T extends Buffer ? SchemaDefinition < typeof Buffer > :
67
67
T extends Types . ObjectId ? ObjectIdSchemaDefinition :
68
- T extends Types . ObjectId [ ] ? AnyArray < ObjectIdSchemaDefinition > | AnyArray < SchemaTypeOptions < ObjectId , EnforcedDocType > > :
69
- T extends object [ ] ? ( AnyArray < Schema < any , any , any > > | AnyArray < SchemaDefinition < Unpacked < T > > > | AnyArray < SchemaTypeOptions < Unpacked < T > , EnforcedDocType > > ) :
70
- T extends string [ ] ? AnyArray < StringSchemaDefinition > | AnyArray < SchemaTypeOptions < string , EnforcedDocType > > :
71
- T extends number [ ] ? AnyArray < NumberSchemaDefinition > | AnyArray < SchemaTypeOptions < number , EnforcedDocType > > :
72
- T extends boolean [ ] ? AnyArray < BooleanSchemaDefinition > | AnyArray < SchemaTypeOptions < boolean , EnforcedDocType > > :
73
- T extends Function [ ] ? AnyArray < Function | string > | AnyArray < SchemaTypeOptions < Unpacked < T > , EnforcedDocType > > :
68
+ T extends Types . ObjectId [ ] ? AnyArray < ObjectIdSchemaDefinition > | AnyArray < SchemaTypeOptions < ObjectId , EnforcedDocType , THydratedDocumentType > > :
69
+ T extends object [ ] ? ( AnyArray < Schema < any , any , any > > | AnyArray < SchemaDefinition < Unpacked < T > > > | AnyArray < SchemaTypeOptions < Unpacked < T > , EnforcedDocType , THydratedDocumentType > > ) :
70
+ T extends string [ ] ? AnyArray < StringSchemaDefinition > | AnyArray < SchemaTypeOptions < string , EnforcedDocType , THydratedDocumentType > > :
71
+ T extends number [ ] ? AnyArray < NumberSchemaDefinition > | AnyArray < SchemaTypeOptions < number , EnforcedDocType , THydratedDocumentType > > :
72
+ T extends boolean [ ] ? AnyArray < BooleanSchemaDefinition > | AnyArray < SchemaTypeOptions < boolean , EnforcedDocType , THydratedDocumentType > > :
73
+ T extends Function [ ] ? AnyArray < Function | string > | AnyArray < SchemaTypeOptions < Unpacked < T > , EnforcedDocType , THydratedDocumentType > > :
74
74
T | typeof SchemaType | Schema < any , any , any > | SchemaDefinition < T > | Function | AnyArray < Function > ;
75
75
76
76
/** Defines a virtual with the given name that gets/sets this path. */
77
77
alias ?: string | string [ ] ;
78
78
79
79
/** Function or object describing how to validate this schematype. See [validation docs](https://mongoosejs.com/docs/validation.html). */
80
- validate ?: SchemaValidator < T , EnforcedDocType > | AnyArray < SchemaValidator < T , EnforcedDocType > > ;
80
+ validate ?: SchemaValidator < T , EnforcedDocType , THydratedDocumentType > | AnyArray < SchemaValidator < T , EnforcedDocType , THydratedDocumentType > > ;
81
81
82
82
/** Allows overriding casting logic for this individual path. If a string, the given string overwrites Mongoose's default cast error message. */
83
83
cast ?: string |
0 commit comments