Method: Jazzy::SourceKitten.deduplicate_declarations

Defined in:
lib/jazzy/sourcekitten.rb

.deduplicate_declarations(declarations) ⇒ Object

Merges multiple extensions of the same entity into a single document.

Merges extensions into the protocol/class/struct/enum they extend, if it occurs in the same project.

Merges redundant declarations when documenting podspecs.



688
689
690
691
692
693
694
695
696
697
# File 'lib/jazzy/sourcekitten.rb', line 688

def self.deduplicate_declarations(declarations)
  duplicate_groups = declarations
    .group_by { |d| deduplication_key(d, declarations) }
    .values

  duplicate_groups.flat_map do |group|
    # Put extended type (if present) before extensions
    merge_declarations(group)
  end.compact
end