{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
module Faker.Provider.Address where
import Config
import Control.Monad.Catch
import Control.Monad.IO.Class
import Data.Map.Strict (Map)
import Data.Monoid ((<>))
import Data.Text (Text)
import Data.Vector (Vector)
import qualified Data.Vector as V
import Data.Yaml
import Faker
import Faker.Internal
import Faker.Provider.TH
import Faker.Provider.Name (nameNameProvider, resolveNameField)
parseAddress :: FromJSON a => FakerSettings -> Value -> Parser a
parseAddress :: FakerSettings -> Value -> Parser a
parseAddress FakerSettings
settings (Object Object
obj) = do
Object
en <- Object
obj Object -> Key -> Parser Object
forall a. FromJSON a => Object -> Key -> Parser a
.: (FakerSettings -> Key
getLocaleKey FakerSettings
settings)
Object
faker <- Object
en Object -> Key -> Parser Object
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"faker"
a
address <- Object
faker Object -> Key -> Parser a
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"address"
a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure a
address
parseAddress FakerSettings
settings Value
val = String -> Parser a
forall (m :: * -> *) a. MonadFail m => String -> m a
fail (String -> Parser a) -> String -> Parser a
forall a b. (a -> b) -> a -> b
$ String
"expected Object, but got " String -> String -> String
forall a. Semigroup a => a -> a -> a
<> (Value -> String
forall a. Show a => a -> String
show Value
val)
parseAddressField ::
(FromJSON a, Monoid a) => FakerSettings -> AesonKey -> Value -> Parser a
parseAddressField :: FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
txt Value
val = do
Object
address <- FakerSettings -> Value -> Parser Object
forall a. FromJSON a => FakerSettings -> Value -> Parser a
parseAddress FakerSettings
settings Value
val
a
field <- Object
address Object -> Key -> Parser (Maybe a)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
txt Parser (Maybe a) -> a -> Parser a
forall a. Parser (Maybe a) -> a -> Parser a
.!= a
forall a. Monoid a => a
mempty
a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure a
field
parseUnresolvedAddressField ::
(FromJSON a, Monoid a)
=> FakerSettings
-> AesonKey
-> Value
-> Parser (Unresolved a)
parseUnresolvedAddressField :: FakerSettings -> Key -> Value -> Parser (Unresolved a)
parseUnresolvedAddressField FakerSettings
settings Key
txt Value
val = do
Object
address <- FakerSettings -> Value -> Parser Object
forall a. FromJSON a => FakerSettings -> Value -> Parser a
parseAddress FakerSettings
settings Value
val
a
field <- Object
address Object -> Key -> Parser (Maybe a)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
txt Parser (Maybe a) -> a -> Parser a
forall a. Parser (Maybe a) -> a -> Parser a
.!= a
forall a. Monoid a => a
mempty
Unresolved a -> Parser (Unresolved a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Unresolved a -> Parser (Unresolved a))
-> Unresolved a -> Parser (Unresolved a)
forall a b. (a -> b) -> a -> b
$ a -> Unresolved a
forall (f :: * -> *) a. Applicative f => a -> f a
pure a
field
parseCityPrefix :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parseCityPrefix :: FakerSettings -> Value -> Parser a
parseCityPrefix FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
"city_prefix"
parsePlaceNames :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parsePlaceNames :: FakerSettings -> Value -> Parser a
parsePlaceNames FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
"place_names"
placeNamesProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Vector Text)
placeNamesProvider :: FakerSettings -> m (Vector Text)
placeNamesProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Vector Text))
-> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Vector Text)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parsePlaceNames
parseFemaleCitySaintPrefix :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parseFemaleCitySaintPrefix :: FakerSettings -> Value -> Parser a
parseFemaleCitySaintPrefix FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
"female_city_saint_prefix"
femaleCitySaintPrefixProvider :: (MonadThrow m, MonadIO m) => FakerSettings -> m (Vector Text)
femaleCitySaintPrefixProvider :: FakerSettings -> m (Vector Text)
femaleCitySaintPrefixProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser Text)
-> m (Vector Text)
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser Text)
-> m (Vector Text)
fetchDataSingle FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser Text
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parseFemaleCitySaintPrefix
parseMaleCitySaintPrefix :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parseMaleCitySaintPrefix :: FakerSettings -> Value -> Parser a
parseMaleCitySaintPrefix FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
"male_city_saint_prefix"
maleCitySaintPrefixProvider :: (MonadThrow m, MonadIO m) => FakerSettings -> m (Vector Text)
maleCitySaintPrefixProvider :: FakerSettings -> m (Vector Text)
maleCitySaintPrefixProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser Text)
-> m (Vector Text)
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser Text)
-> m (Vector Text)
fetchDataSingle FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser Text
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parseMaleCitySaintPrefix
parseArmyCityPrefix :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parseArmyCityPrefix :: FakerSettings -> Value -> Parser a
parseArmyCityPrefix FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
"army_city_prefix"
armyCityPrefixProvider :: (MonadThrow m, MonadIO m) => FakerSettings -> m (Vector Text)
armyCityPrefixProvider :: FakerSettings -> m (Vector Text)
armyCityPrefixProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser Text)
-> m (Vector Text)
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser Text)
-> m (Vector Text)
fetchDataSingle FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser Text
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parseArmyCityPrefix
parseCitySuffix :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parseCitySuffix :: FakerSettings -> Value -> Parser a
parseCitySuffix FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
"city_suffix"
parseCountry :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parseCountry :: FakerSettings -> Value -> Parser a
parseCountry FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
"country"
parseVillage :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parseVillage :: FakerSettings -> Value -> Parser a
parseVillage FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
"village"
parseDefaultCountry ::
(FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parseDefaultCountry :: FakerSettings -> Value -> Parser a
parseDefaultCountry FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
"default_country"
parseCountryByCode ::
(FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parseCountryByCode :: FakerSettings -> Value -> Parser a
parseCountryByCode FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
"country_by_code"
parseCountryByName ::
(FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parseCountryByName :: FakerSettings -> Value -> Parser a
parseCountryByName FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
"country_by_name"
parseCountryCode :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parseCountryCode :: FakerSettings -> Value -> Parser a
parseCountryCode FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
"country_code"
parseCountryCodeLong ::
(FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parseCountryCodeLong :: FakerSettings -> Value -> Parser a
parseCountryCodeLong FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
"country_code_long"
parseBuildingNumber ::
(FromJSON a, Monoid a) => FakerSettings -> Value -> Parser (Unresolved a)
parseBuildingNumber :: FakerSettings -> Value -> Parser (Unresolved a)
parseBuildingNumber FakerSettings
settings =
FakerSettings -> Key -> Value -> Parser (Unresolved a)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser (Unresolved a)
parseUnresolvedAddressField FakerSettings
settings Key
"building_number"
parseCityWithState ::
(FromJSON a, Monoid a) => FakerSettings -> Value -> Parser (Unresolved a)
parseCityWithState :: FakerSettings -> Value -> Parser (Unresolved a)
parseCityWithState FakerSettings
settings = FakerSettings -> Key -> Value -> Parser (Unresolved a)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser (Unresolved a)
parseUnresolvedAddressField FakerSettings
settings Key
"city_with_state"
cityWithStateProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Unresolved (Vector Text))
cityWithStateProvider :: FakerSettings -> m (Unresolved (Vector Text))
cityWithStateProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Unresolved (Vector Text)))
-> m (Unresolved (Vector Text))
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Unresolved (Vector Text))
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser (Unresolved a)
parseCityWithState
parseMailBox ::
(FromJSON a, Monoid a) => FakerSettings -> Value -> Parser (Unresolved a)
parseMailBox :: FakerSettings -> Value -> Parser (Unresolved a)
parseMailBox FakerSettings
settings = FakerSettings -> Key -> Value -> Parser (Unresolved a)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser (Unresolved a)
parseUnresolvedAddressField FakerSettings
settings Key
"mail_box"
mailBoxProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Unresolved (Vector Text))
mailBoxProvider :: FakerSettings -> m (Unresolved (Vector Text))
mailBoxProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Unresolved (Vector Text)))
-> m (Unresolved (Vector Text))
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Unresolved (Vector Text))
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser (Unresolved a)
parseMailBox
parseCommunityPrefix ::
(FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
"community_prefix"
parseCommunitySuffix ::
(FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
"community_suffix"
parseCommunity ::
(FromJSON a, Monoid a) => FakerSettings -> Value -> Parser (Unresolved a)
FakerSettings
settings = FakerSettings -> Key -> Value -> Parser (Unresolved a)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser (Unresolved a)
parseUnresolvedAddressField FakerSettings
settings Key
"community"
parseCommunity2 :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
"community"
parseStreetSuffix ::
(FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parseStreetSuffix :: FakerSettings -> Value -> Parser a
parseStreetSuffix FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
"street_suffix"
parseSecondaryAddress ::
(FromJSON a, Monoid a) => FakerSettings -> Value -> Parser (Unresolved a)
parseSecondaryAddress :: FakerSettings -> Value -> Parser (Unresolved a)
parseSecondaryAddress FakerSettings
settings =
FakerSettings -> Key -> Value -> Parser (Unresolved a)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser (Unresolved a)
parseUnresolvedAddressField FakerSettings
settings Key
"secondary_address"
parsePostcode ::
(FromJSON a, Monoid a) => FakerSettings -> Value -> Parser (Unresolved a)
parsePostcode :: FakerSettings -> Value -> Parser (Unresolved a)
parsePostcode FakerSettings
settings = FakerSettings -> Key -> Value -> Parser (Unresolved a)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser (Unresolved a)
parseUnresolvedAddressField FakerSettings
settings Key
"postcode"
parsePostcodeByState ::
(FromJSON a, Monoid a) => FakerSettings -> Value -> Parser (Unresolved a)
parsePostcodeByState :: FakerSettings -> Value -> Parser (Unresolved a)
parsePostcodeByState FakerSettings
settings =
FakerSettings -> Key -> Value -> Parser (Unresolved a)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser (Unresolved a)
parseUnresolvedAddressField FakerSettings
settings Key
"postcode_by_state"
parseState :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parseState :: FakerSettings -> Value -> Parser a
parseState FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
"state"
parseStateAbbr :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parseStateAbbr :: FakerSettings -> Value -> Parser a
parseStateAbbr FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
"state_abbr"
parseTimeZone :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parseTimeZone :: FakerSettings -> Value -> Parser a
parseTimeZone FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
"time_zone"
parseCity ::
(FromJSON a, Monoid a) => FakerSettings -> Value -> Parser (Unresolved a)
parseCity :: FakerSettings -> Value -> Parser (Unresolved a)
parseCity FakerSettings
settings = FakerSettings -> Key -> Value -> Parser (Unresolved a)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser (Unresolved a)
parseUnresolvedAddressField FakerSettings
settings Key
"city"
parseCity2 :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parseCity2 :: FakerSettings -> Value -> Parser a
parseCity2 FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
"city"
parseStreetName ::
(FromJSON a, Monoid a) => FakerSettings -> Value -> Parser (Unresolved a)
parseStreetName :: FakerSettings -> Value -> Parser (Unresolved a)
parseStreetName FakerSettings
settings = FakerSettings -> Key -> Value -> Parser (Unresolved a)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser (Unresolved a)
parseUnresolvedAddressField FakerSettings
settings Key
"street_name"
parseStreetAddress ::
(FromJSON a, Monoid a) => FakerSettings -> Value -> Parser (Unresolved a)
parseStreetAddress :: FakerSettings -> Value -> Parser (Unresolved a)
parseStreetAddress FakerSettings
settings =
FakerSettings -> Key -> Value -> Parser (Unresolved a)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser (Unresolved a)
parseUnresolvedAddressField FakerSettings
settings Key
"street_address"
parseFullAddress ::
(FromJSON a, Monoid a) => FakerSettings -> Value -> Parser (Unresolved a)
parseFullAddress :: FakerSettings -> Value -> Parser (Unresolved a)
parseFullAddress FakerSettings
settings = FakerSettings -> Key -> Value -> Parser (Unresolved a)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser (Unresolved a)
parseUnresolvedAddressField FakerSettings
settings Key
"full_address"
countryProvider :: (MonadThrow m, MonadIO m) => FakerSettings -> m (Vector Text)
countryProvider :: FakerSettings -> m (Vector Text)
countryProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Vector Text))
-> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Vector Text)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parseCountry
defaultCountryProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Vector Text)
defaultCountryProvider :: FakerSettings -> m (Vector Text)
defaultCountryProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Vector Text))
-> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Vector Text)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parseDefaultCountry
villageProvider :: (MonadThrow m, MonadIO m) => FakerSettings -> m (Vector Text)
villageProvider :: FakerSettings -> m (Vector Text)
villageProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Vector Text))
-> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Vector Text)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parseVillage
addressCityPrefixProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Vector Text)
addressCityPrefixProvider :: FakerSettings -> m (Vector Text)
addressCityPrefixProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Vector Text))
-> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Vector Text)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parseCityPrefix
citySuffixProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Vector Text)
citySuffixProvider :: FakerSettings -> m (Vector Text)
citySuffixProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Vector Text))
-> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Vector Text)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parseCitySuffix
countryByCodeProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Map Text Text)
countryByCodeProvider :: FakerSettings -> m (Map Text Text)
countryByCodeProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Map Text Text))
-> m (Map Text Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Map Text Text)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parseCountryByCode
countryByNameProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Map Text Text)
countryByNameProvider :: FakerSettings -> m (Map Text Text)
countryByNameProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Map Text Text))
-> m (Map Text Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Map Text Text)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parseCountryByName
countryCodeProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Vector Text)
countryCodeProvider :: FakerSettings -> m (Vector Text)
countryCodeProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Vector Text))
-> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Vector Text)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parseCountryCode
countryCodeLongProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Vector Text)
countryCodeLongProvider :: FakerSettings -> m (Vector Text)
countryCodeLongProvider FakerSettings
settings =
FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Vector Text))
-> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Vector Text)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parseCountryCodeLong
buildingNumberProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Unresolved (Vector Text))
buildingNumberProvider :: FakerSettings -> m (Unresolved (Vector Text))
buildingNumberProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Unresolved (Vector Text)))
-> m (Unresolved (Vector Text))
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Unresolved (Vector Text))
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser (Unresolved a)
parseBuildingNumber
communityPrefixProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Vector Text)
FakerSettings
settings =
FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Vector Text))
-> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Vector Text)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parseCommunityPrefix
communitySuffixProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Vector Text)
FakerSettings
settings =
FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Vector Text))
-> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Vector Text)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parseCommunitySuffix
communityProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Unresolved (Vector Text))
FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Unresolved (Vector Text)))
-> m (Unresolved (Vector Text))
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Unresolved (Vector Text))
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser (Unresolved a)
parseCommunity
communityProvider2 ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Vector Text)
FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Vector Text))
-> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Vector Text)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parseCommunity2
addressCommunityProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Unresolved (Vector Text))
= FakerSettings -> m (Unresolved (Vector Text))
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Unresolved (Vector Text))
communityProvider
streetSuffixProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Vector Text)
streetSuffixProvider :: FakerSettings -> m (Vector Text)
streetSuffixProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Vector Text))
-> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Vector Text)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parseStreetSuffix
secondaryAddressProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Unresolved (Vector Text))
secondaryAddressProvider :: FakerSettings -> m (Unresolved (Vector Text))
secondaryAddressProvider FakerSettings
settings =
FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Unresolved (Vector Text)))
-> m (Unresolved (Vector Text))
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Unresolved (Vector Text))
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser (Unresolved a)
parseSecondaryAddress
postcodeRegexProvider :: (MonadThrow m, MonadIO m) => FakerSettings -> m Regex
postcodeRegexProvider :: FakerSettings -> m Regex
postcodeRegexProvider FakerSettings
settings = do
let parser :: FakerSettings -> Value -> Parser Text
parser :: FakerSettings -> Value -> Parser Text
parser = \FakerSettings
settings -> FakerSettings -> Key -> Value -> Parser Text
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
"postcode"
Vector Text
val <- FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser Text)
-> m (Vector Text)
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser Text)
-> m (Vector Text)
fetchDataSingle FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser Text
parser
Regex -> m Regex
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Regex -> m Regex) -> Regex -> m Regex
forall a b. (a -> b) -> a -> b
$ Text -> Regex
Regex (Text -> Regex) -> Text -> Regex
forall a b. (a -> b) -> a -> b
$ Vector Text -> Text
forall a. Vector a -> a
V.head Vector Text
val
postcodeProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Unresolved (Vector Text))
postcodeProvider :: FakerSettings -> m (Unresolved (Vector Text))
postcodeProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Unresolved (Vector Text)))
-> m (Unresolved (Vector Text))
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Unresolved (Vector Text))
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser (Unresolved a)
parsePostcode
postcodeByStateProvider ::
(MonadThrow m, MonadIO m)
=> FakerSettings
-> m (Unresolved (Map Text Text))
postcodeByStateProvider :: FakerSettings -> m (Unresolved (Map Text Text))
postcodeByStateProvider FakerSettings
settings =
FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Unresolved (Map Text Text)))
-> m (Unresolved (Map Text Text))
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Unresolved (Map Text Text))
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser (Unresolved a)
parsePostcodeByState
stateProvider :: (MonadThrow m, MonadIO m) => FakerSettings -> m (Vector Text)
stateProvider :: FakerSettings -> m (Vector Text)
stateProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Vector Text))
-> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Vector Text)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parseState
stateAbbrProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Vector Text)
stateAbbrProvider :: FakerSettings -> m (Vector Text)
stateAbbrProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Vector Text))
-> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Vector Text)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parseStateAbbr
timeZoneProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Vector Text)
timeZoneProvider :: FakerSettings -> m (Vector Text)
timeZoneProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Vector Text))
-> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Vector Text)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parseTimeZone
cityProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Unresolved (Vector Text))
cityProvider :: FakerSettings -> m (Unresolved (Vector Text))
cityProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Unresolved (Vector Text)))
-> m (Unresolved (Vector Text))
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Unresolved (Vector Text))
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser (Unresolved a)
parseCity
cityProvider2 :: (MonadThrow m, MonadIO m) => FakerSettings -> m (Vector Text)
cityProvider2 :: FakerSettings -> m (Vector Text)
cityProvider2 FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Vector Text))
-> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Vector Text)
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parseCity2
streetNameProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Unresolved (Vector Text))
streetNameProvider :: FakerSettings -> m (Unresolved (Vector Text))
streetNameProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Unresolved (Vector Text)))
-> m (Unresolved (Vector Text))
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Unresolved (Vector Text))
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser (Unresolved a)
parseStreetName
streetAddressProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Unresolved (Vector Text))
streetAddressProvider :: FakerSettings -> m (Unresolved (Vector Text))
streetAddressProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Unresolved (Vector Text)))
-> m (Unresolved (Vector Text))
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Unresolved (Vector Text))
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser (Unresolved a)
parseStreetAddress
fullAddressProvider ::
(MonadThrow m, MonadIO m) => FakerSettings -> m (Unresolved (Vector Text))
fullAddressProvider :: FakerSettings -> m (Unresolved (Vector Text))
fullAddressProvider FakerSettings
settings = FakerSettings
-> SourceData
-> (FakerSettings -> Value -> Parser (Unresolved (Vector Text)))
-> m (Unresolved (Vector Text))
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser (Unresolved (Vector Text))
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser (Unresolved a)
parseFullAddress
$(genParserUnresolved "address" "road_suffix")
$(genProviderUnresolved "address" "road_suffix")
$(genParserUnresolved "address" "road_name")
$(genProviderUnresolved "address" "road_name")
resolveAddressText ::
(MonadIO m, MonadThrow m) => FakerSettings -> AesonKey -> m Text
resolveAddressText :: FakerSettings -> Key -> m Text
resolveAddressText = (FakerSettings -> Key -> m Text) -> FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadIO m, MonadThrow m) =>
(FakerSettings -> Key -> m Text) -> FakerSettings -> Key -> m Text
genericResolver' FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> Key -> m Text
resolveAddressField
resolveAddressField ::
(MonadThrow m, MonadIO m) => FakerSettings -> AesonKey -> m Text
resolveAddressField :: FakerSettings -> Key -> m Text
resolveAddressField FakerSettings
settings field :: Key
field@Key
"community_suffix" =
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Vector Text)
communitySuffixProvider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"community_prefix" =
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Vector Text)
communityPrefixProvider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"city_prefix" =
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Vector Text)
addressCityPrefixProvider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"first_name" =
FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> Key -> m Text
resolveNameField FakerSettings
settings Key
"first_name"
resolveAddressField FakerSettings
settings field :: Key
field@Key
"last_name" =
FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> Key -> m Text
resolveNameField FakerSettings
settings Key
"last_name"
resolveAddressField FakerSettings
settings field :: Key
field@Key
"Name.first_name" =
FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> Key -> m Text
resolveNameField FakerSettings
settings Key
"first_name"
resolveAddressField FakerSettings
settings field :: Key
field@Key
"Name.name" =
Text
-> Key
-> (FakerSettings -> m (Unresolved (Vector Text)))
-> (FakerSettings -> Key -> m Text)
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Unresolved (Vector Text)))
-> (FakerSettings -> Key -> m Text)
-> FakerSettings
-> m Text
cachedRandomUnresolvedVec
Text
"address"
Key
"name"
FakerSettings -> m (Unresolved (Vector Text))
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Unresolved (Vector Text))
nameNameProvider
FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadIO m, MonadThrow m) =>
FakerSettings -> Key -> m Text
resolveAddressText
FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"city_suffix" =
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Vector Text)
citySuffixProvider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"Name.last_name" =
FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> Key -> m Text
resolveNameField FakerSettings
settings Key
"last_name"
resolveAddressField FakerSettings
settings field :: Key
field@Key
"Name.surname" =
FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> Key -> m Text
resolveNameField FakerSettings
settings Key
"surname"
resolveAddressField FakerSettings
settings field :: Key
field@Key
"surname" =
FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> Key -> m Text
resolveNameField FakerSettings
settings Key
"surname"
resolveAddressField FakerSettings
settings field :: Key
field@Key
"street_suffix" =
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Vector Text)
streetSuffixProvider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"building_number" =
Text
-> Key
-> (FakerSettings -> m (Unresolved (Vector Text)))
-> (FakerSettings -> Key -> m Text)
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Unresolved (Vector Text)))
-> (FakerSettings -> Key -> m Text)
-> FakerSettings
-> m Text
cachedRandomUnresolvedVec
Text
"address"
Key
field
FakerSettings -> m (Unresolved (Vector Text))
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Unresolved (Vector Text))
buildingNumberProvider
FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadIO m, MonadThrow m) =>
FakerSettings -> Key -> m Text
resolveAddressText
FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"street_name" =
Text
-> Key
-> (FakerSettings -> m (Unresolved (Vector Text)))
-> (FakerSettings -> Key -> m Text)
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Unresolved (Vector Text)))
-> (FakerSettings -> Key -> m Text)
-> FakerSettings
-> m Text
cachedRandomUnresolvedVec
Text
"address"
Key
field
FakerSettings -> m (Unresolved (Vector Text))
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Unresolved (Vector Text))
streetNameProvider
FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadIO m, MonadThrow m) =>
FakerSettings -> Key -> m Text
resolveAddressText
FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"street_address" =
Text
-> Key
-> (FakerSettings -> m (Unresolved (Vector Text)))
-> (FakerSettings -> Key -> m Text)
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Unresolved (Vector Text)))
-> (FakerSettings -> Key -> m Text)
-> FakerSettings
-> m Text
cachedRandomUnresolvedVec
Text
"address"
Key
field
FakerSettings -> m (Unresolved (Vector Text))
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Unresolved (Vector Text))
streetAddressProvider
FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadIO m, MonadThrow m) =>
FakerSettings -> Key -> m Text
resolveAddressText
FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"city" =
Text
-> Key
-> (FakerSettings -> m (Unresolved (Vector Text)))
-> (FakerSettings -> Key -> m Text)
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Unresolved (Vector Text)))
-> (FakerSettings -> Key -> m Text)
-> FakerSettings
-> m Text
cachedRandomUnresolvedVec
Text
"address"
Key
field
FakerSettings -> m (Unresolved (Vector Text))
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Unresolved (Vector Text))
cityProvider
FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadIO m, MonadThrow m) =>
FakerSettings -> Key -> m Text
resolveAddressText
FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"state_abbr" =
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Vector Text)
stateAbbrProvider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"zip_code" =
Text
-> Key
-> (FakerSettings -> m (Unresolved (Vector Text)))
-> (FakerSettings -> Key -> m Text)
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Unresolved (Vector Text)))
-> (FakerSettings -> Key -> m Text)
-> FakerSettings
-> m Text
cachedRandomUnresolvedVec
Text
"address"
Key
field
FakerSettings -> m (Unresolved (Vector Text))
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Unresolved (Vector Text))
postcodeProvider
FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadIO m, MonadThrow m) =>
FakerSettings -> Key -> m Text
resolveAddressText
FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"secondary_address" =
Text
-> Key
-> (FakerSettings -> m (Unresolved (Vector Text)))
-> (FakerSettings -> Key -> m Text)
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Unresolved (Vector Text)))
-> (FakerSettings -> Key -> m Text)
-> FakerSettings
-> m Text
cachedRandomUnresolvedVec
Text
"address"
Key
field
FakerSettings -> m (Unresolved (Vector Text))
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Unresolved (Vector Text))
secondaryAddressProvider
FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadIO m, MonadThrow m) =>
FakerSettings -> Key -> m Text
resolveAddressText
FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"city_name" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"city_names" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"city_root" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"cities" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"municipality" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"street_title" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"state" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"streets" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"country" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"street_prefix" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"street_root" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"common_street_suffix" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"village_prefix" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"village" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"postcode" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"street" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"masculine_street_prefix" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"feminine_street_prefix" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"masculine_street_title" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"feminine_street_title" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"Address.city_name" =
FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> Key -> m Text
resolveAddressField FakerSettings
settings Key
"city_name"
resolveAddressField FakerSettings
settings field :: Key
field@Key
"Address.street_title" =
FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> Key -> m Text
resolveAddressField FakerSettings
settings Key
"street_title"
resolveAddressField FakerSettings
settings field :: Key
field@Key
"default_country" =
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Vector Text)
defaultCountryProvider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"mail_box" =
Text
-> Key
-> (FakerSettings -> m (Unresolved (Vector Text)))
-> (FakerSettings -> Key -> m Text)
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Unresolved (Vector Text)))
-> (FakerSettings -> Key -> m Text)
-> FakerSettings
-> m Text
cachedRandomUnresolvedVec
Text
"address"
Key
field
FakerSettings -> m (Unresolved (Vector Text))
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Unresolved (Vector Text))
mailBoxProvider
FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadIO m, MonadThrow m) =>
FakerSettings -> Key -> m Text
resolveAddressText
FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"community" =
Text
-> Key
-> (FakerSettings -> m (Unresolved (Vector Text)))
-> (FakerSettings -> Key -> m Text)
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Unresolved (Vector Text)))
-> (FakerSettings -> Key -> m Text)
-> FakerSettings
-> m Text
cachedRandomUnresolvedVec
Text
"address"
Key
field
FakerSettings -> m (Unresolved (Vector Text))
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Unresolved (Vector Text))
communityProvider
FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadIO m, MonadThrow m) =>
FakerSettings -> Key -> m Text
resolveAddressText
FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"place_names" =
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Vector Text)
placeNamesProvider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"landscape_elements" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"colonialism" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"the" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"female_city_saint_prefix" =
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Vector Text)
femaleCitySaintPrefixProvider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"male_city_saint_prefix" =
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Vector Text)
maleCitySaintPrefixProvider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"army_city_prefix" =
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Vector Text)
armyCityPrefixProvider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"Name.female_first_name" =
FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> Key -> m Text
resolveNameField FakerSettings
settings Key
"female_first_name"
resolveAddressField FakerSettings
settings field :: Key
field@Key
"Name.male_first_name" =
FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> Key -> m Text
resolveNameField FakerSettings
settings Key
"male_first_name"
resolveAddressField FakerSettings
settings field :: Key
field@Key
"road_prefix" =
let parser :: (FromJSON a, Monoid a) => FakerSettings -> Value -> Parser a
parser :: FakerSettings -> Value -> Parser a
parser FakerSettings
settings = FakerSettings -> Key -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Key -> Value -> Parser a
parseAddressField FakerSettings
settings Key
field
provider :: FakerSettings -> m a
provider FakerSettings
settings = FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
FakerSettings
-> SourceData -> (FakerSettings -> Value -> Parser a) -> m a
fetchData FakerSettings
settings SourceData
Address FakerSettings -> Value -> Parser a
forall a.
(FromJSON a, Monoid a) =>
FakerSettings -> Value -> Parser a
parser
in Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Vector Text))
-> FakerSettings
-> m Text
cachedRandomVec Text
"address" Key
field FakerSettings -> m (Vector Text)
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m, FromJSON a, Monoid a) =>
FakerSettings -> m a
provider FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"road_suffix" =
Text
-> Key
-> (FakerSettings -> m (Unresolved (Vector Text)))
-> (FakerSettings -> Key -> m Text)
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Unresolved (Vector Text)))
-> (FakerSettings -> Key -> m Text)
-> FakerSettings
-> m Text
cachedRandomUnresolvedVec
Text
"address"
Key
field
FakerSettings -> m (Unresolved (Vector Text))
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Unresolved (Vector Text))
addressRoadSuffixProvider
FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadIO m, MonadThrow m) =>
FakerSettings -> Key -> m Text
resolveAddressText
FakerSettings
settings
resolveAddressField FakerSettings
settings field :: Key
field@Key
"road_name" =
Text
-> Key
-> (FakerSettings -> m (Unresolved (Vector Text)))
-> (FakerSettings -> Key -> m Text)
-> FakerSettings
-> m Text
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
Text
-> Key
-> (FakerSettings -> m (Unresolved (Vector Text)))
-> (FakerSettings -> Key -> m Text)
-> FakerSettings
-> m Text
cachedRandomUnresolvedVec
Text
"address"
Key
field
FakerSettings -> m (Unresolved (Vector Text))
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Unresolved (Vector Text))
addressRoadNameProvider
FakerSettings -> Key -> m Text
forall (m :: * -> *).
(MonadIO m, MonadThrow m) =>
FakerSettings -> Key -> m Text
resolveAddressText
FakerSettings
settings
resolveAddressField FakerSettings
settings Key
str = FakerException -> m Text
forall (m :: * -> *) e a. (MonadThrow m, Exception e) => e -> m a
throwM (FakerException -> m Text) -> FakerException -> m Text
forall a b. (a -> b) -> a -> b
$ String -> Key -> FakerException
InvalidField String
"address" Key
str