Method: JsDuck::Merger#detect_params

Defined in:
lib/jsduck/merger.rb

#detect_params(tagname, doc_map, code) ⇒ Object



391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
# File 'lib/jsduck/merger.rb', line 391

def detect_params(tagname, doc_map, code)
  implicit = code_matches_doc?(tagname, doc_map, code) ? detect_implicit_params(code) : []
  explicit = detect_explicit_params(doc_map)
  # Override implicit parameters with explicit ones
  # But if explicit ones exist, don't append the implicit ones.
  params = []
  (explicit.length > 0 ? explicit.length : implicit.length).times do |i|
    im = implicit[i] || {}
    ex = explicit[i] || {}
    doc = ex[:doc] || im[:doc] || ""
    params << {
      :type => ex[:type] || im[:type] || "Object",
      :name => ex[:name] || im[:name] || "",
      :doc => doc,
      :optional => ex[:optional] || false,
      :default => ex[:default],
      :properties => ex[:properties] || [],
    }
  end
  params
end