packages feed

aws-arn 0.1.0.0 → 0.1.0.1

raw patch · 4 files changed

+32/−9 lines, 4 filesdep ~basedep ~hashabledep ~lensPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: base, hashable, lens, text

API changes (from Hackage documentation)

- Network.AWS.ARN: arnAccount :: forall r_a9xv. Lens' (ARN r_a9xv) Text
+ Network.AWS.ARN: arnAccount :: forall r_a9zE. Lens' (ARN r_a9zE) Text
- Network.AWS.ARN: arnPartition :: forall r_a9xv. Lens' (ARN r_a9xv) Text
+ Network.AWS.ARN: arnPartition :: forall r_a9zE. Lens' (ARN r_a9zE) Text
- Network.AWS.ARN: arnRegion :: forall r_a9xv. Lens' (ARN r_a9xv) Text
+ Network.AWS.ARN: arnRegion :: forall r_a9zE. Lens' (ARN r_a9zE) Text
- Network.AWS.ARN: arnResource :: forall r_a9xv r_af1K. Lens (ARN r_a9xv) (ARN r_af1K) r_a9xv r_af1K
+ Network.AWS.ARN: arnResource :: forall r_a9zE r_af2D. Lens (ARN r_a9zE) (ARN r_af2D) r_a9zE r_af2D
- Network.AWS.ARN: arnService :: forall r_a9xv. Lens' (ARN r_a9xv) Text
+ Network.AWS.ARN: arnService :: forall r_a9zE. Lens' (ARN r_a9zE) Text

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for aws-arn +## 0.1.0.1 -- 2021-12-16++* Support GHC 9.0.1, GHC 9.2.1, and `hashable <1.5`.+ ## 0.1.0.0 -- 2021-04-07  * First version. Released on an unsuspecting world.
README.md view
@@ -92,7 +92,7 @@ * `*.hs`: [`ormolu`](https://github.com/tweag/ormolu) * `*.cabal`:   [`cabal-fmt`](https://hackage.haskell.org/package/cabal-fmt)-  (`cabal-fmt --inplace wai-handler-hal.cabal`)+  (`cabal-fmt --inplace aws-arn.cabal`) * `*.nix`:   [`nixpkgs-fmt`](https://github.com/nix-community/nixpkgs-fmt)   (`nixpkgs-fmt *.nix`)
aws-arn.cabal view
@@ -1,6 +1,6 @@ cabal-version:      2.2 name:               aws-arn-version:            0.1.0.0+version:            0.1.0.1 synopsis:   Types and optics for manipulating Amazon Resource Names (ARNs) @@ -35,7 +35,7 @@   CHANGELOG.md   README.md -tested-with:        GHC ==8.6.5 || ==8.8.4 || ==8.10.4+tested-with:        GHC ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.1  common opts   default-language: Haskell2010@@ -48,9 +48,9 @@  common deps   build-depends:-    , base             >=4.12   && <4.15-    , deriving-compat  ^>=0.5.10-    , lens             >=4.18.1 && <5.1+    , base             >=4.12   && <4.17+    , deriving-compat  >=0.5.10 && <0.7+    , lens             >=4.18.1 && <5.2     , text             ^>=1.2.3  library@@ -59,7 +59,7 @@     Network.AWS.ARN     Network.AWS.ARN.Lambda -  build-depends:   hashable ^>=1.3.0.0+  build-depends:   hashable >=1.3.0.0 && <1.5   hs-source-dirs:  src  test-suite spec
src/Network/AWS/ARN.hs view
@@ -3,6 +3,7 @@ {-# LANGUAGE DeriveTraversable #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE TemplateHaskell #-} {-# OPTIONS_HADDOCK show-extensions #-} @@ -36,7 +37,7 @@ -- let --   authorizerSampleARN = "arn:aws:execute-api:us-east-1:123456789012:my-spiffy-api\/stage\/GET\/some\/deep\/path" -- in---   over ('_ARN' . 'arnResource' . 'slashes') (\parts -> take 2 parts ++ ["*"]) authorizerSampleARN+--   over ('_ARN' . 'arnResource' . 'slashes') (\\parts -> take 2 parts ++ ["*"]) authorizerSampleARN -- @ module Network.AWS.ARN   ( ARN (..),@@ -114,7 +115,6 @@       Generic,       Generic1,       Hashable,-      Hashable1,       Functor,       Foldable,       Traversable@@ -125,6 +125,8 @@ $(deriveOrd1 ''ARN) $(deriveShow1 ''ARN) +deriving instance Hashable1 ARN+ toARN :: Text -> Maybe (ARN Text) toARN t = case T.splitOn ":" t of   ("arn" : part : srv : reg : acc : res) ->@@ -156,6 +158,19 @@  -- | Split a 'Text' into colon-separated parts. --+-- This is not truly a lawful 'Iso'', but it is useful. The 'Iso''+-- laws are violated for lists whose members contain @':'@:+--+-- >>> [":"] ^. from colons . colons+-- ["",""]+--+-- The laws are also violated on empty lists:+--+-- >>> [] ^. from colons . colons+-- [""]+--+-- However, it is still a useful tool:+-- -- >>> "foo:bar:baz" & colons . ix 1 .~ "quux" -- "foo:quux:baz" colons :: Iso' Text [Text]@@ -164,8 +179,12 @@  -- | Split a 'Text' into slash-separated parts. --+-- This is not truly a lawful 'Iso'', but it is useful:+-- -- >>> "foo/bar/baz" ^. slashes -- ["foo","bar","baz"]+--+-- Similar caveats to 'colons' apply here. slashes :: Iso' Text [Text] slashes = iso (T.splitOn "/") (T.intercalate "/") {-# INLINE slashes #-}