From afad86a9edde5e7d0211721febf5a9493cf1ef58 Mon Sep 17 00:00:00 2001 From: Valeri Karpov Date: Tue, 5 Jul 2022 10:48:20 -0400 Subject: [PATCH] fix(types): allow $cond with $in Fix #12028 --- test/types/expressions.test.ts | 10 +++++++++- types/expressions.d.ts | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/test/types/expressions.test.ts b/test/types/expressions.test.ts index 433615cc7ff..a078f3a0777 100644 --- a/test/types/expressions.test.ts +++ b/test/types/expressions.test.ts @@ -174,7 +174,15 @@ const addWithNull: Expression.Add = { '$price', { $ifNull: ['$tax', 0] } ] -} +}; + +const condWithIn: Expression.Cond = { + $cond: { + if: { $in: [] }, + then: '$foo', + else: '$bar' + } +}; const toLong: Expression = { $toLong: '$qty' }; diff --git a/types/expressions.d.ts b/types/expressions.d.ts index 221ab22d5a5..10ee0bf1559 100644 --- a/types/expressions.d.ts +++ b/types/expressions.d.ts @@ -1043,7 +1043,7 @@ declare module 'mongoose' { * * @see https://docs.mongodb.com/manual/reference/operator/aggregation/cond/#mongodb-expression-exp.-cond */ - $cond: { if: BooleanExpression | ConditionalExpressionOperator, then: AnyExpression, else: AnyExpression } | [BooleanExpression, AnyExpression, AnyExpression]; + $cond: { if: Expression, then: AnyExpression, else: AnyExpression } | [BooleanExpression, AnyExpression, AnyExpression]; } export interface IfNull {