packages feed

morpheus-graphql-core 0.27.2 → 0.27.3

raw patch · 4 files changed

+26/−19 lines, 4 filesdep ~transformersdep ~vectorPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: transformers, vector

API changes (from Hackage documentation)

Files

morpheus-graphql-core.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           morpheus-graphql-core-version:        0.27.2+version:        0.27.3 synopsis:       Morpheus GraphQL Core description:    Build GraphQL APIs with your favorite functional language! category:       web, graphql@@ -251,9 +251,9 @@     , template-haskell >=2.0.0 && <3.0.0     , text >=1.2.3 && <3.0.0     , th-lift-instances >=0.1.1 && <0.3.0-    , transformers >=0.3.0 && <0.6.0+    , transformers >=0.3.0 && <0.7.0     , unordered-containers >=0.2.8 && <0.3.0-    , vector >=0.12.0.1 && <0.13.0+    , vector >=0.12.0.1 && <0.15.0   default-language: Haskell2010  test-suite morpheus-graphql-core-test@@ -282,7 +282,7 @@     , template-haskell >=2.0.0 && <3.0.0     , text >=1.2.3 && <3.0.0     , th-lift-instances >=0.1.1 && <0.3.0-    , transformers >=0.3.0 && <0.6.0+    , transformers >=0.3.0 && <0.7.0     , unordered-containers >=0.2.8 && <0.3.0-    , vector >=0.12.0.1 && <0.13.0+    , vector >=0.12.0.1 && <0.15.0   default-language: Haskell2010
src/Data/Mergeable/OrdMap.hs view
@@ -17,6 +17,7 @@  module Data.Mergeable.OrdMap   ( OrdMap,+    ordMapDelete,   ) where @@ -73,7 +74,7 @@ instance (NameCollision e a, Eq k, Hashable k, Monad m, MonadError e m) => Merge m (OrdMap k a) where   merge (OrdMap ks1 x) (OrdMap ks2 y) = OrdMap (mergeOrder ks1 ks2) <$> merge x y -mergeOrder :: Eq a => [a] -> [a] -> [a]+mergeOrder :: (Eq a) => [a] -> [a] -> [a] mergeOrder ks1 ks2 = ks1 <> (ks2 \\ ks1)  instance@@ -85,3 +86,7 @@   FromList m OrdMap k a   where   fromList xs = OrdMap (map fst xs) <$> fromList xs++ordMapDelete :: (Eq k, Hashable k) => k -> OrdMap k a -> OrdMap k a+ordMapDelete k (OrdMap order entries) =+  OrdMap (filter (k /=) order) (HM.delete k entries)
src/Data/Morpheus/Types/Internal/AST/TypeSystem.hs view
@@ -474,9 +474,10 @@   Schema s ->   [TypeDefinition ANY s] possibleInterfaceTypes name schema =-  mapMaybe-    (isPossibleInterfaceType name)-    (toList $ typeDefinitions schema)+  sortWith typeName $+    mapMaybe+      (isPossibleInterfaceType name)+      (toList $ typeDefinitions schema)  isPossibleInterfaceType ::   TypeName ->
src/Data/Morpheus/Validation/Query/UnionSelection.hs view
@@ -16,14 +16,15 @@ where  import Control.Monad.Except (MonadError (throwError))-import qualified Data.HashMap.Lazy as HM-import Data.Mergeable (OrdMap)+import Data.Mergeable (IsMap (toAssoc), OrdMap)+import Data.Mergeable.OrdMap (ordMapDelete) import Data.Morpheus.Internal.Utils   ( empty,     fromElems,     mergeConcat,     selectOr,     startHistory,+    unsafeFromList,   ) import Data.Morpheus.Types.Internal.AST.DirectiveLocation (DirectiveLocation (..)) import Data.Morpheus.Types.Internal.AST.Name (TypeName)@@ -100,11 +101,11 @@ tagUnionFragments ::   [UnionTag] ->   OrdMap TypeName (TypeDefinition IMPLEMENTABLE VALID) ->-  HashMap TypeName [SelectionSet VALID]+  OrdMap TypeName [SelectionSet VALID] tagUnionFragments fragments types = fmap categorizeType getSelectedTypes   where-    getSelectedTypes :: HashMap TypeName [TypeName]-    getSelectedTypes = fromList (map select fragments)+    getSelectedTypes :: OrdMap TypeName [TypeName]+    getSelectedTypes = unsafeFromList (map select fragments)       where         select UnionTag {unionTagName} =           ( unionTagName,@@ -135,19 +136,19 @@  joinClusters ::   Maybe (SelectionSet VALID) ->-  HashMap TypeName [SelectionSet VALID] ->+  OrdMap TypeName [SelectionSet VALID] ->   FragmentValidator s (SelectionContent VALID) joinClusters maybeSelSet typedSelections   | null typedSelections = maybe noEmptySelection (pure . SelectionSet) maybeSelSet   | otherwise =-      traverse mkUnionTag (HM.toList typedSelections)+      traverse mkUnionTag (toAssoc typedSelections)         >>= fmap (UnionSelection maybeSelSet) . startHistory . fromElems   where     mkUnionTag :: (TypeName, [SelectionSet VALID]) -> FragmentValidator s UnionTag     mkUnionTag (typeName, fragments) = UnionTag typeName <$> (maybeMerge (toList maybeSelSet <> fragments) >>= maybe noEmptySelection pure)  validateInterfaceSelection ::-  ValidateFragmentSelection s =>+  (ValidateFragmentSelection s) =>   (Fragment RAW -> FragmentValidator s (SelectionSet VALID)) ->   (TypeDefinition IMPLEMENTABLE VALID -> SelectionSet RAW -> FragmentValidator s (SelectionSet VALID)) ->   TypeDefinition IMPLEMENTABLE VALID ->@@ -163,13 +164,13 @@     validSelectionSet <- traverse (validate typeDef) selectionSet     let tags = tagUnionFragments spreads possibleTypes     defaultSelection <- maybeMerge (toList validSelectionSet <> selectOr [] id typeName tags)-    joinClusters defaultSelection (HM.delete typeName tags)+    joinClusters defaultSelection (ordMapDelete typeName tags)  mkUnionRootType :: FragmentValidator s (TypeDefinition IMPLEMENTABLE VALID) mkUnionRootType = (`mkType` DataObject [] empty) <$> asksScope currentTypeName  validateUnionSelection ::-  ValidateFragmentSelection s =>+  (ValidateFragmentSelection s) =>   (Fragment RAW -> FragmentValidator s (SelectionSet VALID)) ->   (TypeDefinition IMPLEMENTABLE VALID -> SelectionSet RAW -> FragmentValidator s (SelectionSet VALID)) ->   UnionTypeDefinition OUT VALID ->