Tie allows generation of Haskell server stubs from OpenAPI (v 3.x) specifications.
Go to file
piq9117 19767f0b06 toCamelCase able to decide when to camel case.
- toCamelCase will not camel cased if the word is in screaming case.
2022-08-04 07:14:50 +02:00
.github/workflows CI: Test with ghc-9.2.3 2022-06-12 14:58:07 +02:00
assets Update logo 2022-06-20 12:10:34 +02:00
bin Update CLI help 2022-06-13 14:32:11 +02:00
example Change spelling in example app 2022-06-29 11:52:29 +02:00
src toCamelCase able to decide when to camel case. 2022-08-04 07:14:50 +02:00
test do not camel case if all caps 2022-08-04 07:14:50 +02:00
.gitignore Group methods by path 2022-02-15 13:58:22 +01:00
cabal.project Use Relude from Hackage again 2022-06-12 14:58:07 +02:00
CHANGELOG.md Initial commit 2022-02-15 11:01:21 +01:00
default.nix Sync default.nix with tie.cabal 2022-06-13 13:37:38 +02:00
LICENSE Cabal file updates 2022-06-12 14:58:07 +02:00
README.md Petstore example 2022-06-26 12:06:01 +02:00
Request.template.hs Fix request substitution marker 2022-03-09 14:21:59 +01:00
Response.template.hs Move Response.hs file to template file 2022-06-13 11:19:06 +02:00
scarf-api.yaml Add petstore golden test 2022-02-22 10:34:38 +01:00
shell.nix deveplopment nix shell 2022-02-26 22:49:03 -05:00
tie.cabal do not camel case if all caps 2022-08-04 07:14:50 +02:00

Tie allows generation of Haskell server stubs from OpenAPI (v 3.x) specifications.

If you are looking for a generator for Haskell client code, check out the Haskell-OpenAPI-Client-Code-Generator project.

Usage

$ tie --help
tie - openapi3 server code generator

Usage: tie [-o|--output DIR] [--module-name MODULE] [--package-name PACKAGE]
           [--extra-package PACKAGE] FILE

  Generate a Haskell server from an OpenAPI3 specification

Available options:
  -o,--output DIR          The directory output (default: "out")
  --module-name MODULE     Name of the generated top level module
                           (default: "OpenAPI")
  --package-name PACKAGE   Name of the generated cabal project
                           (default: "open-api")
  --extra-package PACKAGE  Extra packages to include in the generated cabal
                           project
  FILE                     OpenAPI specification file
  -h,--help                Show this help text

Example

See example/ for the ubiquitous OpenAPI Petstore example.

Installation

Building from source

Below are the steps to install Tie using the Cabal build tool.

First, you need to clone the repository

$ git clone https://github.com/scarf-sh/tie.git
$ cd tie

Then, you need to build it using cabal:

$ cabal build exe:tie

Finally, you can copy the resulting executable to your desired location:

$ cp $(cabal exec -- which tie) ~/.local/bin/tie

Alternatively, instead of manually copying the executable you can install with cabal:

$ cabal install .

Community & Contact

Feel free to join on us on our community Slack (#tie channel)!

License

This program is under the terms of the Apache License v2.0.

Authors

Tie is originally made and currently sponsored by Scarf among other contributors.