module Ecluse.Core.Package.Entry (
EntryKey (..),
AdmittedEntry (..),
) where
import Ecluse.Core.Snapshot (ContentDigest)
data EntryKey
=
ArrayEntry Int
|
ObjectEntry Text
|
SingletonEntry
deriving stock (EntryKey -> EntryKey -> Bool
(EntryKey -> EntryKey -> Bool)
-> (EntryKey -> EntryKey -> Bool) -> Eq EntryKey
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: EntryKey -> EntryKey -> Bool
== :: EntryKey -> EntryKey -> Bool
$c/= :: EntryKey -> EntryKey -> Bool
/= :: EntryKey -> EntryKey -> Bool
Eq, Eq EntryKey
Eq EntryKey =>
(EntryKey -> EntryKey -> Ordering)
-> (EntryKey -> EntryKey -> Bool)
-> (EntryKey -> EntryKey -> Bool)
-> (EntryKey -> EntryKey -> Bool)
-> (EntryKey -> EntryKey -> Bool)
-> (EntryKey -> EntryKey -> EntryKey)
-> (EntryKey -> EntryKey -> EntryKey)
-> Ord EntryKey
EntryKey -> EntryKey -> Bool
EntryKey -> EntryKey -> Ordering
EntryKey -> EntryKey -> EntryKey
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: EntryKey -> EntryKey -> Ordering
compare :: EntryKey -> EntryKey -> Ordering
$c< :: EntryKey -> EntryKey -> Bool
< :: EntryKey -> EntryKey -> Bool
$c<= :: EntryKey -> EntryKey -> Bool
<= :: EntryKey -> EntryKey -> Bool
$c> :: EntryKey -> EntryKey -> Bool
> :: EntryKey -> EntryKey -> Bool
$c>= :: EntryKey -> EntryKey -> Bool
>= :: EntryKey -> EntryKey -> Bool
$cmax :: EntryKey -> EntryKey -> EntryKey
max :: EntryKey -> EntryKey -> EntryKey
$cmin :: EntryKey -> EntryKey -> EntryKey
min :: EntryKey -> EntryKey -> EntryKey
Ord, Int -> EntryKey -> ShowS
[EntryKey] -> ShowS
EntryKey -> String
(Int -> EntryKey -> ShowS)
-> (EntryKey -> String) -> ([EntryKey] -> ShowS) -> Show EntryKey
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> EntryKey -> ShowS
showsPrec :: Int -> EntryKey -> ShowS
$cshow :: EntryKey -> String
show :: EntryKey -> String
$cshowList :: [EntryKey] -> ShowS
showList :: [EntryKey] -> ShowS
Show)
data AdmittedEntry = AdmittedEntry
{ AdmittedEntry -> ContentDigest
admittedSnapshot :: ContentDigest
, AdmittedEntry -> EntryKey
admittedKey :: EntryKey
, AdmittedEntry -> Text
admittedFilename :: Text
}
deriving stock (AdmittedEntry -> AdmittedEntry -> Bool
(AdmittedEntry -> AdmittedEntry -> Bool)
-> (AdmittedEntry -> AdmittedEntry -> Bool) -> Eq AdmittedEntry
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AdmittedEntry -> AdmittedEntry -> Bool
== :: AdmittedEntry -> AdmittedEntry -> Bool
$c/= :: AdmittedEntry -> AdmittedEntry -> Bool
/= :: AdmittedEntry -> AdmittedEntry -> Bool
Eq, Int -> AdmittedEntry -> ShowS
[AdmittedEntry] -> ShowS
AdmittedEntry -> String
(Int -> AdmittedEntry -> ShowS)
-> (AdmittedEntry -> String)
-> ([AdmittedEntry] -> ShowS)
-> Show AdmittedEntry
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AdmittedEntry -> ShowS
showsPrec :: Int -> AdmittedEntry -> ShowS
$cshow :: AdmittedEntry -> String
show :: AdmittedEntry -> String
$cshowList :: [AdmittedEntry] -> ShowS
showList :: [AdmittedEntry] -> ShowS
Show)