module Unison.Codebase.Editor.Output.DumpNamespace where

import U.Codebase.HashTags (CausalHash, PatchHash)
import Unison.NameSegment (NameSegment)
import Unison.Prelude
import Unison.Reference (Reference)
import Unison.Referent (Referent)

data DumpNamespace = DumpNamespace
  { DumpNamespace -> Map Referent (Set NameSegment)
terms :: Map Referent (Set NameSegment),
    DumpNamespace -> Map Reference (Set NameSegment)
types :: Map Reference (Set NameSegment),
    DumpNamespace -> Map NameSegment PatchHash
patches :: Map NameSegment PatchHash,
    DumpNamespace -> Map NameSegment CausalHash
children :: Map NameSegment CausalHash,
    DumpNamespace -> Set CausalHash
causalParents :: Set CausalHash
  }
  deriving (Int -> DumpNamespace -> ShowS
[DumpNamespace] -> ShowS
DumpNamespace -> String
(Int -> DumpNamespace -> ShowS)
-> (DumpNamespace -> String)
-> ([DumpNamespace] -> ShowS)
-> Show DumpNamespace
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DumpNamespace -> ShowS
showsPrec :: Int -> DumpNamespace -> ShowS
$cshow :: DumpNamespace -> String
show :: DumpNamespace -> String
$cshowList :: [DumpNamespace] -> ShowS
showList :: [DumpNamespace] -> ShowS
Show)