Irmin_graphql.Server
module type S = sig ... end
GraphQL server
module type CONFIG = sig ... end
GraphQL server config
module type CUSTOM_TYPE = sig ... end
Custom GraphQL schema type and argument type for type t
.
module type CUSTOM_TYPES = sig ... end
GraphQL types for Irmin concepts (key, metadata, contents, hash and branch).
module Default_types
(S : Irmin.Generic_key.S) :
CUSTOM_TYPES
with type path := S.path
and type metadata := S.metadata
and type contents := S.contents
and type hash := S.hash
and type branch := S.branch
and type commit_key := S.commit_key
and type contents_key := S.contents_key
and type node_key := S.node_key
Default GraphQL types for the Irmin store S
.
module Make
(Server : Cohttp_lwt.S.Server)
(Config : CONFIG)
(Store : Irmin.Generic_key.S with type Schema.Info.t = Config.info) :
S
with type repo = Store.repo
and type server = Server.t
and module IO = Server.IO
Create a GraphQL server with default GraphQL types for S
.
module Make_ext
(Server : Cohttp_lwt.S.Server)
(Config : CONFIG)
(Store : Irmin.Generic_key.S with type Schema.Info.t = Config.info)
(Types :
CUSTOM_TYPES
with type path := Store.path
and type metadata := Store.metadata
and type contents := Store.contents
and type hash := Store.hash
and type branch := Store.branch
and type commit_key := Store.commit_key
and type contents_key := Store.contents_key
and type node_key := Store.node_key) :
S
with type repo = Store.repo
and type server = Server.t
and module IO = Server.IO
Create a GraphQL server with custom GraphQL types.