From 053910c6927bcb801205e705e8a1176ab45a1443 Mon Sep 17 00:00:00 2001 From: Simon Date: Thu, 21 Jul 2016 11:14:44 -0400 Subject: [PATCH] improve type reference by using type= instead of extending interfaces --- mongoose/mongoose.d.ts | 74 ++++++++++++++++++++++-------------------- 1 file changed, 39 insertions(+), 35 deletions(-) diff --git a/mongoose/mongoose.d.ts b/mongoose/mongoose.d.ts index e26ae3ef90..495114f62b 100644 --- a/mongoose/mongoose.d.ts +++ b/mongoose/mongoose.d.ts @@ -244,51 +244,55 @@ declare module "mongoose" { static set(key: string, value: any): void; } - /** Interfaces for all classes in mongoose used for type-checking. */ + /** All the types that are exposed for type checking. */ namespace mongoose { - interface Aggregate extends _mongoose.Aggregate {} - interface CastError extends _mongoose.CastError {} - interface Collection extends _mongoose.Collection {} - interface Connection extends _mongoose.Connection {} - interface Document extends _mongoose.Document {} - interface Error extends _mongoose.Error {} - interface ValidationError extends _mongoose.ValidationError {} + type Aggregate = _mongoose.Aggregate; + type CastError = _mongoose.CastError; + type Collection = _mongoose.Collection; + type Connection = _mongoose.Connection; + type Document = _mongoose.Document; + type Error = _mongoose.Error; + type ValidationError = _mongoose.ValidationError; + + /** Document created from model constructors. */ type model = _mongoose.Model; + /** Model Constructor. */ type Model = _mongoose.ModelConstructor; + type Mongoose = typeof mongoose; - interface Promise extends _mongoose._MongoosePromise {} - interface Query extends _mongoose.Query {} - interface QueryCursor extends _mongoose.QueryCursor {} - interface QueryStream extends _mongoose.QueryStream {} - interface Schema extends _mongoose.Schema {} + type Promise = _mongoose._MongoosePromise; + type Query = _mongoose.Query; + type QueryCursor = _mongoose.QueryCursor; + type QueryStream = _mongoose.QueryStream; + type Schema = _mongoose.Schema; namespace Schema { namespace Types { - interface Array extends _mongoose.Schema._Types.Array {} - interface String extends _mongoose.Schema._Types.String {} - interface DocumentArray extends _mongoose.Schema._Types.DocumentArray {} - interface Number extends _mongoose.Schema._Types.Number {} - interface Date extends _mongoose.Schema._Types.Date {} - interface Buffer extends _mongoose.Schema._Types.Buffer {} - interface Boolean extends _mongoose.Schema._Types.Boolean {} - interface Bool extends _mongoose.Schema._Types.Boolean {} - interface ObjectId extends _mongoose.Schema._Types.ObjectId {} - interface Oid extends _mongoose.Schema._Types.ObjectId {} - interface Mixed extends _mongoose.Schema._Types.Mixed {} - interface Object extends _mongoose.Schema._Types.Mixed {} - interface Embedded extends _mongoose.Schema._Types.Embedded {} + type Array = _mongoose.Schema._Types.Array; + type String = _mongoose.Schema._Types.String; + type DocumentArray = _mongoose.Schema._Types.DocumentArray; + type Number = _mongoose.Schema._Types.Number; + type Date = _mongoose.Schema._Types.Date; + type Buffer = _mongoose.Schema._Types.Buffer; + type Boolean = _mongoose.Schema._Types.Boolean; + type Bool = _mongoose.Schema._Types.Boolean; + type ObjectId = _mongoose.Schema._Types.ObjectId; + type Oid = _mongoose.Schema._Types.ObjectId; + type Mixed = _mongoose.Schema._Types.Mixed; + type Object = _mongoose.Schema._Types.Mixed; + type Embedded = _mongoose.Schema._Types.Embedded; } } - interface SchemaType extends _mongoose.SchemaType {} + type SchemaType = _mongoose.SchemaType; namespace Types { - interface Subdocument extends _mongoose.Types.Subdocument {} - interface Array extends _mongoose.Types.Array {} - interface DocumentArray extends _mongoose.Types.DocumentArray {} - interface Buffer extends _mongoose.Types.Buffer {} - interface ObjectId extends _mongoose.Types.ObjectId {} - interface Embedded extends _mongoose.Types.Embedded {} + type Subdocument = _mongoose.Types.Subdocument; + type Array = _mongoose.Types.Array; + type DocumentArray = _mongoose.Types.DocumentArray; + type Buffer = _mongoose.Types.Buffer; + type ObjectId = _mongoose.Types.ObjectId; + type Embedded = _mongoose.Types.Embedded; } - interface VirtualType extends _mongoose.VirtualType {} - interface ConnectionOptions extends _mongoose.MongooseConnectOptions {} + type VirtualType = _mongoose.VirtualType; + type ConnectionOptions = _mongoose.MongooseConnectOptions; } /*