UNPKG

eslint-plugin-wyze

Version:

My personal ESLint rules.

33 lines (27 loc) 1.02 kB
'use strict' const { maybeReportMissingSpace } = require('./maybeReportToken') const { maybeReportRequiredSpace } = require('./maybeReportToken') /** * Performs logic on the node to determine if it is valid. * * @param {ASTNode} node - the Statement (If/For/etc.) node */ const assertSpacing = ( context, getStart, getEnd, assertMissing ) => { const sc = context.getSourceCode() return node => { const start = getStart(node) const end = getEnd(node) const before = sc.getTokenBefore(start) const first = sc.getFirstToken(start) const after = sc.getTokenAfter(end) const last = sc.getLastToken(end) if ( assertMissing(first, last) ) { maybeReportMissingSpace(context, sc, node, 'after', before, first) maybeReportMissingSpace(context, sc, node, 'before', last, after) } else { maybeReportRequiredSpace(context, sc, node, 'after', before, first) maybeReportRequiredSpace(context, sc, node, 'before', last, after) } } } module.exports = assertSpacing