packages feed

iri 0.3 → 0.3.1

raw patch · 5 files changed

+143/−1 lines, 5 filesdep +hashabledep +vector-instancesPVP ok

version bump matches the API change (PVP)

Dependencies added: hashable, vector-instances

API changes (from Hackage documentation)

Files

iri.cabal view
@@ -1,7 +1,7 @@ name:   iri version:-  0.3+  0.3.1 category:   URI, URL, IRI, Network synopsis:@@ -66,6 +66,9 @@     Iri.Data.Instances.Lift     Iri.Data.Instances.Show     Iri.Data.Instances.Eq+    Iri.Data.Instances.Hashable+    Iri.Data.Instances.Ord+    Iri.Data.Instances.Generic     Iri.Prelude     Iri.Utf8CodePoint     Iri.Vector@@ -84,10 +87,12 @@     attoparsec >=0.13 && <0.14,     punycode >=2 && <3,     ip >=1.1 && <2,+    hashable >=1.2 && <2,     text ==1.*,     text-builder >=0.5.1 && <0.6,     bytestring >=0.10 && <0.11,     vector >=0.10 && <0.13,+    vector-instances >=3.4 && <4,     vector-builder >=0.3.4 && <0.4,     profunctors >=5.2 && <6,     contravariant >=1.4 && <2,
+ library/Iri/Data/Instances/Generic.hs view
@@ -0,0 +1,40 @@+module Iri.Data.Instances.Generic+where++import Iri.Prelude+import Iri.Data.Types+++deriving instance Generic Iri++deriving instance Generic Scheme++deriving instance Generic Hierarchy++deriving instance Generic Authority++deriving instance Generic UserInfo++deriving instance Generic User++deriving instance Generic Password++deriving instance Generic Host++deriving instance Generic RegName++deriving instance Generic DomainLabel++deriving instance Generic Port++deriving instance Generic Path++deriving instance Generic PathSegment++deriving instance Generic Query++deriving instance Generic Fragment++deriving instance Generic HttpIri++deriving instance Generic Security
+ library/Iri/Data/Instances/Hashable.hs view
@@ -0,0 +1,48 @@+module Iri.Data.Instances.Hashable+where++import Iri.Prelude+import Iri.Data.Types+import Iri.Data.Instances.Generic+import qualified Net.IPv6 as B+++instance Hashable Iri++instance Hashable Scheme++instance Hashable Hierarchy++instance Hashable Authority++instance Hashable UserInfo++instance Hashable User++instance Hashable Password++instance Hashable Host where+  hashWithSalt salt host =+    hashWithSalt salt $+    case host of+      NamedHost regName -> hashWithSalt 0 regName+      IpV4Host ip -> hashWithSalt 1 ip+      IpV6Host (B.IPv6 a b) -> hashWithSalt 2 (hashWithSalt (fromIntegral a) b)++instance Hashable RegName++instance Hashable DomainLabel++instance Hashable Port++instance Hashable Path++instance Hashable PathSegment++instance Hashable Query++instance Hashable Fragment++instance Hashable HttpIri++instance Hashable Security
+ library/Iri/Data/Instances/Ord.hs view
@@ -0,0 +1,41 @@+module Iri.Data.Instances.Ord+where++import Iri.Prelude+import Iri.Data.Types+import Iri.Data.Instances.Eq+++deriving instance Ord Iri++deriving instance Ord Scheme++deriving instance Ord Hierarchy++deriving instance Ord Authority++deriving instance Ord UserInfo++deriving instance Ord User++deriving instance Ord Password++deriving instance Ord Host++deriving instance Ord RegName++deriving instance Ord DomainLabel++deriving instance Ord Port++deriving instance Ord Path++deriving instance Ord PathSegment++deriving instance Ord Query++deriving instance Ord Fragment++deriving instance Ord HttpIri++deriving instance Ord Security
library/Iri/Prelude.hs view
@@ -28,6 +28,14 @@ ------------------------- import Data.Semigroup as Exports +-- hashable+-------------------------+import Data.Hashable as Exports++-- vector-instances+-------------------------+import Data.Vector.Instances ()+ -- bytestring ------------------------- import Data.ByteString as Exports (ByteString)