From dfb8f459ae50d1470ba6821d8ae24ddf7636f7d0 Mon Sep 17 00:00:00 2001 From: Juan Paucar Date: Wed, 7 Mar 2018 18:08:31 -0500 Subject: [PATCH] sequelize: Correct some typings --- types/sequelize/index.d.ts | 6 +++--- types/sequelize/sequelize-tests.ts | 7 +++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/types/sequelize/index.d.ts b/types/sequelize/index.d.ts index 395f5b9d23..40de978fac 100644 --- a/types/sequelize/index.d.ts +++ b/types/sequelize/index.d.ts @@ -3136,11 +3136,11 @@ declare namespace sequelize { $ilike: string | WherePGStatement; $notLike: string | WherePGStatement; $notILike: string | WherePGStatement; - $between: [number, number]; + $between: [number, number] | [Date, Date]; "..": [number, number]; $notBetween: [number, number]; "!..": [number, number]; - $overlap: [number, number]; + $overlap: [number, number] | [string, string]; "&&": [number, number]; $contains: any; "@>": any; @@ -3155,7 +3155,7 @@ declare namespace sequelize { * typesafety, but there is no way to pass the tests if we just remove it. */ type WhereOptions = { - [P in keyof T]?: string | number | boolean | WhereLogic | WhereOptions | col | and | or | WhereGeometryOptions | Array | null; + [P in keyof T]?: string | number | boolean | WhereLogic | WhereOptions | col | and | or | WhereGeometryOptions | WhereNested | Array | null; }; /** diff --git a/types/sequelize/sequelize-tests.ts b/types/sequelize/sequelize-tests.ts index eea19959bd..a6f6cb0038 100644 --- a/types/sequelize/sequelize-tests.ts +++ b/types/sequelize/sequelize-tests.ts @@ -915,6 +915,8 @@ User.findAll( { where : { intVal : { '!..' : [8, 10] } } } ); User.findAll( { where : { theDate : { between : ['2013-01-02', '2013-01-11'] } } } ); User.findAll( { where : { theDate : { between : ['2013-01-02', '2013-01-11'] }, intVal : 10 } } ); User.findAll( { where : { theDate : { between : ['2012-12-10', '2013-01-02'] } } } ); +User.findAll( { where : { theDate : { between : [1, 3] } } } ); +User.findAll( { where : { theDate : { between : [new Date(0), new Date(1000)] } } } ); User.findAll( { where : { theDate : { nbetween : ['2013-01-04', '2013-01-20'] } } } ); User.findAll( { order : [s.col( 'name' )] } ); User.findAll( { order : [['theDate', 'DESC']] } ); @@ -948,6 +950,11 @@ User.findAll( { where: s.where(s.fn('lower', s.col('email')), s.fn('lower', 'TES User.findAll( { subQuery: false, include : [User], order : [[User, User, 'numYears', 'c']] } ); User.findAll( { rejectOnEmpty: true }); +User.findAll( { where: { $and:[ { username: "user" }, { theDate: new Date() } ] } } ); +User.findAll( { where: { $or:[ { username: "user" }, { theDate: new Date() } ] } } ); +User.findAll( { where: { $and:[ { username: { $not: "user" } }, { theDate: new Date() } ] } } ); +User.findAll( { where: { $or:[ { username: { $not: "user" } }, { theDate: new Date() } ] } } ); +User.findAll( { where: { emails: { $overlap: ["me@mail.com", "you@mail.com"] } } } ); User.findById( 'a string' );