Module: SyntaxTree::JSON

Defined in:
lib/syntax_tree/json.rb,
lib/syntax_tree/json/version.rb

Defined Under Namespace

Classes: ArrayNode, LiteralNode, ObjectNode, RootNode

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.format(source) ⇒ Object



100
101
102
103
104
105
106
# File 'lib/syntax_tree/json.rb', line 100

def format(source)
  formatter = PP.new([])
  parse(source).format(formatter)

  formatter.flush
  formatter.output.join
end

.parse(source) ⇒ Object



108
109
110
# File 'lib/syntax_tree/json.rb', line 108

def parse(source)
  RootNode.new(translate(::JSON.parse(source)))
end

.read(filepath) ⇒ Object



112
113
114
# File 'lib/syntax_tree/json.rb', line 112

def read(filepath)
  File.read(filepath)
end