Loading lib/jsduck/merger.rb +0 −18 Original line number Diff line number Diff line Loading @@ -41,8 +41,6 @@ module JsDuck :singleton => false, }) h[:aliases] = build_aliases_hash(h[:aliases] || []) h[:enum] = merge_enum(docs, code) if docs[:enum] h[:members] = [] Loading Loading @@ -94,22 +92,6 @@ module JsDuck h end # Given array of full alias names like "foo.bar", "foo.baz" # build hash like {"foo" => ["bar", "baz"]} def build_aliases_hash(aliases) hash={} aliases.each do |a| if a =~ /^([^.]+)\.(.+)$/ if hash[$1] hash[$1] << $2 else hash[$1] = [$2] end end end hash end def merge_params(docs, code) explicit = docs[:params] || [] implicit = code_matches_doc?(docs, code) ? (code[:params] || []) : [] Loading lib/jsduck/tag/alias.rb +21 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ module JsDuck::Tag @key = :aliases @ext_define_pattern = "alias" @ext_define_default = {:aliases => []} @merge_context = :class end # For backwards compatibility decide whether the @alias was used Loading Loading @@ -36,5 +37,25 @@ module JsDuck::Tag def parse_ext_define(cls, ast) cls[:aliases] += JsDuck::Js::Utils.make_string_list(ast) end def merge(h, docs, code) h[:aliases] = build_aliases_hash(docs[:aliases] || code[:aliases] || []) end # Given array of full alias names like "foo.bar", "foo.baz" # build hash like {"foo" => ["bar", "baz"]} def build_aliases_hash(aliases) hash={} aliases.each do |a| if a =~ /^([^.]+)\.(.+)$/ if hash[$1] hash[$1] << $2 else hash[$1] = [$2] end end end hash end end end Loading
lib/jsduck/merger.rb +0 −18 Original line number Diff line number Diff line Loading @@ -41,8 +41,6 @@ module JsDuck :singleton => false, }) h[:aliases] = build_aliases_hash(h[:aliases] || []) h[:enum] = merge_enum(docs, code) if docs[:enum] h[:members] = [] Loading Loading @@ -94,22 +92,6 @@ module JsDuck h end # Given array of full alias names like "foo.bar", "foo.baz" # build hash like {"foo" => ["bar", "baz"]} def build_aliases_hash(aliases) hash={} aliases.each do |a| if a =~ /^([^.]+)\.(.+)$/ if hash[$1] hash[$1] << $2 else hash[$1] = [$2] end end end hash end def merge_params(docs, code) explicit = docs[:params] || [] implicit = code_matches_doc?(docs, code) ? (code[:params] || []) : [] Loading
lib/jsduck/tag/alias.rb +21 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ module JsDuck::Tag @key = :aliases @ext_define_pattern = "alias" @ext_define_default = {:aliases => []} @merge_context = :class end # For backwards compatibility decide whether the @alias was used Loading Loading @@ -36,5 +37,25 @@ module JsDuck::Tag def parse_ext_define(cls, ast) cls[:aliases] += JsDuck::Js::Utils.make_string_list(ast) end def merge(h, docs, code) h[:aliases] = build_aliases_hash(docs[:aliases] || code[:aliases] || []) end # Given array of full alias names like "foo.bar", "foo.baz" # build hash like {"foo" => ["bar", "baz"]} def build_aliases_hash(aliases) hash={} aliases.each do |a| if a =~ /^([^.]+)\.(.+)$/ if hash[$1] hash[$1] << $2 else hash[$1] = [$2] end end end hash end end end