{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE OverloadedStrings #-}

module Faker.Vehicle where

import Data.Text
import Faker
import Faker.Internal
import Faker.Provider.Vehicle
import Faker.TH

$(generateFakeField "vehicle" "manufacture")

$(generateFakeField "vehicle" "makes")

$(generateFakeField "vehicle" "colors")

$(generateFakeField "vehicle" "transmissions")

$(generateFakeField "vehicle" "drive_types")

$(generateFakeField "vehicle" "fuel_types")

$(generateFakeField "vehicle" "styles")

$(generateFakeField "vehicle" "car_types")

$(generateFakeField "vehicle" "car_options")

$(generateFakeField "vehicle" "standard_specs")

doors :: Fake Int
doors :: Fake Int
doors = (FakerSettings -> IO Int) -> Fake Int
forall a. (FakerSettings -> IO a) -> Fake a
Fake ((FakerSettings -> IO Int) -> Fake Int)
-> (FakerSettings -> IO Int) -> Fake Int
forall a b. (a -> b) -> a -> b
$ (FakerSettings -> IO (Vector Int)) -> FakerSettings -> IO Int
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
(FakerSettings -> m (Vector a)) -> FakerSettings -> m a
resolver FakerSettings -> IO (Vector Int)
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Vector Int)
vehicleDoorsProvider

engineSizes :: Fake Int
engineSizes :: Fake Int
engineSizes = (FakerSettings -> IO Int) -> Fake Int
forall a. (FakerSettings -> IO a) -> Fake a
Fake ((FakerSettings -> IO Int) -> Fake Int)
-> (FakerSettings -> IO Int) -> Fake Int
forall a b. (a -> b) -> a -> b
$ (FakerSettings -> IO (Vector Int)) -> FakerSettings -> IO Int
forall (m :: * -> *) a.
(MonadThrow m, MonadIO m) =>
(FakerSettings -> m (Vector a)) -> FakerSettings -> m a
resolver FakerSettings -> IO (Vector Int)
forall (m :: * -> *).
(MonadThrow m, MonadIO m) =>
FakerSettings -> m (Vector Int)
vehicleEngineSizesProvider

$(generateFakeFieldUnresolved "vehicle" "license_plate")

$(generateFakeFields "vehicle" ["models_by_make", "BMW"])

$(generateFakeFields "vehicle" ["models_by_make", "Audi"])

$(generateFakeFields "vehicle" ["models_by_make", "Toyota"])

$(generateFakeFields "vehicle" ["models_by_make", "Chevy"])

$(generateFakeFields "vehicle" ["models_by_make", "Ford"])

$(generateFakeFields "vehicle" ["models_by_make", "Dodge"])

$(generateFakeFields "vehicle" ["models_by_make", "Lincoln"])

$(generateFakeFields "vehicle" ["models_by_make", "Buick"])

$(generateFakeFields "vehicle" ["models_by_make", "Honda"])

$(generateFakeFields "vehicle" ["models_by_make", "Nissan"])