mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-16 01:44:03 +03:00
b9ee669ee1
### Description This PR improves the `Collect` module by re-ordering the functions to make clear what is public API and what is internal implementation. Furthermore, it makes use of `traverseOf` and `traverseFields` to reduce duplication. To do so, it also introduces a few more lenses in the rest of the codebase, and uses this opportunity to harmonize some structures that were not following our naming convention. While the diff is massive, a lot of it is just code moving around; the file is now divided into separate sections: - entry points: IR types for which we want to run the collection - internal monadic structure - internal traversals: functions that do nothing but drill down further - actual transformations: the three cases where we do actually have work to do: selection sets on which we do want to insert join columns, extract remote relationships... those functions are left unchanged by this PR - internal helpers PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3863 GitOrigin-RevId: f7cbecfae9eed9737b62acfa5848bfcf9d4651f6 |
||
---|---|---|
.. | ||
bench-wrk | ||
benchmarks | ||
documentation | ||
packaging | ||
src-exec | ||
src-lib | ||
src-rsr | ||
src-test | ||
tests/integration | ||
tests-hspec | ||
tests-py | ||
.dockerignore | ||
.gitignore | ||
commit_diff.txt | ||
COMPILING-ON-M1.md | ||
CONTRIBUTING.md | ||
graphql-engine.cabal | ||
Makefile | ||
STYLE.md | ||
testing-guidelines.md |