fakedata-0.8.0: src/Faker/Provider/DrivingLicense.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
module Faker.Provider.DrivingLicense where
import Config
import Control.Monad.Catch
import Control.Monad.IO.Class
import Data.Text (Text)
import Data.Vector (Vector)
import Data.Monoid ((<>))
import Data.Yaml
import Faker
import Faker.Internal
import Faker.Provider.TH
import Language.Haskell.TH
parseDrivingLicense :: FromJSON a => FakerSettings -> Value -> Parser a
parseDrivingLicense settings (Object obj) = do
en <- obj .: (getLocale settings)
faker <- en .: "faker"
drivingLicense <- faker .: "driving_licence"
pure drivingLicense
parseDrivingLicense settings val = fail $ "expected Object, but got " <> (show val)
parseDrivingLicenseField ::
(FromJSON a, Monoid a) => FakerSettings -> Text -> Value -> Parser a
parseDrivingLicenseField settings txt val = do
drivingLicense <- parseDrivingLicense settings val
field <- drivingLicense .:? txt .!= mempty
pure field
parseDrivingLicenseFields ::
(FromJSON a, Monoid a) => FakerSettings -> [Text] -> Value -> Parser a
parseDrivingLicenseFields settings txts val = do
drivingLicense <- parseDrivingLicense settings val
helper drivingLicense txts
where
helper :: (FromJSON a) => Value -> [Text] -> Parser a
helper a [] = parseJSON a
helper (Object a) (x:xs) = do
field <- a .: x
helper field xs
helper a (x:xs) = fail $ "expect Object, but got " <> (show a)
parseUnresolvedDrivingLicenseField ::
(FromJSON a, Monoid a)
=> FakerSettings
-> Text
-> Value
-> Parser (Unresolved a)
parseUnresolvedDrivingLicenseField settings txt val = do
drivingLicense <- parseDrivingLicense settings val
field <- drivingLicense .:? txt .!= mempty
pure $ pure field
parseUnresolvedDrivingLicenseFields ::
(FromJSON a, Monoid a)
=> FakerSettings
-> [Text]
-> Value
-> Parser (Unresolved a)
parseUnresolvedDrivingLicenseFields settings txts val = do
drivingLicense <- parseDrivingLicense settings val
helper drivingLicense txts
where
helper :: (FromJSON a) => Value -> [Text] -> Parser (Unresolved a)
helper a [] = do
v <- parseJSON a
pure $ pure v
helper (Object a) (x:xs) = do
field <- a .: x
helper field xs
helper a _ = fail $ "expect Object, but got " <> (show a)
$(genParserUnresolveds "drivingLicense" ["usa","alabama"])
$(genProviderUnresolveds "drivingLicense" ["usa","alabama"])
$(genParserUnresolveds "drivingLicense" ["usa","alaska"])
$(genProviderUnresolveds "drivingLicense" ["usa","alaska"])
$(genParserUnresolveds "drivingLicense" ["usa","arizona"])
$(genProviderUnresolveds "drivingLicense" ["usa","arizona"])
$(genParserUnresolveds "drivingLicense" ["usa","arkansas"])
$(genProviderUnresolveds "drivingLicense" ["usa","arkansas"])
$(genParserUnresolveds "drivingLicense" ["usa","california"])
$(genProviderUnresolveds "drivingLicense" ["usa","california"])
$(genParserUnresolveds "drivingLicense" ["usa","colorado"])
$(genProviderUnresolveds "drivingLicense" ["usa","colorado"])
$(genParserUnresolveds "drivingLicense" ["usa","connecticut"])
$(genProviderUnresolveds "drivingLicense" ["usa","connecticut"])
$(genParserUnresolveds "drivingLicense" ["usa","delaware"])
$(genProviderUnresolveds "drivingLicense" ["usa","delaware"])
$(genParserUnresolveds "drivingLicense" ["usa","district_of_columbia"])
$(genProviderUnresolveds "drivingLicense" ["usa","district_of_columbia"])
$(genParserUnresolveds "drivingLicense" ["usa","florida"])
$(genProviderUnresolveds "drivingLicense" ["usa","florida"])
$(genParserUnresolveds "drivingLicense" ["usa","georgia"])
$(genProviderUnresolveds "drivingLicense" ["usa","georgia"])
$(genParserUnresolveds "drivingLicense" ["usa","hawaii"])
$(genProviderUnresolveds "drivingLicense" ["usa","hawaii"])
$(genParserUnresolveds "drivingLicense" ["usa","idaho"])
$(genProviderUnresolveds "drivingLicense" ["usa","idaho"])
$(genParserUnresolveds "drivingLicense" ["usa","illinois"])
$(genProviderUnresolveds "drivingLicense" ["usa","illinois"])
$(genParserUnresolveds "drivingLicense" ["usa","indiana"])
$(genProviderUnresolveds "drivingLicense" ["usa","indiana"])
$(genParserUnresolveds "drivingLicense" ["usa","iowa"])
$(genProviderUnresolveds "drivingLicense" ["usa","iowa"])
$(genParserUnresolveds "drivingLicense" ["usa","kansas"])
$(genProviderUnresolveds "drivingLicense" ["usa","kansas"])
$(genParserUnresolveds "drivingLicense" ["usa","kentucky"])
$(genProviderUnresolveds "drivingLicense" ["usa","kentucky"])
$(genParserUnresolveds "drivingLicense" ["usa","louisiana"])
$(genProviderUnresolveds "drivingLicense" ["usa","louisiana"])
$(genParserUnresolveds "drivingLicense" ["usa","maine"])
$(genProviderUnresolveds "drivingLicense" ["usa","maine"])
$(genParserUnresolveds "drivingLicense" ["usa","maryland"])
$(genProviderUnresolveds "drivingLicense" ["usa","maryland"])
$(genParserUnresolveds "drivingLicense" ["usa","massachusetts"])
$(genProviderUnresolveds "drivingLicense" ["usa","massachusetts"])
$(genParserUnresolveds "drivingLicense" ["usa","michigan"])
$(genProviderUnresolveds "drivingLicense" ["usa","michigan"])
$(genParserUnresolveds "drivingLicense" ["usa","minnesota"])
$(genProviderUnresolveds "drivingLicense" ["usa","minnesota"])
$(genParserUnresolveds "drivingLicense" ["usa","mississippi"])
$(genProviderUnresolveds "drivingLicense" ["usa","mississippi"])
$(genParserUnresolveds "drivingLicense" ["usa","missouri"])
$(genProviderUnresolveds "drivingLicense" ["usa","missouri"])
$(genParserUnresolveds "drivingLicense" ["usa","montana"])
$(genProviderUnresolveds "drivingLicense" ["usa","montana"])
$(genParserUnresolveds "drivingLicense" ["usa","nebraska"])
$(genProviderUnresolveds "drivingLicense" ["usa","nebraska"])
$(genParserUnresolveds "drivingLicense" ["usa","nevada"])
$(genProviderUnresolveds "drivingLicense" ["usa","nevada"])
$(genParserUnresolveds "drivingLicense" ["usa","new_hampshire"])
$(genProviderUnresolveds "drivingLicense" ["usa","new_hampshire"])
$(genParserUnresolveds "drivingLicense" ["usa","new_jersey"])
$(genProviderUnresolveds "drivingLicense" ["usa","new_jersey"])
$(genParserUnresolveds "drivingLicense" ["usa","new_mexico"])
$(genProviderUnresolveds "drivingLicense" ["usa","new_mexico"])
$(genParserUnresolveds "drivingLicense" ["usa","new_york"])
$(genProviderUnresolveds "drivingLicense" ["usa","new_york"])
$(genParserUnresolveds "drivingLicense" ["usa","north_carolina"])
$(genProviderUnresolveds "drivingLicense" ["usa","north_carolina"])
$(genParserUnresolveds "drivingLicense" ["usa","ohio"])
$(genProviderUnresolveds "drivingLicense" ["usa","ohio"])
$(genParserUnresolveds "drivingLicense" ["usa","oklahoma"])
$(genProviderUnresolveds "drivingLicense" ["usa","oklahoma"])
$(genParserUnresolveds "drivingLicense" ["usa","oregon"])
$(genProviderUnresolveds "drivingLicense" ["usa","oregon"])
$(genParserUnresolveds "drivingLicense" ["usa","pennsylvania"])
$(genProviderUnresolveds "drivingLicense" ["usa","pennsylvania"])
$(genParserUnresolveds "drivingLicense" ["usa","rhode_island"])
$(genProviderUnresolveds "drivingLicense" ["usa","rhode_island"])
$(genParserUnresolveds "drivingLicense" ["usa","south_carolina"])
$(genProviderUnresolveds "drivingLicense" ["usa","south_carolina"])
$(genParserUnresolveds "drivingLicense" ["usa","south_dakota"])
$(genProviderUnresolveds "drivingLicense" ["usa","south_dakota"])
$(genParserUnresolveds "drivingLicense" ["usa","tennessee"])
$(genProviderUnresolveds "drivingLicense" ["usa","tennessee"])
$(genParserUnresolveds "drivingLicense" ["usa","texas"])
$(genProviderUnresolveds "drivingLicense" ["usa","texas"])
$(genParserUnresolveds "drivingLicense" ["usa","utah"])
$(genProviderUnresolveds "drivingLicense" ["usa","utah"])
$(genParserUnresolveds "drivingLicense" ["usa","vermont"])
$(genProviderUnresolveds "drivingLicense" ["usa","vermont"])
$(genParserUnresolveds "drivingLicense" ["usa","virginia"])
$(genProviderUnresolveds "drivingLicense" ["usa","virginia"])
$(genParserUnresolveds "drivingLicense" ["usa","washington"])
$(genProviderUnresolveds "drivingLicense" ["usa","washington"])
$(genParserUnresolveds "drivingLicense" ["usa","west_virginia"])
$(genProviderUnresolveds "drivingLicense" ["usa","west_virginia"])
$(genParserUnresolveds "drivingLicense" ["usa","wisconsin"])
$(genProviderUnresolveds "drivingLicense" ["usa","wisconsin"])
$(genParserUnresolveds "drivingLicense" ["usa","wyoming"])
$(genProviderUnresolveds "drivingLicense" ["usa","wyoming"])
resolveDrivingLicenseText :: (MonadIO m, MonadThrow m) => FakerSettings -> Text -> m Text
resolveDrivingLicenseText = genericResolver' resolveDrivingLicenseField
resolveDrivingLicenseField :: (MonadThrow m, MonadIO m) => FakerSettings -> Text -> m Text
resolveDrivingLicenseField settings str = throwM $ InvalidField "drivingLicense" str