module DeepCover::Reporter::Istanbul::Converters
Public Instance Methods
convert_block(node)
click to toggle source
# File lib/deep_cover/reporter/istanbul.rb, line 32 def convert_block(node) decl = node.loc_hash[:begin] if (args = node.args.expression) decl = decl.join(args) end _convert_function(node, '(block)', decl) end
convert_branch(node, branches = node.branches)
click to toggle source
# File lib/deep_cover/reporter/istanbul.rb, line 48 def convert_branch(node, branches = node.branches) # Currently, nyc seems to outputs the same location over and over... { loc: convert_range(node.expression), type: node.type, line: node.expression.line, locations: branches.map { |n| convert_range(n.expression || node.expression) }, } end
convert_def(node)
click to toggle source
# File lib/deep_cover/reporter/istanbul.rb, line 26 def convert_def(node) ends_at = node.signature.loc_hash[:end] || node.loc_hash[:name] decl = node.loc_hash[:keyword].with(end_pos: ends_at.end_pos) _convert_function(node, node.method_name, decl) end
convert_function(node)
click to toggle source
# File lib/deep_cover/reporter/istanbul.rb, line 40 def convert_function(node) if node.is_a?(Node::Block) convert_block(node) else convert_def(node) end end
convert_list(list)
click to toggle source
convert_range(range)
click to toggle source
# File lib/deep_cover/reporter/istanbul.rb, line 9 def convert_range(range) {start: { line: range.line, column: range.column, }, end: { line: range.last_line, column: range.last_column - 1, # Our ranges are exclusive, Istanbul's are inclusive }, } end
Private Instance Methods
_convert_function(node, name, decl)
click to toggle source
# File lib/deep_cover/reporter/istanbul.rb, line 60 def _convert_function(node, name, decl) loc = node.body ? node.body.expression : decl.end { name: name, line: node.expression.line, decl: convert_range(decl), loc: convert_range(loc), } end