xml-optics 0.1.0 → 0.2.0
raw patch · 3 files changed
+30/−9 lines, 3 filesdep ~optics-corePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: optics-core
API changes (from Hackage documentation)
- Text.XML.Optics: (./) :: (Is (Join k A_Traversal) (Join (Join k A_Traversal) l), Is l (Join (Join k A_Traversal) l), Is k (Join k A_Traversal), Is A_Traversal (Join k A_Traversal)) => Optic k is s t Element Element -> Optic l js Element Element a b -> Optic (Join (Join k A_Traversal) l) (Append (Append is (WithIx Int)) js) s t a b
+ Text.XML.Optics: (./) :: (JoinKinds k1 l m, JoinKinds k2 A_Traversal k1, AppendIndices is1 js ks, AppendIndices is2 (WithIx Int) is1) => Optic k2 is2 s t Element Element -> Optic l js Element Element a b -> Optic m ks s t a b
- Text.XML.Optics: (.//) :: (Is (Join k A_Traversal) (Join (Join k A_Traversal) l), Is l (Join (Join k A_Traversal) l), Is k (Join k A_Traversal), Is A_Traversal (Join k A_Traversal)) => Optic k is s t Element Element -> Optic l js Element Element a b -> Optic (Join (Join k A_Traversal) l) (Append is js) s t a b
+ Text.XML.Optics: (.//) :: (AppendIndices is js ks, JoinKinds k1 l m, JoinKinds k2 A_Traversal k1) => Optic k2 is s t Element Element -> Optic l js Element Element a b -> Optic m ks s t a b
Files
- CHANGELOG.md +5/−0
- src/Text/XML/Optics.hs +16/−0
- xml-optics.cabal +9/−9
CHANGELOG.md view
@@ -1,5 +1,10 @@ # xml-optics +## 0.2.0++* Compatibility with optics 0.4+* Version bound on optics+ ## 0.1.0 Initial release
src/Text/XML/Optics.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE CPP #-}+ module Text.XML.Optics ( -- * Document Document (..),@@ -184,7 +186,14 @@ -- | Compose two 'Traversal'' using 'plate' -- -- @t1 './' t2 = t1 '%' 'plate' '%' t2@+#if MIN_VERSION_optics_core(0,4,0)+(./) :: (JoinKinds k1 l m, JoinKinds k2 A_Traversal k1,+ AppendIndices is1 js ks, AppendIndices is2 (WithIx Int) is1) =>+ Optic k2 is2 s t Element Element+ -> Optic l js Element Element a b -> Optic m ks s t a b+#else (./) :: (Is (Join k A_Traversal) (Join (Join k A_Traversal) l), Is l (Join (Join k A_Traversal) l), Is k (Join k A_Traversal), Is A_Traversal (Join k A_Traversal)) => Optic k is s t Element Element -> Optic l js Element Element a b -> Optic (Join (Join k A_Traversal) l) (Append (Append is (WithIx Int)) js) s t a b+#endif o1 ./ o2 = o1 % plate % o2 {-# INLINE (./) #-} @@ -193,6 +202,13 @@ -- | A version of './' that ignores the index from 'plate' -- -- @t1 './/' t1 = t1 '<%' 'plate' '%' t2@+#if MIN_VERSION_optics_core(0,4,0)+(.//) :: (AppendIndices is js ks, JoinKinds k1 l m,+ JoinKinds k2 A_Traversal k1) =>+ Optic k2 is s t Element Element+ -> Optic l js Element Element a b -> Optic m ks s t a b+#else (.//) :: (Is (Join k A_Traversal) (Join (Join k A_Traversal) l), Is l (Join (Join k A_Traversal) l), Is k (Join k A_Traversal), Is A_Traversal (Join k A_Traversal)) => Optic k is s t Element Element -> Optic l js Element Element a b -> Optic (Join (Join k A_Traversal) l) (Append is js) s t a b+#endif o1 .// o2 = o1 <% plate % o2 {-# INLINE (.//) #-}
xml-optics.cabal view
@@ -1,14 +1,15 @@ cabal-version: 3.0 name: xml-optics-version: 0.1.0-+version: 0.2.0 synopsis: Optics for xml-conduit-description: Optics port of xml-lens, a collection of optics for xml-conduit+description:+ Optics port of xml-lens, a collection of optics for xml-conduit+ category: XML license: BSD-3-Clause license-file: LICENSE author: Poscat-maintainer: Poscat <poscat@mail.poscat.moe>+maintainer: Poscat <poscat@poscat.moe> copyright: Copyright (c) Poscat 2021 stability: experimental homepage: https://github.com/poscat0x04/xml-optics@@ -19,11 +20,11 @@ common common-attrs build-depends:- , base >=4.10 && <5+ , base >=4.10 && <5 , containers- , optics-core- , xml-conduit+ , optics-core >=0.3 && <0.5 , text+ , xml-conduit default-language: Haskell2010 default-extensions:@@ -66,8 +67,7 @@ library import: common-attrs build-depends:- exposed-modules:- Text.XML.Optics+ exposed-modules: Text.XML.Optics other-modules: hs-source-dirs: src