From 49846d93c2ef88e077e897fd5b2e6f8ac2c02dc3 Mon Sep 17 00:00:00 2001 From: hasezoey Date: Tue, 5 Nov 2019 01:31:05 +0100 Subject: [PATCH] [@types/mongoose] Allow the use of "DocumentArray.discriminator(name, schema, value)" (#39927) * Allow the use of "DocumentArray.discriminator(name, schema, value)" * Add test for signature change --- types/mongoose/index.d.ts | 6 ++++-- types/mongoose/mongoose-tests.ts | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/types/mongoose/index.d.ts b/types/mongoose/index.d.ts index 1ae19f8ca7..9832bada49 100644 --- a/types/mongoose/index.d.ts +++ b/types/mongoose/index.d.ts @@ -2416,15 +2416,17 @@ declare module "mongoose" { * Adds a discriminator type. * @param name discriminator model name * @param schema discriminator model schema + * @param value the string stored in the `discriminatorKey` property */ - discriminator(name: string, schema: Schema): Model; + discriminator(name: string, schema: Schema, value?: string): Model; /** * Adds a discriminator type. * @param name discriminator model name * @param schema discriminator model schema + * @param value the string stored in the `discriminatorKey` property */ - discriminator>(name: string, schema: Schema): M; + discriminator>(name: string, schema: Schema, value?: string): M; } diff --git a/types/mongoose/mongoose-tests.ts b/types/mongoose/mongoose-tests.ts index c77433511b..4be39a8e00 100644 --- a/types/mongoose/mongoose-tests.ts +++ b/types/mongoose/mongoose-tests.ts @@ -1300,6 +1300,8 @@ mongoose.Schema.Types.DocumentArray.schemaName.toLowerCase(); documentarray.sparse(true); /* http://thecodebarbarian.com/mongoose-4.8-embedded-discriminators */ documentarray.discriminator('name', new mongoose.Schema({ foo: String })); +/* https://mongoosejs.com/docs/api.html#documentarraypath_DocumentArrayPath-discriminator */ +documentarray.discriminator('name2', new mongoose.Schema({ bar: String }), "circle"); /* * section schema/number.js