{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
module Faker.Company where
import Data.Monoid ((<>))
import Data.Text
import qualified Data.Vector as V
import Faker
import Faker.Internal
import Faker.Provider.Company
import Faker.TH
$(generateFakeField "company" "suffix")
buzzword :: Fake Text
buzzword =
Fake
(\settings -> do
vec :: V.Vector (V.Vector Text) <- companyBuzzwordsProvider settings
let item :: IO (V.Vector Text) = rvec settings vec
item' <- item
rvec settings item')
bs :: Fake Text
bs =
Fake
(\settings -> do
vec :: V.Vector (V.Vector Text) <- companyBsProvider settings
let item :: V.Vector (IO Text) = V.map (\v -> rvec settings v) vec
item' :: IO (V.Vector Text) = sequence item
items <- item'
let txt = V.foldl1' (\a b -> a <> " " <> b) items
pure txt)
$(generateFakeFieldUnresolved "company" "name")
$(generateFakeField "company" "industry")
$(generateFakeField "company" "profession")
$(generateFakeField "company" "type")
$(generateFakeField "company" "sic_code")