repos / handle-examples.hs.git


handle-examples.hs.git / vinyl-handle / domain
Evgenii Akentev  ·  2021-01-09

TemperatureProvider.hs

 1{-# LANGUAGE DataKinds #-}
 2{-# LANGUAGE OverloadedStrings #-}
 3{-# LANGUAGE TypeApplications #-}
 4
 5module TemperatureProvider where
 6
 7import HandleRec
 8import QueryTypes
 9
10type Temperature = Int
11
12type Methods = '[ '("getTemperatureData", (Location -> Day -> IO Temperature)) ]
13
14type Handle = HandleRec Methods
15
16getTemperatureData :: Handle -> Location -> Day -> IO Temperature
17getTemperatureData = getMethod @"getTemperatureData"