GraphQL arguments to infinity and beyond

When you structure a call to appInstallation, you can ask for the app. One of the parameters to app is the installation. One of the parameters of the installation is app. One of the parameters of the app is the installation.

It is amusing that this is a thing.

So you can generate as many copies of this as you like. I am curious as to why this circular arrangement exists for this particular entity. I have not found that in too many other places. Any explanations like I am 5 for this?

As an example of useless but possible, a result set that could go on and on and on…

{
  "data": {
    "appInstallation": {
      "app": {
        "installation": {
          "app": {
            "installation": {
              "app": {
                "id": "gid:\/\/shopify\/App\/6607915"
              }
            }
          }
        }
      }
    }
  },
1 Like