graphql

gklijs 2021-05-05T14:46:51.014300Z

As you are using it with Kafka, https://github.com/gklijs/bkes-demo/blob/main/graphql-endpoint/src/nl/openweb/graphql_endpoint/transaction_service.clj might help as example.

mafcocinco 2021-05-05T19:45:30.016800Z

Does lacinia support Long type in some way? According to https://graphql.org/learn/schema/ it is not part of the standard but individual implementations can support “custom” types. The reason I ask is that a portion of my backend is using Datomic and Datomic ids are Long which is causing problems for lacinia. Currently, I’m converting them to strings but would prefer not to.

hlship 2021-05-05T20:00:44.017600Z

You can implement a Long as a custom scalar, which works fine if you are using EDN as your wire format, but may be problematic if using JSON.

1
hlship 2021-05-05T20:02:07.017700Z

Internally, Lacinia uses core.async to model the asynchronous behavior associated with streams.

hlship 2021-05-05T20:03:32.018Z

However, it doesn't expose that directly, instead it provides a function, a source stream, that your code may repeatedly invoke.

hlship 2021-05-05T20:03:32.018200Z

That function puts values into the necessary core.async channels, and ultimately, ensures that the data is pushed down to the client.