graphql-engine/server/src-lib/Hasura/GraphQL
Antoine Leblanc 0e3beb028d Extract generic containers from the codebase
### Description

There were several places in the codebase where we would either implement a generic container, or express the need for one. This PR extracts / creates all relevant containers, and adapts the relevant parts of the code to make use of said new generic containers. More specifically, it introduces the following modules:
- `Data.Set.Extended`, for new functions on `Data.Set`
- `Data.HashMap.Strict.Multi`, for hash maps that accept multiple values
- `Data.HashMap.Strict.NonEmpty`, for hash maps that can never be constructed as empty
- `Data.Trie`, for a generic implementation of a prefix tree

This PR makes use of those new containers in the following parts of the code:
- `Hasura.GraphQL.Execute.RemoteJoin.Types`
- `Hasura.RQL.Types.Endpoint*`

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3828
GitOrigin-RevId: e6c1b971bcb3f5ab66bc91d0fa4d0e9df7a0c6c6
2022-03-01 16:04:22 +00:00
..
Execute Extract generic containers from the codebase 2022-03-01 16:04:22 +00:00
Parser server: optimize collectTypeDefinitions and refactor 2022-02-24 18:56:22 +00:00
Schema server: Customize root field GraphQL schema descriptions 2022-02-28 07:50:12 +00:00
Transport Generalize remote schemas IR 2022-02-25 20:38:46 +00:00
Analyse.hs Fixed GQL aliases not being respected in the OpenAPI schema 2022-01-27 05:55:55 +00:00
Context.hs Source typename customization (close graphql-engine#6974) 2021-10-29 14:43:14 +00:00
Execute.hs server, pro: add support for per-role allowlists 2022-02-08 16:54:49 +00:00
Explain.hs Source typename customization (close graphql-engine#6974) 2021-10-29 14:43:14 +00:00
Logging.hs Source typename customization (close graphql-engine#6974) 2021-10-29 14:43:14 +00:00
Namespace.hs Refactor type name customization 2021-11-30 09:52:53 +00:00
ParameterizedQueryHash.hs Prevent uses of unsafeMkName whenever possible. 2022-01-27 15:13:37 +00:00
Parser.hs Build introspection Schema ad-hoc at parsing time 2022-02-21 20:23:55 +00:00
RemoteServer.hs server: validate REST endpoint queries after metadata change 2022-02-08 04:47:52 +00:00
Schema.hs Generalize remote schemas IR 2022-02-25 20:38:46 +00:00