codestop-js-proof
Advanced tools
Comparing version 1.0.6 to 1.0.7
@@ -16,2 +16,3 @@ "use strict"; | ||
'call-expression': FilterClasses.CallExpression, | ||
'member-expression': FilterClasses.MemberExpression, | ||
'binary-expression': FilterClasses.BinaryExpression, | ||
@@ -18,0 +19,0 @@ 'assignment-expression': FilterClasses.AssignmentExpression, |
@@ -7,2 +7,3 @@ import Argument from './Argument'; | ||
import CallExpression from './CallExpression'; | ||
import MemberExpression from './MemberExpression'; | ||
import ContinueStatement from './ContinueStatement'; | ||
@@ -22,2 +23,2 @@ import ForStatement from './ForStatement'; | ||
import WhileStatement from './WhileStatement'; | ||
export { Argument, ArrowFunction, AssignmentExpression, BinaryExpression, BreakStatement, CallExpression, ContinueStatement, ForStatement, FunctionDeclaration, FunctionExpression, Identifier, IfStatement, Literal, ReturnStatement, Switch_, SwitchDefault, UnaryExpression, UpdateExpression, VariableDeclaration, WhileStatement, }; | ||
export { Argument, ArrowFunction, AssignmentExpression, BinaryExpression, BreakStatement, CallExpression, MemberExpression, ContinueStatement, ForStatement, FunctionDeclaration, FunctionExpression, Identifier, IfStatement, Literal, ReturnStatement, Switch_, SwitchDefault, UnaryExpression, UpdateExpression, VariableDeclaration, WhileStatement, }; |
@@ -15,2 +15,4 @@ "use strict"; | ||
exports.CallExpression = CallExpression_1.default; | ||
const MemberExpression_1 = require("./MemberExpression"); | ||
exports.MemberExpression = MemberExpression_1.default; | ||
const ContinueStatement_1 = require("./ContinueStatement"); | ||
@@ -17,0 +19,0 @@ exports.ContinueStatement = ContinueStatement_1.default; |
@@ -31,2 +31,7 @@ "use strict"; | ||
const node = this.parsedCode[i]; | ||
if (subNode == 'MemberCall') { // getting to the inner property call e.g foo.bar.baz() this will give us the foo.bar node. | ||
if (_.has(node, 'expression') && _.has(node['expression'], 'callee') && node['expression']['callee']['type'] == 'MemberExpression' && _.has(node['expression']['callee']['object'], 'type')) { | ||
nodes.push(node['expression']['callee']['object']); | ||
} | ||
} | ||
if (_.has(node, subNode) && (node[subNode] instanceof Array || node[subNode] instanceof Object)) { | ||
@@ -33,0 +38,0 @@ if (subNode == 'declarations' || subNode == 'body' || subNode == 'cases') { |
@@ -11,23 +11,26 @@ "use strict"; | ||
} | ||
if (node['callee'] && node['callee']['type'] && node['callee']['type'] == 'MemberExpression') { | ||
return ((node['type'] == 'CallExpression' | ||
&& node['callee']['object']['name'] == filters['name']) | ||
&& | ||
filters['property'] | ||
? node['callee']['property']['name'] == filters['property'] | ||
: true); | ||
if (node['type'] != 'CallExpression') { | ||
return false; | ||
} | ||
else if (node['type'] == 'MemberExpression') { | ||
return (node['object']['name'] == filters['name'] | ||
&& | ||
filters['property'] | ||
? node['property']['name'] == filters['property'] | ||
: true); | ||
if (node['type'] == 'CallExpression') { | ||
if (node['callee']['type'] == 'Identifier') { // function call e.g. log('test'); | ||
return ((filters['name'] | ||
? node['callee']['name'] == filters['name'] | ||
: true) | ||
&& | ||
( // for direct function call, it doesn't have a property. | ||
filters['property'] | ||
? false | ||
: true)); | ||
} | ||
else if (node['callee']['type'] == 'MemberExpression') { // Method calls e.g. console.log('test'); | ||
return ((filters['name'] | ||
? node['callee']['object']['name'] == filters['name'] | ||
: true) | ||
&& | ||
(filters['property'] | ||
? node['callee']['property']['name'] == filters['property'] | ||
: true)); | ||
} | ||
} | ||
else { | ||
return (node['type'] == 'Callexpression' | ||
&& (filters['name'] | ||
? filters['name'] == node['callee']['name'] | ||
: true)); | ||
} | ||
}; | ||
@@ -34,0 +37,0 @@ } |
@@ -17,2 +17,3 @@ import Argument from './Argument/Argument'; | ||
import Call_ from './Expression/Call/Call_'; | ||
import MemberCall from './Expression/Call/MemberCall'; | ||
import Console from './Expression/Call/Console'; | ||
@@ -33,2 +34,2 @@ import ArrowFunction from './Function_/ArrowFunction'; | ||
import VariableDeclaration from './Variable/VariableDeclaration'; | ||
export { Argument, Div, Equals, Greater, GreaterEqual, Less_, LessEqual, Minus_, Mod, Mul, Plus_, Assignment, Decrement_, Increment_, UnaryExpression, Call_, Console, ArrowFunction, FunctionDeclaration, FunctionExpression, Break_, Continue_, For_, If_, Return_, Switch_, SwitchDefault, While_, Literal, Identifier, VariableDeclaration }; | ||
export { Argument, Div, Equals, Greater, GreaterEqual, Less_, LessEqual, Minus_, Mod, Mul, Plus_, Assignment, Decrement_, Increment_, UnaryExpression, Call_, MemberCall, Console, ArrowFunction, FunctionDeclaration, FunctionExpression, Break_, Continue_, For_, If_, Return_, Switch_, SwitchDefault, While_, Literal, Identifier, VariableDeclaration }; |
@@ -35,2 +35,4 @@ "use strict"; | ||
exports.Call_ = Call_1.default; | ||
const MemberCall_1 = require("./Expression/Call/MemberCall"); | ||
exports.MemberCall = MemberCall_1.default; | ||
const Console_1 = require("./Expression/Call/Console"); | ||
@@ -37,0 +39,0 @@ exports.Console = Console_1.default; |
@@ -17,2 +17,3 @@ "use strict"; | ||
'call_': RuleClasses.Call_, | ||
'member-call': RuleClasses.MemberCall, | ||
'variable-declaration': RuleClasses.VariableDeclaration, | ||
@@ -19,0 +20,0 @@ 'identifier': RuleClasses.Identifier, |
{ | ||
"name": "codestop-js-proof", | ||
"version": "1.0.6", | ||
"version": "1.0.7", | ||
"description": "## Usage", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -19,2 +19,3 @@ import * as FilterClasses from './index'; | ||
'call-expression' : FilterClasses.CallExpression, | ||
'member-expression' : FilterClasses.MemberExpression, | ||
'binary-expression' : FilterClasses.BinaryExpression, | ||
@@ -21,0 +22,0 @@ 'assignment-expression' : FilterClasses.AssignmentExpression, |
@@ -7,2 +7,3 @@ import Argument from './Argument'; | ||
import CallExpression from './CallExpression'; | ||
import MemberExpression from './MemberExpression'; | ||
import ContinueStatement from './ContinueStatement'; | ||
@@ -30,2 +31,3 @@ import ForStatement from './ForStatement'; | ||
CallExpression, | ||
MemberExpression, | ||
ContinueStatement, | ||
@@ -32,0 +34,0 @@ ForStatement, |
@@ -39,2 +39,8 @@ import * as _ from 'lodash'; | ||
if (subNode == 'MemberCall') { // getting to the inner property call e.g foo.bar.baz() this will give us the foo.bar node. | ||
if (_.has(node, 'expression') && _.has(node['expression'], 'callee') && node['expression']['callee']['type'] == 'MemberExpression' && _.has(node['expression']['callee']['object'], 'type')) { | ||
nodes.push(node['expression']['callee']['object']); | ||
} | ||
} | ||
if (_.has(node, subNode) && (node[subNode] instanceof Array || node[subNode] instanceof Object)) { | ||
@@ -41,0 +47,0 @@ if (subNode == 'declarations' || subNode == 'body' || subNode == 'cases') { |
@@ -12,29 +12,38 @@ import Rule from '../../Rule'; | ||
if (node['callee'] && node['callee']['type'] && node['callee']['type'] == 'MemberExpression') { | ||
return ( | ||
(node['type'] == 'CallExpression' | ||
&& node['callee']['object']['name'] == filters['name']) | ||
&& | ||
filters['property'] | ||
? node['callee']['property']['name'] == filters['property'] | ||
: true | ||
); | ||
} else if (node['type'] == 'MemberExpression') { | ||
return ( | ||
node['object']['name'] == filters['name'] | ||
&& | ||
filters['property'] | ||
? node['property']['name'] == filters['property'] | ||
: true | ||
); | ||
} else { | ||
return ( | ||
node['type'] == 'Callexpression' | ||
&& ( | ||
filters['name'] | ||
? filters['name'] == node['callee']['name'] | ||
: true | ||
) | ||
); | ||
if (node['type'] != 'CallExpression') { | ||
return false; | ||
} | ||
if (node['type'] == 'CallExpression') { | ||
if (node['callee']['type'] == 'Identifier') { // function call e.g. log('test'); | ||
return ( | ||
( | ||
filters['name'] | ||
? node['callee']['name'] == filters['name'] | ||
: true | ||
) | ||
&& | ||
( // for direct function call, it doesn't have a property. | ||
filters['property'] | ||
? false | ||
: true | ||
) | ||
); | ||
} | ||
else if (node['callee']['type'] == 'MemberExpression') { // Method calls e.g. console.log('test'); | ||
return ( | ||
( | ||
filters['name'] | ||
? node['callee']['object']['name'] == filters['name'] | ||
: true | ||
) | ||
&& | ||
( | ||
filters['property'] | ||
? node['callee']['property']['name'] == filters['property'] | ||
: true | ||
) | ||
); | ||
} | ||
} | ||
}; | ||
@@ -41,0 +50,0 @@ } |
@@ -17,2 +17,3 @@ import Argument from './Argument/Argument'; | ||
import Call_ from './Expression/Call/Call_'; | ||
import MemberCall from './Expression/Call/MemberCall'; | ||
import Console from './Expression/Call/Console'; | ||
@@ -51,2 +52,3 @@ import ArrowFunction from './Function_/ArrowFunction'; | ||
Call_, | ||
MemberCall, | ||
Console, | ||
@@ -53,0 +55,0 @@ ArrowFunction, |
@@ -20,2 +20,3 @@ import * as RuleClasses from './index'; | ||
'call_' : RuleClasses.Call_, | ||
'member-call' : RuleClasses.MemberCall, | ||
'variable-declaration' : RuleClasses.VariableDeclaration, | ||
@@ -22,0 +23,0 @@ 'identifier' : RuleClasses.Identifier, |
134149
249
3990