repos / handle-examples.hs.git


handle-examples.hs.git / row-handle / domain
Evgenii Akentev  ·  2021-09-08

TemperatureProvider.hs

 1{-# LANGUAGE DataKinds #-}
 2{-# LANGUAGE OverloadedStrings #-}
 3{-# LANGUAGE TypeApplications #-}
 4{-# LANGUAGE TypeOperators #-}
 5
 6module TemperatureProvider where
 7
 8import Data.Row
 9import HandleRow
10import QueryTypes
11
12type Temperature = Int
13
14type Methods = "getTemperatureData" .== (Location -> Day -> IO Temperature)
15
16type Handle = HandleRow Methods
17
18getTemperatureData :: Handle -> Location -> Day -> IO Temperature
19getTemperatureData = getMethod @"getTemperatureData"