@@ -69,6 +69,30 @@ var defaultConfig = {
6969 }
7070}
7171
72+ function lintCode ( config , property ) {
73+ var code = "const RED = {}; // eslint-disable-line\n" +
74+ "const context = {}; // eslint-disable-line\n" +
75+ "const global = {}; // eslint-disable-line\n" +
76+ "const flow = {}; // eslint-disable-line\n" +
77+ "const env = {}; // eslint-disable-line\n" +
78+ "const __msgid__ = {}; // eslint-disable-line\n" +
79+ "const node = {}; // eslint-disable-line\n" +
80+ "(async function(msg,__send__,__done__){ // eslint-disable-line\n" +
81+ property +
82+ "}); // eslint-disable-line" ;
83+ return linter . verify ( code , config ) ;
84+ }
85+
86+ function reportResults ( context , node , results , location ) {
87+ results . forEach ( function ( r ) {
88+ context . report ( {
89+ location : [ node . id ] ,
90+ message : "[" + location + "] " + r . message ,
91+ severity : ( r . severity == 1 ) ? "warn" : "error" ,
92+ additionalInfo : r
93+ } )
94+ } ) ;
95+ }
7296module . exports = {
7397 meta : {
7498 type : "suggestion" ,
@@ -86,23 +110,14 @@ module.exports = {
86110 var config = ruleConfig . config || defaultConfig ;
87111 return {
88112 "type:function" : function ( node ) {
89- // TODO: lint the on-start / on-close code
90- var code = "(async function(msg,__send__,__done__){" +
91- "var __msgid__;" +
92- "var node; // eslint-disable-line\n" +
93- node . config . func + "\n" +
94- "}); // eslint-disable-line" ;
95- var result = linter . verify ( code , config ) ;
96- result . forEach ( function ( r ) {
97- // console.log(r);
98- context . report ( {
99- location : [ node . id ] ,
100- message : r . message ,
101- severity : ( r . severity == 1 ) ? "warn" : "error" ,
102- additionalInfo : r
103- } )
104- // console.log(r);
105- } ) ;
113+ reportResults ( context , node , lintCode ( config , node . config . func ) , "msg" ) ;
114+ if ( node . config . initialize ) {
115+ reportResults ( context , node , lintCode ( config , node . config . initialize ) , "start" ) ;
116+ }
117+ if ( node . config . finalize ) {
118+ reportResults ( context , node , lintCode ( config , node . config . finalize ) , "stop" ) ;
119+ }
120+
106121 }
107122 }
108123 }
0 commit comments