@@ -435,16 +435,15 @@ private module MsSql {
435435 API:: Node pool ( ) { result = mssqlClass ( "ConnectionPool" ) }
436436
437437 /** A tagged template evaluated as a query. */
438- private class QueryTemplateExpr extends DatabaseAccess , DataFlow:: ValueNode {
438+ private class QueryTemplateExpr extends DatabaseAccess , DataFlow:: ValueNode , DataFlow :: SourceNode {
439439 override TaggedTemplateExpr astNode ;
440440
441441 QueryTemplateExpr ( ) {
442442 mssql ( ) .getMember ( "query" ) .getAUse ( ) = DataFlow:: valueNode ( astNode .getTag ( ) )
443443 }
444444
445445 override DataFlow:: Node getAResult ( ) {
446- PromiseFlow:: loadStep ( this .( DataFlow:: SourceNode ) .getALocalUse ( ) , result ,
447- Promises:: valueProp ( ) )
446+ PromiseFlow:: loadStep ( this .getALocalUse ( ) , result , Promises:: valueProp ( ) )
448447 }
449448
450449 override DataFlow:: Node getAQueryArgument ( ) {
@@ -524,31 +523,6 @@ private module Sequelize {
524523 }
525524 }
526525
527- /** Gets an import of the `sequelize` module or one that re-exports it. */
528- API:: Node sequelize ( ) { result = API:: moduleImport ( [ "sequelize" , "sequelize-typescript" ] ) }
529-
530- /** Gets an expression that creates an instance of the `Sequelize` class. */
531- API:: Node instance ( ) {
532- result = [ sequelize ( ) , sequelize ( ) .getMember ( "Sequelize" ) ] .getInstance ( )
533- or
534- result = API:: Node:: ofType ( [ "sequelize" , "sequelize-typescript" ] , [ "Sequelize" , "default" ] )
535- }
536-
537- /** A call to `Sequelize.query`. */
538- private class QueryCall extends DatabaseAccess , DataFlow:: MethodCallNode {
539- QueryCall ( ) { this = instance ( ) .getMember ( "query" ) .getACall ( ) }
540-
541- override DataFlow:: Node getAResult ( ) {
542- PromiseFlow:: loadStep ( this .getALocalUse ( ) , result , Promises:: valueProp ( ) )
543- }
544-
545- override DataFlow:: Node getAQueryArgument ( ) {
546- result = this .getArgument ( 0 )
547- or
548- result = this .getOptionArgument ( 0 , "query" )
549- }
550- }
551-
552526 class SequelizeSink extends ModelInput:: SinkModelCsv {
553527 override predicate row ( string row ) {
554528 row =
@@ -563,6 +537,12 @@ private module Sequelize {
563537 ]
564538 }
565539 }
540+
541+ class SequelizeSource extends ModelInput:: SourceModelCsv {
542+ override predicate row ( string row ) {
543+ row = "sequelize;Sequelize;Member[query].ReturnValue.Awaited;database-access-result"
544+ }
545+ }
566546}
567547
568548private module SpannerCsv {
@@ -615,7 +595,8 @@ private module SpannerCsv {
615595
616596 override predicate row ( string row ) {
617597 row =
618- "@google-cloud/spanner;" + spannerClass ( ) + ";" + resultPath ( ) + ";database-access-result"
598+ "@google-cloud/spanner;" + this .spannerClass ( ) + ";" + this .resultPath ( ) +
599+ ";database-access-result"
619600 }
620601 }
621602}
0 commit comments