Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 1x 1x 1x 4261x 27241x 1x 1x | E = require './expressions'
{ typeIsArray } = require '../util/util'
module.exports.build = build = (json) ->
if not json? then return json
if (typeIsArray json)
return (build child for child in json)
if json.type is "FunctionRef" then new E.FunctionRef(json)
else if json.type is "Literal" then E.Literal.from(json)
else if functionExists(json.type) then constructByName(json.type, json)
else null
functionExists = (name) -> typeof E[name] is "function"
constructByName = (name, json) -> new E[name](json)
|