{"id":21678780,"url":"https://github.com/ferossgp/geql","last_synced_at":"2026-05-20T09:02:59.463Z","repository":{"id":73487783,"uuid":"249151685","full_name":"Ferossgp/geql","owner":"Ferossgp","description":"An experimental library agnostic EQL to GraphQL generator","archived":false,"fork":false,"pushed_at":"2020-06-26T16:14:49.000Z","size":10,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-20T10:17:55.458Z","etag":null,"topics":["clojure","clojurescript","eql","graphql"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ferossgp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-22T09:35:01.000Z","updated_at":"2022-04-04T09:03:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"205b4e3b-09c9-4337-9d1f-1fadcb667a59","html_url":"https://github.com/Ferossgp/geql","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Ferossgp/geql","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ferossgp%2Fgeql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ferossgp%2Fgeql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ferossgp%2Fgeql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ferossgp%2Fgeql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ferossgp","download_url":"https://codeload.github.com/Ferossgp/geql/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ferossgp%2Fgeql/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33253011,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-20T04:48:54.280Z","status":"ssl_error","status_checked_at":"2026-05-20T04:48:10.851Z","response_time":356,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clojure","clojurescript","eql","graphql"],"created_at":"2024-11-25T14:41:27.441Z","updated_at":"2026-05-20T09:02:59.447Z","avatar_url":"https://github.com/Ferossgp.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GEQL\n\nA Clojure(Script) qraphql query client library. Generate graphql queries using [EQL](https://edn-query-language.org).\nCode extracted from [Pathom](https://github.com/wilkerlucio/pathom) and extended to support extra graphql features.\n\n# Usage\n\n- `geql.core/query-\u003egraphql` is a function that can transform data in format of\nEQL to graphql string.\n- `geql.core/defquery` is a macros that generates a var containing the compiled\nstring and the query itself. This is useful for the ClojureScript app when you\nwant to remove some extra computations. The EQL tree is left so it can be used\nat the discretion of the developer to parse the response, normalization and other\nuseful computations with AST.\n\n\nTo make use of macros, it was necessary to introduce the support for variables.\nGraphql variables allow having dynamic arguments. This way a query in a form of a\nstatic string and a dynamic map of vars can be sent together to graphql server \nwithout recompiling the query everytime.\n\n### Example queries with variables\n\n```clojure\n; Query\n(geql.core/query-\u003egraphql [{'(:hero {:episode {:variable/name \"episode\"\n                                               :variable/type :String}})\n                            [:name {:friends [:name]}]}])\n=\u003e \"query ($episode:String){hero(episode:$episode){name,friends{name}}}\"\n\n; Mutation\n(geql.core/query-\u003egraphql [{'(createReview {:episode {:variable/name \"episode\"\n                                                      :variable/type :Episode!}\n                                            :stars   {:variable/name    \"stars\"\n                                                      :variable/type    :ReviewStars!\n                                                      :variable/default 5}})\n                            [:name :stars]}])\n=\u003e \"mutation ($episode:Episode!,$stars:ReviewStars!=5){createReview(episode:$episode,stars:$stars){name,stars}}\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fferossgp%2Fgeql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fferossgp%2Fgeql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fferossgp%2Fgeql/lists"}