From 815755861152fb0e3dfdd9b6321f8f74e7bf8515 Mon Sep 17 00:00:00 2001 From: stuebinm Date: Fri, 17 Jun 2022 23:01:24 +0200 Subject: generate javascript functions (this is commented out in the cabal file, since unfortunately the servant-js package is broken in nixpkgs and therefore otherwise breaks the nix build process … but it can be used "by hand") --- app/GenJS.hs | 24 ++++++++++++++++++++++++ haskell-gtfs.cabal | 12 ++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 app/GenJS.hs diff --git a/app/GenJS.hs b/app/GenJS.hs new file mode 100644 index 0000000..a580d23 --- /dev/null +++ b/app/GenJS.hs @@ -0,0 +1,24 @@ +{-# LANGUAGE TypeApplications #-} + +-- | Just to generate javascript functions so I won't have too much +-- bother with it +module Main where + +import Universum +import Servant.JS +import Servant.JS.Vanilla +import System.Environment (getArgs) + +import API + +apiJS :: Text -> Text +apiJS url = jsForAPI (Proxy @API) (vanillaJSWith options) + where options = defCommonGeneratorOptions { urlPrefix = url } + +main :: IO () +main = do + args <- getArgs + case args of + [] -> putText (apiJS "") + [prefix] -> putText (apiJS (toText prefix)) + _ -> error "don't understand these options" diff --git a/haskell-gtfs.cabal b/haskell-gtfs.cabal index 0396a5c..ec312ee 100644 --- a/haskell-gtfs.cabal +++ b/haskell-gtfs.cabal @@ -39,6 +39,18 @@ executable tracktrain default-extensions: OverloadedStrings , ScopedTypeVariables +-- executable gen-js +-- main-is: GenJS.hs +-- build-depends: base ^>=4.14.3.0 +-- , servant-js +-- , tracktrain +-- , universum +-- hs-source-dirs: app +-- default-language: Haskell2010 +-- default-extensions: OverloadedStrings +-- , ScopedTypeVariables +-- , NoImplicitPrelude + library build-depends: base ^>=4.14.3.0 -- cgit v1.2.3