lib/rules/padding-line-between-statements.js
function isDirective(node, sourceCode) {
    return (
        node.type === "ExpressionStatement" &&
        (
            node.parent.type === "Program" ||
            (
                node.parent.type === "BlockStatement" &&
                astUtils.isFunction(node.parent.parent)
            )
        ) &&
        node.expression.type === "Literal" &&
        typeof node.expression.value === "string" &&
        !astUtils.isParenthesised(sourceCode, node.expression)
    );
}
function isDirective(node, sourceCode) {
    return (
        node.type === "ExpressionStatement" &&
        (
            node.parent.type === "Program" ||
            (
                node.parent.type === "BlockStatement" &&
                astUtils.isFunction(node.parent.parent)
            )
        ) &&
        node.expression.type === "Literal" &&
        typeof node.expression.value === "string" &&
        !astUtils.isParenthesised(sourceCode, node.expression)
    );
}
function isDirective ( node , sourceCode ) { return ( node . type === "ExpressionStatement" && ( node . parent . type === "Program" || ( node . parent . type === "BlockStatement" && astUtils . isFunction ( node . parent . parent ) ) ) && node . expression . type === "Literal" && typeof node . expression . value === "string" && ! astUtils . isParenthesised ( sourceCode , node . expression ) ) ; }
Check whether the given node is a directive or not.
@param {ASTNode} node The node to check.
@param {SourceCode} sourceCode The source code object to get tokens.
@returns {boolean} `true` if the node is a directive.
Check whether the given node is a directive or not .