val singularize : string -> string
val capitalize : string -> string
module Query : sig ... end
module type VIEW = sig ... end
type action
= [
| `Index |
| `Create |
| `New |
| `Edit |
| `Show |
| `Update |
| `Destroy |
]
val router_of_action : (module CONTROLLER with type t = 'a) -> string -> ('b, 'c, 'a) Conformist.t -> action -> Sihl.Web.router
val routers_of_actions : string -> ('b, 'c, 'a) Conformist.t -> (module CONTROLLER with type t = 'a) -> action list -> Sihl.Web.router list
val resource_of_controller : ?only:action list -> string -> ('b, 'c, 'a) Conformist.t -> (module CONTROLLER with type t = 'a) -> Sihl.Web.router list
val resource_of_service : ?only:action list -> string -> ('b, 'c, 'a) Conformist.t -> view:(module VIEW with type t = 'a) -> (module SERVICE with type t = 'a) -> Sihl.Web.router list