MemberExpression: function()

in rules/timeout-service.js [25:48]


            MemberExpression: function(node) {
                if (node.property.name !== 'setTimeout' || !node.object) {
                    return;
                }

                if (node.object.type === 'Identifier') {
                    if ((node.object.name === 'window' || node.object.name === '$window')) {
                        context.report(node, message, {});
                    }

                    return;
                }

                // Detect expression this.$window.setTimeout which is what we would see in ES6 code when using classes
                var parentNode = node.object;

                if (!parentNode.object) {
                    return;
                }

                if (parentNode.object.type === 'ThisExpression' && parentNode.property.name === '$window') {
                    context.report(node, message, {});
                }
            },