diff --git a/_ide_helper.php b/_ide_helper.php index 7dc9a453..c3593110 100644 --- a/_ide_helper.php +++ b/_ide_helper.php @@ -1,50 +1,83 @@ * @see https://github.com/barryvdh/laravel-ide-helper */ +namespace Illuminate\Support\Facades { + /** + * + * + * @see \Illuminate\Foundation\Application + */ + class App { + /** + * Begin configuring a new Laravel application instance. + * + * @param string|null $basePath + * @return \Illuminate\Foundation\Configuration\ApplicationBuilder + * @static + */ + public static function configure($basePath = null) + { + return \Illuminate\Foundation\Application::configure($basePath); + } -namespace { - exit("This file should not be included, only analyzed by your IDE"); + /** + * Infer the application's base directory from the environment. + * + * @return string + * @static + */ + public static function inferBasePath() + { + return \Illuminate\Foundation\Application::inferBasePath(); + } - class App extends \Illuminate\Support\Facades\App - { /** * Get the version number of the application. * - * @return string - * @static + * @return string + * @static */ public static function version() { - return \Illuminate\Foundation\Application::version(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->version(); } /** * Run the given array of bootstrap classes. * - * @param array $bootstrappers - * @return void - * @static + * @param string[] $bootstrappers + * @return void + * @static */ public static function bootstrapWith($bootstrappers) { - \Illuminate\Foundation\Application::bootstrapWith($bootstrappers); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->bootstrapWith($bootstrappers); } /** * Register a callback to run after loading the environment. * * @param \Closure $callback - * @return void - * @static + * @return void + * @static */ public static function afterLoadingEnvironment($callback) { - \Illuminate\Foundation\Application::afterLoadingEnvironment($callback); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->afterLoadingEnvironment($callback); } /** @@ -52,12 +85,13 @@ namespace { * * @param string $bootstrapper * @param \Closure $callback - * @return void - * @static + * @return void + * @static */ public static function beforeBootstrapping($bootstrapper, $callback) { - \Illuminate\Foundation\Application::beforeBootstrapping($bootstrapper, $callback); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->beforeBootstrapping($bootstrapper, $callback); } /** @@ -65,517 +99,850 @@ namespace { * * @param string $bootstrapper * @param \Closure $callback - * @return void - * @static + * @return void + * @static */ public static function afterBootstrapping($bootstrapper, $callback) { - \Illuminate\Foundation\Application::afterBootstrapping($bootstrapper, $callback); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->afterBootstrapping($bootstrapper, $callback); } /** * Determine if the application has been bootstrapped before. * - * @return bool - * @static + * @return bool + * @static */ public static function hasBeenBootstrapped() { - return \Illuminate\Foundation\Application::hasBeenBootstrapped(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->hasBeenBootstrapped(); } /** * Set the base path for the application. * * @param string $basePath - * @return $this - * @static + * @return \Illuminate\Foundation\Application + * @static */ public static function setBasePath($basePath) { - return \Illuminate\Foundation\Application::setBasePath($basePath); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->setBasePath($basePath); } /** * Get the path to the application "app" directory. * - * @return string - * @static + * @param string $path + * @return string + * @static */ - public static function path() + public static function path($path = '') { - return \Illuminate\Foundation\Application::path(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->path($path); + } + + /** + * Set the application directory. + * + * @param string $path + * @return \Illuminate\Foundation\Application + * @static + */ + public static function useAppPath($path) + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->useAppPath($path); } /** * Get the base path of the Laravel installation. * - * @return string - * @static + * @param string $path + * @return string + * @static */ - public static function basePath() + public static function basePath($path = '') { - return \Illuminate\Foundation\Application::basePath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->basePath($path); } /** * Get the path to the bootstrap directory. * - * @return string - * @static + * @param string $path + * @return string + * @static */ - public static function bootstrapPath() + public static function bootstrapPath($path = '') { - return \Illuminate\Foundation\Application::bootstrapPath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->bootstrapPath($path); + } + + /** + * Get the path to the service provider list in the bootstrap directory. + * + * @return string + * @static + */ + public static function getBootstrapProvidersPath() + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getBootstrapProvidersPath(); + } + + /** + * Set the bootstrap file directory. + * + * @param string $path + * @return \Illuminate\Foundation\Application + * @static + */ + public static function useBootstrapPath($path) + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->useBootstrapPath($path); } /** * Get the path to the application configuration files. * - * @return string - * @static + * @param string $path + * @return string + * @static */ - public static function configPath() + public static function configPath($path = '') { - return \Illuminate\Foundation\Application::configPath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->configPath($path); + } + + /** + * Set the configuration directory. + * + * @param string $path + * @return \Illuminate\Foundation\Application + * @static + */ + public static function useConfigPath($path) + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->useConfigPath($path); } /** * Get the path to the database directory. * - * @return string - * @static + * @param string $path + * @return string + * @static */ - public static function databasePath() + public static function databasePath($path = '') { - return \Illuminate\Foundation\Application::databasePath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->databasePath($path); } /** * Set the database directory. * * @param string $path - * @return $this - * @static + * @return \Illuminate\Foundation\Application + * @static */ public static function useDatabasePath($path) { - return \Illuminate\Foundation\Application::useDatabasePath($path); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->useDatabasePath($path); } /** * Get the path to the language files. * - * @return string - * @static + * @param string $path + * @return string + * @static */ - public static function langPath() + public static function langPath($path = '') { - return \Illuminate\Foundation\Application::langPath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->langPath($path); + } + + /** + * Set the language file directory. + * + * @param string $path + * @return \Illuminate\Foundation\Application + * @static + */ + public static function useLangPath($path) + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->useLangPath($path); } /** * Get the path to the public / web directory. * - * @return string - * @static + * @param string $path + * @return string + * @static */ - public static function publicPath() + public static function publicPath($path = '') { - return \Illuminate\Foundation\Application::publicPath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->publicPath($path); + } + + /** + * Set the public / web directory. + * + * @param string $path + * @return \Illuminate\Foundation\Application + * @static + */ + public static function usePublicPath($path) + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->usePublicPath($path); } /** * Get the path to the storage directory. * - * @return string - * @static + * @param string $path + * @return string + * @static */ - public static function storagePath() + public static function storagePath($path = '') { - return \Illuminate\Foundation\Application::storagePath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->storagePath($path); } /** * Set the storage directory. * * @param string $path - * @return $this - * @static + * @return \Illuminate\Foundation\Application + * @static */ public static function useStoragePath($path) { - return \Illuminate\Foundation\Application::useStoragePath($path); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->useStoragePath($path); } /** * Get the path to the resources directory. * - * @return string - * @static + * @param string $path + * @return string + * @static */ - public static function resourcePath() + public static function resourcePath($path = '') { - return \Illuminate\Foundation\Application::resourcePath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->resourcePath($path); + } + + /** + * Get the path to the views directory. + * + * This method returns the first configured path in the array of view paths. + * + * @param string $path + * @return string + * @static + */ + public static function viewPath($path = '') + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->viewPath($path); + } + + /** + * Join the given paths together. + * + * @param string $basePath + * @param string $path + * @return string + * @static + */ + public static function joinPaths($basePath, $path = '') + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->joinPaths($basePath, $path); } /** * Get the path to the environment file directory. * - * @return string - * @static + * @return string + * @static */ public static function environmentPath() { - return \Illuminate\Foundation\Application::environmentPath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->environmentPath(); } /** * Set the directory for the environment file. * * @param string $path - * @return $this - * @static + * @return \Illuminate\Foundation\Application + * @static */ public static function useEnvironmentPath($path) { - return \Illuminate\Foundation\Application::useEnvironmentPath($path); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->useEnvironmentPath($path); } /** * Set the environment file to be loaded during bootstrapping. * * @param string $file - * @return $this - * @static + * @return \Illuminate\Foundation\Application + * @static */ public static function loadEnvironmentFrom($file) { - return \Illuminate\Foundation\Application::loadEnvironmentFrom($file); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->loadEnvironmentFrom($file); } /** * Get the environment file the application is using. * - * @return string - * @static + * @return string + * @static */ public static function environmentFile() { - return \Illuminate\Foundation\Application::environmentFile(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->environmentFile(); } /** * Get the fully qualified path to the environment file. * - * @return string - * @static + * @return string + * @static */ public static function environmentFilePath() { - return \Illuminate\Foundation\Application::environmentFilePath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->environmentFilePath(); } /** * Get or check the current application environment. * - * @return string|bool - * @static + * @param string|array $environments + * @return string|bool + * @static */ - public static function environment() + public static function environment(...$environments) { - return \Illuminate\Foundation\Application::environment(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->environment(...$environments); } /** - * Determine if application is in local environment. + * Determine if the application is in the local environment. * - * @return bool - * @static + * @return bool + * @static */ public static function isLocal() { - return \Illuminate\Foundation\Application::isLocal(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->isLocal(); + } + + /** + * Determine if the application is in the production environment. + * + * @return bool + * @static + */ + public static function isProduction() + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->isProduction(); } /** * Detect the application's current environment. * * @param \Closure $callback - * @return string - * @static + * @return string + * @static */ public static function detectEnvironment($callback) { - return \Illuminate\Foundation\Application::detectEnvironment($callback); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->detectEnvironment($callback); } /** - * Determine if we are running in the console. + * Determine if the application is running in the console. * - * @return bool - * @static + * @return bool + * @static */ public static function runningInConsole() { - return \Illuminate\Foundation\Application::runningInConsole(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->runningInConsole(); } /** - * Determine if we are running unit tests. + * Determine if the application is running any of the given console commands. * - * @return bool - * @static + * @param string|array $commands + * @return bool + * @static + */ + public static function runningConsoleCommand(...$commands) + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->runningConsoleCommand(...$commands); + } + + /** + * Determine if the application is running unit tests. + * + * @return bool + * @static */ public static function runningUnitTests() { - return \Illuminate\Foundation\Application::runningUnitTests(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->runningUnitTests(); + } + + /** + * Determine if the application is running with debug mode enabled. + * + * @return bool + * @static + */ + public static function hasDebugModeEnabled() + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->hasDebugModeEnabled(); + } + + /** + * Register a new registered listener. + * + * @param callable $callback + * @return void + * @static + */ + public static function registered($callback) + { + /** @var \Illuminate\Foundation\Application $instance */ + $instance->registered($callback); } /** * Register all of the configured providers. * - * @return void - * @static + * @return void + * @static */ public static function registerConfiguredProviders() { - \Illuminate\Foundation\Application::registerConfiguredProviders(); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->registerConfiguredProviders(); } /** * Register a service provider with the application. * * @param \Illuminate\Support\ServiceProvider|string $provider - * @param array $options * @param bool $force - * @return \Illuminate\Support\ServiceProvider - * @static + * @return \Illuminate\Support\ServiceProvider + * @static */ - public static function register($provider, $options = [], $force = false) + public static function register($provider, $force = false) { - return \Illuminate\Foundation\Application::register($provider, $options, $force); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->register($provider, $force); } /** * Get the registered service provider instance if it exists. * * @param \Illuminate\Support\ServiceProvider|string $provider - * @return \Illuminate\Support\ServiceProvider|null - * @static + * @return \Illuminate\Support\ServiceProvider|null + * @static */ public static function getProvider($provider) { - return \Illuminate\Foundation\Application::getProvider($provider); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getProvider($provider); + } + + /** + * Get the registered service provider instances if any exist. + * + * @param \Illuminate\Support\ServiceProvider|string $provider + * @return array + * @static + */ + public static function getProviders($provider) + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getProviders($provider); } /** * Resolve a service provider instance from the class name. * * @param string $provider - * @return \Illuminate\Support\ServiceProvider - * @static + * @return \Illuminate\Support\ServiceProvider + * @static */ public static function resolveProvider($provider) { - return \Illuminate\Foundation\Application::resolveProvider($provider); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->resolveProvider($provider); } /** * Load and boot all of the remaining deferred providers. * - * @return void - * @static + * @return void + * @static */ public static function loadDeferredProviders() { - \Illuminate\Foundation\Application::loadDeferredProviders(); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->loadDeferredProviders(); } /** * Load the provider for a deferred service. * * @param string $service - * @return void - * @static + * @return void + * @static */ public static function loadDeferredProvider($service) { - \Illuminate\Foundation\Application::loadDeferredProvider($service); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->loadDeferredProvider($service); } /** * Register a deferred provider and service. * * @param string $provider - * @param string $service - * @return void - * @static + * @param string|null $service + * @return void + * @static */ public static function registerDeferredProvider($provider, $service = null) { - \Illuminate\Foundation\Application::registerDeferredProvider($provider, $service); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->registerDeferredProvider($provider, $service); } /** * Resolve the given type from the container. * - * (Overriding Container::make) - * * @param string $abstract - * @return mixed - * @static + * @param array $parameters + * @return mixed + * @throws \Illuminate\Contracts\Container\BindingResolutionException + * @static */ - public static function make($abstract) + public static function make($abstract, $parameters = []) { - return \Illuminate\Foundation\Application::make($abstract); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->make($abstract, $parameters); } /** * Determine if the given abstract type has been bound. * - * (Overriding Container::bound) - * * @param string $abstract - * @return bool - * @static + * @return bool + * @static */ public static function bound($abstract) { - return \Illuminate\Foundation\Application::bound($abstract); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->bound($abstract); } /** * Determine if the application has booted. * - * @return bool - * @static + * @return bool + * @static */ public static function isBooted() { - return \Illuminate\Foundation\Application::isBooted(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->isBooted(); } /** * Boot the application's service providers. * - * @return void - * @static + * @return void + * @static */ public static function boot() { - \Illuminate\Foundation\Application::boot(); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->boot(); } /** * Register a new boot listener. * - * @param mixed $callback - * @return void - * @static + * @param callable $callback + * @return void + * @static */ public static function booting($callback) { - \Illuminate\Foundation\Application::booting($callback); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->booting($callback); } /** * Register a new "booted" listener. * - * @param mixed $callback - * @return void - * @static + * @param callable $callback + * @return void + * @static */ public static function booted($callback) { - \Illuminate\Foundation\Application::booted($callback); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->booted($callback); } /** * {@inheritdoc} * - * @static + * @return \Symfony\Component\HttpFoundation\Response + * @static */ public static function handle($request, $type = 1, $catch = true) { - return \Illuminate\Foundation\Application::handle($request, $type, $catch); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->handle($request, $type, $catch); + } + + /** + * Handle the incoming HTTP request and send the response to the browser. + * + * @param \Illuminate\Http\Request $request + * @return void + * @static + */ + public static function handleRequest($request) + { + /** @var \Illuminate\Foundation\Application $instance */ + $instance->handleRequest($request); + } + + /** + * Handle the incoming Artisan command. + * + * @param \Symfony\Component\Console\Input\InputInterface $input + * @return int + * @static + */ + public static function handleCommand($input) + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->handleCommand($input); + } + + /** + * Determine if the framework's base configuration should be merged. + * + * @return bool + * @static + */ + public static function shouldMergeFrameworkConfiguration() + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->shouldMergeFrameworkConfiguration(); + } + + /** + * Indicate that the framework's base configuration should not be merged. + * + * @return \Illuminate\Foundation\Application + * @static + */ + public static function dontMergeFrameworkConfiguration() + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->dontMergeFrameworkConfiguration(); } /** * Determine if middleware has been disabled for the application. * - * @return bool - * @static + * @return bool + * @static */ public static function shouldSkipMiddleware() { - return \Illuminate\Foundation\Application::shouldSkipMiddleware(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->shouldSkipMiddleware(); } /** * Get the path to the cached services.php file. * - * @return string - * @static + * @return string + * @static */ public static function getCachedServicesPath() { - return \Illuminate\Foundation\Application::getCachedServicesPath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getCachedServicesPath(); + } + + /** + * Get the path to the cached packages.php file. + * + * @return string + * @static + */ + public static function getCachedPackagesPath() + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getCachedPackagesPath(); } /** * Determine if the application configuration is cached. * - * @return bool - * @static + * @return bool + * @static */ public static function configurationIsCached() { - return \Illuminate\Foundation\Application::configurationIsCached(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->configurationIsCached(); } /** * Get the path to the configuration cache file. * - * @return string - * @static + * @return string + * @static */ public static function getCachedConfigPath() { - return \Illuminate\Foundation\Application::getCachedConfigPath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getCachedConfigPath(); } /** * Determine if the application routes are cached. * - * @return bool - * @static + * @return bool + * @static */ public static function routesAreCached() { - return \Illuminate\Foundation\Application::routesAreCached(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->routesAreCached(); } /** * Get the path to the routes cache file. * - * @return string - * @static + * @return string + * @static */ public static function getCachedRoutesPath() { - return \Illuminate\Foundation\Application::getCachedRoutesPath(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getCachedRoutesPath(); + } + + /** + * Determine if the application events are cached. + * + * @return bool + * @static + */ + public static function eventsAreCached() + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->eventsAreCached(); + } + + /** + * Get the path to the events cache file. + * + * @return string + * @static + */ + public static function getCachedEventsPath() + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getCachedEventsPath(); + } + + /** + * Add new prefix to list of absolute path prefixes. + * + * @param string $prefix + * @return \Illuminate\Foundation\Application + * @static + */ + public static function addAbsoluteCachePathPrefix($prefix) + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->addAbsoluteCachePathPrefix($prefix); + } + + /** + * Get an instance of the maintenance mode manager implementation. + * + * @return \Illuminate\Contracts\Foundation\MaintenanceMode + * @static + */ + public static function maintenanceMode() + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->maintenanceMode(); } /** * Determine if the application is currently down for maintenance. * - * @return bool - * @static + * @return bool + * @static */ public static function isDownForMaintenance() { - return \Illuminate\Foundation\Application::isDownForMaintenance(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->isDownForMaintenance(); } /** @@ -584,303 +951,391 @@ namespace { * @param int $code * @param string $message * @param array $headers - * @return void + * @return never * @throws \Symfony\Component\HttpKernel\Exception\HttpException - * @static + * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException + * @static */ public static function abort($code, $message = '', $headers = []) { - \Illuminate\Foundation\Application::abort($code, $message, $headers); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->abort($code, $message, $headers); } /** * Register a terminating callback with the application. * - * @param \Closure $callback - * @return $this - * @static + * @param callable|string $callback + * @return \Illuminate\Foundation\Application + * @static */ public static function terminating($callback) { - return \Illuminate\Foundation\Application::terminating($callback); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->terminating($callback); } /** * Terminate the application. * - * @return void - * @static + * @return void + * @static */ public static function terminate() { - \Illuminate\Foundation\Application::terminate(); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->terminate(); } /** * Get the service providers that have been loaded. * - * @return array - * @static + * @return array + * @static */ public static function getLoadedProviders() { - return \Illuminate\Foundation\Application::getLoadedProviders(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getLoadedProviders(); + } + + /** + * Determine if the given service provider is loaded. + * + * @param string $provider + * @return bool + * @static + */ + public static function providerIsLoaded($provider) + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->providerIsLoaded($provider); } /** * Get the application's deferred services. * - * @return array - * @static + * @return array + * @static */ public static function getDeferredServices() { - return \Illuminate\Foundation\Application::getDeferredServices(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getDeferredServices(); } /** * Set the application's deferred services. * * @param array $services - * @return void - * @static + * @return void + * @static */ public static function setDeferredServices($services) { - \Illuminate\Foundation\Application::setDeferredServices($services); - } - - /** - * Add an array of services to the application's deferred services. - * - * @param array $services - * @return void - * @static - */ - public static function addDeferredServices($services) - { - \Illuminate\Foundation\Application::addDeferredServices($services); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->setDeferredServices($services); } /** * Determine if the given service is a deferred service. * * @param string $service - * @return bool - * @static + * @return bool + * @static */ public static function isDeferredService($service) { - return \Illuminate\Foundation\Application::isDeferredService($service); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->isDeferredService($service); + } + + /** + * Add an array of services to the application's deferred services. + * + * @param array $services + * @return void + * @static + */ + public static function addDeferredServices($services) + { + /** @var \Illuminate\Foundation\Application $instance */ + $instance->addDeferredServices($services); + } + + /** + * Remove an array of services from the application's deferred services. + * + * @param array $services + * @return void + * @static + */ + public static function removeDeferredServices($services) + { + /** @var \Illuminate\Foundation\Application $instance */ + $instance->removeDeferredServices($services); } /** * Configure the real-time facade namespace. * * @param string $namespace - * @return void - * @static + * @return void + * @static */ public static function provideFacades($namespace) { - \Illuminate\Foundation\Application::provideFacades($namespace); - } - - /** - * Define a callback to be used to configure Monolog. - * - * @param callable $callback - * @return $this - * @static - */ - public static function configureMonologUsing($callback) - { - return \Illuminate\Foundation\Application::configureMonologUsing($callback); - } - - /** - * Determine if the application has a custom Monolog configurator. - * - * @return bool - * @static - */ - public static function hasMonologConfigurator() - { - return \Illuminate\Foundation\Application::hasMonologConfigurator(); - } - - /** - * Get the custom Monolog configurator for the application. - * - * @return callable - * @static - */ - public static function getMonologConfigurator() - { - return \Illuminate\Foundation\Application::getMonologConfigurator(); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->provideFacades($namespace); } /** * Get the current application locale. * - * @return string - * @static + * @return string + * @static */ public static function getLocale() { - return \Illuminate\Foundation\Application::getLocale(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getLocale(); + } + + /** + * Get the current application locale. + * + * @return string + * @static + */ + public static function currentLocale() + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->currentLocale(); + } + + /** + * Get the current application fallback locale. + * + * @return string + * @static + */ + public static function getFallbackLocale() + { + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getFallbackLocale(); } /** * Set the current application locale. * * @param string $locale - * @return void - * @static + * @return void + * @static */ public static function setLocale($locale) { - \Illuminate\Foundation\Application::setLocale($locale); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->setLocale($locale); } /** - * Determine if application locale is the given locale. + * Set the current application fallback locale. + * + * @param string $fallbackLocale + * @return void + * @static + */ + public static function setFallbackLocale($fallbackLocale) + { + /** @var \Illuminate\Foundation\Application $instance */ + $instance->setFallbackLocale($fallbackLocale); + } + + /** + * Determine if the application locale is the given locale. * * @param string $locale - * @return bool - * @static + * @return bool + * @static */ public static function isLocale($locale) { - return \Illuminate\Foundation\Application::isLocale($locale); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->isLocale($locale); } /** * Register the core class aliases in the container. * - * @return void - * @static + * @return void + * @static */ public static function registerCoreContainerAliases() { - \Illuminate\Foundation\Application::registerCoreContainerAliases(); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->registerCoreContainerAliases(); } /** * Flush the container of all bindings and resolved instances. * - * @return void - * @static + * @return void + * @static */ public static function flush() { - \Illuminate\Foundation\Application::flush(); + /** @var \Illuminate\Foundation\Application $instance */ + $instance->flush(); } /** * Get the application namespace. * - * @return string + * @return string * @throws \RuntimeException - * @static + * @static */ public static function getNamespace() { - return \Illuminate\Foundation\Application::getNamespace(); + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getNamespace(); } /** * Define a contextual binding. * - * @param string $concrete - * @return \Illuminate\Contracts\Container\ContextualBindingBuilder - * @static + * @param array|string $concrete + * @return \Illuminate\Contracts\Container\ContextualBindingBuilder + * @static */ public static function when($concrete) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::when($concrete); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->when($concrete); + } + + /** + * Define a contextual binding based on an attribute. + * + * @param string $attribute + * @param \Closure $handler + * @return void + * @static + */ + public static function whenHasAttribute($attribute, $handler) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->whenHasAttribute($attribute, $handler); + } + + /** + * Returns true if the container can return an entry for the given identifier. + * + * Returns false otherwise. + * + * `has($id)` returning true does not mean that `get($id)` will not throw an exception. + * It does however mean that `get($id)` will not throw a `NotFoundExceptionInterface`. + * + * @return bool + * @param string $id Identifier of the entry to look for. + * @return bool + * @static + */ + public static function has($id) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->has($id); } /** * Determine if the given abstract type has been resolved. * * @param string $abstract - * @return bool - * @static + * @return bool + * @static */ public static function resolved($abstract) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::resolved($abstract); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->resolved($abstract); } /** * Determine if a given type is shared. * * @param string $abstract - * @return bool - * @static + * @return bool + * @static */ public static function isShared($abstract) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::isShared($abstract); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->isShared($abstract); } /** * Determine if a given string is an alias. * * @param string $name - * @return bool - * @static + * @return bool + * @static */ public static function isAlias($name) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::isAlias($name); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->isAlias($name); } /** * Register a binding with the container. * - * @param string|array $abstract + * @param string $abstract * @param \Closure|string|null $concrete * @param bool $shared - * @return void - * @static + * @return void + * @throws \TypeError + * @static */ public static function bind($abstract, $concrete = null, $shared = false) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::bind($abstract, $concrete, $shared); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->bind($abstract, $concrete, $shared); } /** * Determine if the container has a method binding. * * @param string $method - * @return bool - * @static + * @return bool + * @static */ public static function hasMethodBinding($method) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::hasMethodBinding($method); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->hasMethodBinding($method); } /** * Bind a callback to resolve with Container::call. * - * @param string $method + * @param array|string $method * @param \Closure $callback - * @return void - * @static + * @return void + * @static */ public static function bindMethod($method, $callback) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::bindMethod($method, $callback); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->bindMethod($method, $callback); } /** @@ -888,13 +1343,14 @@ namespace { * * @param string $method * @param mixed $instance - * @return mixed - * @static + * @return mixed + * @static */ public static function callMethodBinding($method, $instance) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::callMethodBinding($method, $instance); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->callMethodBinding($method, $instance); } /** @@ -903,13 +1359,14 @@ namespace { * @param string $concrete * @param string $abstract * @param \Closure|string $implementation - * @return void - * @static + * @return void + * @static */ public static function addContextualBinding($concrete, $abstract, $implementation) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::addContextualBinding($concrete, $abstract, $implementation); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->addContextualBinding($concrete, $abstract, $implementation); } /** @@ -918,27 +1375,74 @@ namespace { * @param string $abstract * @param \Closure|string|null $concrete * @param bool $shared - * @return void - * @static + * @return void + * @static */ public static function bindIf($abstract, $concrete = null, $shared = false) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::bindIf($abstract, $concrete, $shared); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->bindIf($abstract, $concrete, $shared); } /** * Register a shared binding in the container. * - * @param string|array $abstract + * @param string $abstract * @param \Closure|string|null $concrete - * @return void - * @static + * @return void + * @static */ public static function singleton($abstract, $concrete = null) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::singleton($abstract, $concrete); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->singleton($abstract, $concrete); + } + + /** + * Register a shared binding if it hasn't already been registered. + * + * @param string $abstract + * @param \Closure|string|null $concrete + * @return void + * @static + */ + public static function singletonIf($abstract, $concrete = null) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->singletonIf($abstract, $concrete); + } + + /** + * Register a scoped binding in the container. + * + * @param string $abstract + * @param \Closure|string|null $concrete + * @return void + * @static + */ + public static function scoped($abstract, $concrete = null) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->scoped($abstract, $concrete); + } + + /** + * Register a scoped binding if it hasn't already been registered. + * + * @param string $abstract + * @param \Closure|string|null $concrete + * @return void + * @static + */ + public static function scopedIf($abstract, $concrete = null) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->scopedIf($abstract, $concrete); } /** @@ -946,14 +1450,15 @@ namespace { * * @param string $abstract * @param \Closure $closure - * @return void + * @return void * @throws \InvalidArgumentException - * @static + * @static */ public static function extend($abstract, $closure) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::extend($abstract, $closure); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->extend($abstract, $closure); } /** @@ -961,13 +1466,14 @@ namespace { * * @param string $abstract * @param mixed $instance - * @return void - * @static + * @return mixed + * @static */ public static function instance($abstract, $instance) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::instance($abstract, $instance); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->instance($abstract, $instance); } /** @@ -975,26 +1481,28 @@ namespace { * * @param array|string $abstracts * @param array|mixed $tags - * @return void - * @static + * @return void + * @static */ public static function tag($abstracts, $tags) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::tag($abstracts, $tags); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->tag($abstracts, $tags); } /** * Resolve all of the bindings for a given tag. * * @param string $tag - * @return array - * @static + * @return iterable + * @static */ public static function tagged($tag) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::tagged($tag); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->tagged($tag); } /** @@ -1002,13 +1510,15 @@ namespace { * * @param string $abstract * @param string $alias - * @return void - * @static + * @return void + * @throws \LogicException + * @static */ public static function alias($abstract, $alias) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::alias($abstract, $alias); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->alias($abstract, $alias); } /** @@ -1016,13 +1526,14 @@ namespace { * * @param string $abstract * @param \Closure $callback - * @return mixed - * @static + * @return mixed + * @static */ public static function rebinding($abstract, $callback) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::rebinding($abstract, $callback); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->rebinding($abstract, $callback); } /** @@ -1031,13 +1542,14 @@ namespace { * @param string $abstract * @param mixed $target * @param string $method - * @return mixed - * @static + * @return mixed + * @static */ public static function refresh($abstract, $target, $method) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::refresh($abstract, $target, $method); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->refresh($abstract, $target, $method); } /** @@ -1045,145 +1557,275 @@ namespace { * * @param \Closure $callback * @param array $parameters - * @return \Closure - * @static + * @return \Closure + * @static */ public static function wrap($callback, $parameters = []) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::wrap($callback, $parameters); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->wrap($callback, $parameters); } /** * Call the given Closure / class@method and inject its dependencies. * * @param callable|string $callback - * @param array $parameters + * @param array $parameters * @param string|null $defaultMethod - * @return mixed - * @static + * @return mixed + * @throws \InvalidArgumentException + * @static */ public static function call($callback, $parameters = [], $defaultMethod = null) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::call($callback, $parameters, $defaultMethod); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->call($callback, $parameters, $defaultMethod); } /** * Get a closure to resolve the given type from the container. * * @param string $abstract - * @return \Closure - * @static + * @return \Closure + * @static */ public static function factory($abstract) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::factory($abstract); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->factory($abstract); + } + + /** + * An alias function name for make(). + * + * @param string|callable $abstract + * @param array $parameters + * @return mixed + * @throws \Illuminate\Contracts\Container\BindingResolutionException + * @static + */ + public static function makeWith($abstract, $parameters = []) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->makeWith($abstract, $parameters); + } + + /** + * Finds an entry of the container by its identifier and returns it. + * + * @return mixed + * @param string $id Identifier of the entry to look for. + * @throws NotFoundExceptionInterface No entry was found for **this** identifier. + * @throws ContainerExceptionInterface Error while retrieving the entry. + * @return mixed Entry. + * @static + */ + public static function get($id) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->get($id); } /** * Instantiate a concrete instance of the given type. * - * @param string $concrete - * @return mixed + * @param \Closure|string $concrete + * @return mixed * @throws \Illuminate\Contracts\Container\BindingResolutionException - * @static + * @throws \Illuminate\Contracts\Container\CircularDependencyException + * @static */ public static function build($concrete) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::build($concrete); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->build($concrete); + } + + /** + * Resolve a dependency based on an attribute. + * + * @param \ReflectionAttribute $attribute + * @return mixed + * @static + */ + public static function resolveFromAttribute($attribute) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->resolveFromAttribute($attribute); + } + + /** + * Register a new before resolving callback for all types. + * + * @param \Closure|string $abstract + * @param \Closure|null $callback + * @return void + * @static + */ + public static function beforeResolving($abstract, $callback = null) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->beforeResolving($abstract, $callback); } /** * Register a new resolving callback. * - * @param string $abstract + * @param \Closure|string $abstract * @param \Closure|null $callback - * @return void - * @static + * @return void + * @static */ public static function resolving($abstract, $callback = null) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::resolving($abstract, $callback); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->resolving($abstract, $callback); } /** * Register a new after resolving callback for all types. * - * @param string $abstract + * @param \Closure|string $abstract * @param \Closure|null $callback - * @return void - * @static + * @return void + * @static */ public static function afterResolving($abstract, $callback = null) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::afterResolving($abstract, $callback); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->afterResolving($abstract, $callback); + } + + /** + * Register a new after resolving attribute callback for all types. + * + * @param string $attribute + * @param \Closure $callback + * @return void + * @static + */ + public static function afterResolvingAttribute($attribute, $callback) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->afterResolvingAttribute($attribute, $callback); + } + + /** + * Fire all of the after resolving attribute callbacks. + * + * @param \ReflectionAttribute[] $attributes + * @param mixed $object + * @return void + * @static + */ + public static function fireAfterResolvingAttributeCallbacks($attributes, $object) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->fireAfterResolvingAttributeCallbacks($attributes, $object); } /** * Get the container's bindings. * - * @return array - * @static + * @return array + * @static */ public static function getBindings() { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::getBindings(); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getBindings(); } /** * Get the alias for an abstract if available. * * @param string $abstract - * @return string - * @throws \LogicException - * @static + * @return string + * @static */ public static function getAlias($abstract) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::getAlias($abstract); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->getAlias($abstract); + } + + /** + * Remove all of the extender callbacks for a given type. + * + * @param string $abstract + * @return void + * @static + */ + public static function forgetExtenders($abstract) + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->forgetExtenders($abstract); } /** * Remove a resolved instance from the instance cache. * * @param string $abstract - * @return void - * @static + * @return void + * @static */ public static function forgetInstance($abstract) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::forgetInstance($abstract); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->forgetInstance($abstract); } /** * Clear all of the instances from the container. * - * @return void - * @static + * @return void + * @static */ public static function forgetInstances() { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::forgetInstances(); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->forgetInstances(); } /** - * Set the globally available instance of the container. + * Clear all of the scoped instances from the container. * - * @return static - * @static + * @return void + * @static + */ + public static function forgetScopedInstances() + { + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->forgetScopedInstances(); + } + + /** + * Get the globally available instance of the container. + * + * @return static + * @static */ public static function getInstance() { - //Method inherited from \Illuminate\Container\Container + //Method inherited from \Illuminate\Container\Container return \Illuminate\Foundation\Application::getInstance(); } @@ -1191,12 +1833,12 @@ namespace { * Set the shared instance of the container. * * @param \Illuminate\Contracts\Container\Container|null $container - * @return static - * @static + * @return \Illuminate\Contracts\Container\Container|static + * @static */ public static function setInstance($container = null) { - //Method inherited from \Illuminate\Container\Container + //Method inherited from \Illuminate\Container\Container return \Illuminate\Foundation\Application::setInstance($container); } @@ -1204,26 +1846,28 @@ namespace { * Determine if a given offset exists. * * @param string $key - * @return bool - * @static + * @return bool + * @static */ public static function offsetExists($key) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::offsetExists($key); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->offsetExists($key); } /** * Get the value at a given offset. * * @param string $key - * @return mixed - * @static + * @return mixed + * @static */ public static function offsetGet($key) { - //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::offsetGet($key); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + return $instance->offsetGet($key); } /** @@ -1231,44 +1875,113 @@ namespace { * * @param string $key * @param mixed $value - * @return void - * @static + * @return void + * @static */ public static function offsetSet($key, $value) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::offsetSet($key, $value); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->offsetSet($key, $value); } /** * Unset the value at a given offset. * * @param string $key - * @return void - * @static + * @return void + * @static */ public static function offsetUnset($key) { - //Method inherited from \Illuminate\Container\Container - \Illuminate\Foundation\Application::offsetUnset($key); + //Method inherited from \Illuminate\Container\Container + /** @var \Illuminate\Foundation\Application $instance */ + $instance->offsetUnset($key); } - } + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Foundation\Application::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Foundation\Application::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Foundation\Application::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Foundation\Application::flushMacros(); + } + + } + /** + * + * + * @see \Illuminate\Foundation\Console\Kernel + */ + class Artisan { + /** + * Re-route the Symfony command events to their Laravel counterparts. + * + * @internal + * @return \Illuminate\Foundation\Console\Kernel + * @static + */ + public static function rerouteSymfonyCommandEvents() + { + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->rerouteSymfonyCommandEvents(); + } - class Artisan extends \Illuminate\Support\Facades\Artisan - { /** * Run the console application. * * @param \Symfony\Component\Console\Input\InputInterface $input - * @param \Symfony\Component\Console\Output\OutputInterface $output - * @return int - * @static + * @param \Symfony\Component\Console\Output\OutputInterface|null $output + * @return int + * @static */ public static function handle($input, $output = null) { - //Method inherited from \Illuminate\Foundation\Console\Kernel - return \Crater\Console\Kernel::handle($input, $output); + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->handle($input, $output); } /** @@ -1276,13 +1989,51 @@ namespace { * * @param \Symfony\Component\Console\Input\InputInterface $input * @param int $status - * @return void - * @static + * @return void + * @static */ public static function terminate($input, $status) { - //Method inherited from \Illuminate\Foundation\Console\Kernel - \Crater\Console\Kernel::terminate($input, $status); + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + $instance->terminate($input, $status); + } + + /** + * Register a callback to be invoked when the command lifecycle duration exceeds a given amount of time. + * + * @param \DateTimeInterface|\Carbon\CarbonInterval|float|int $threshold + * @param callable $handler + * @return void + * @static + */ + public static function whenCommandLifecycleIsLongerThan($threshold, $handler) + { + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + $instance->whenCommandLifecycleIsLongerThan($threshold, $handler); + } + + /** + * When the command being handled started. + * + * @return \Illuminate\Support\Carbon|null + * @static + */ + public static function commandStartedAt() + { + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->commandStartedAt(); + } + + /** + * Resolve a console schedule instance. + * + * @return \Illuminate\Console\Scheduling\Schedule + * @static + */ + public static function resolveConsoleSchedule() + { + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->resolveConsoleSchedule(); } /** @@ -1290,26 +2041,26 @@ namespace { * * @param string $signature * @param \Closure $callback - * @return \Illuminate\Foundation\Console\ClosureCommand - * @static + * @return \Illuminate\Foundation\Console\ClosureCommand + * @static */ public static function command($signature, $callback) { - //Method inherited from \Illuminate\Foundation\Console\Kernel - return \Crater\Console\Kernel::command($signature, $callback); + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->command($signature, $callback); } /** * Register the given command with the console application. * * @param \Symfony\Component\Console\Command\Command $command - * @return void - * @static + * @return void + * @static */ public static function registerCommand($command) { - //Method inherited from \Illuminate\Foundation\Console\Kernel - \Crater\Console\Kernel::registerCommand($command); + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + $instance->registerCommand($command); } /** @@ -1317,14 +2068,15 @@ namespace { * * @param string $command * @param array $parameters - * @param \Symfony\Component\Console\Output\OutputInterface $outputBuffer - * @return int - * @static + * @param \Symfony\Component\Console\Output\OutputInterface|null $outputBuffer + * @return int + * @throws \Symfony\Component\Console\Exception\CommandNotFoundException + * @static */ public static function call($command, $parameters = [], $outputBuffer = null) { - //Method inherited from \Illuminate\Foundation\Console\Kernel - return \Crater\Console\Kernel::call($command, $parameters, $outputBuffer); + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->call($command, $parameters, $outputBuffer); } /** @@ -1332,78 +2084,134 @@ namespace { * * @param string $command * @param array $parameters - * @return void - * @static + * @return \Illuminate\Foundation\Bus\PendingDispatch + * @static */ public static function queue($command, $parameters = []) { - //Method inherited from \Illuminate\Foundation\Console\Kernel - \Crater\Console\Kernel::queue($command, $parameters); + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->queue($command, $parameters); } /** * Get all of the commands registered with the console. * - * @return array - * @static + * @return array + * @static */ public static function all() { - //Method inherited from \Illuminate\Foundation\Console\Kernel - return \Crater\Console\Kernel::all(); + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->all(); } /** * Get the output for the last run command. * - * @return string - * @static + * @return string + * @static */ public static function output() { - //Method inherited from \Illuminate\Foundation\Console\Kernel - return \Crater\Console\Kernel::output(); + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->output(); } /** * Bootstrap the application for artisan commands. * - * @return void - * @static + * @return void + * @static */ public static function bootstrap() { - //Method inherited from \Illuminate\Foundation\Console\Kernel - \Crater\Console\Kernel::bootstrap(); + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + $instance->bootstrap(); + } + + /** + * Bootstrap the application without booting service providers. + * + * @return void + * @static + */ + public static function bootstrapWithoutBootingProviders() + { + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + $instance->bootstrapWithoutBootingProviders(); } /** * Set the Artisan application instance. * - * @param \Illuminate\Console\Application $artisan - * @return void - * @static + * @param \Illuminate\Console\Application|null $artisan + * @return void + * @static */ public static function setArtisan($artisan) { - //Method inherited from \Illuminate\Foundation\Console\Kernel - \Crater\Console\Kernel::setArtisan($artisan); + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + $instance->setArtisan($artisan); } - } + /** + * Set the Artisan commands provided by the application. + * + * @param array $commands + * @return \Illuminate\Foundation\Console\Kernel + * @static + */ + public static function addCommands($commands) + { + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->addCommands($commands); + } - class Auth extends \Illuminate\Support\Facades\Auth - { + /** + * Set the paths that should have their Artisan commands automatically discovered. + * + * @param array $paths + * @return \Illuminate\Foundation\Console\Kernel + * @static + */ + public static function addCommandPaths($paths) + { + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->addCommandPaths($paths); + } + + /** + * Set the paths that should have their Artisan "routes" automatically discovered. + * + * @param array $paths + * @return \Illuminate\Foundation\Console\Kernel + * @static + */ + public static function addCommandRoutePaths($paths) + { + /** @var \Illuminate\Foundation\Console\Kernel $instance */ + return $instance->addCommandRoutePaths($paths); + } + + } + /** + * + * + * @see \Illuminate\Auth\AuthManager + * @see \Illuminate\Auth\SessionGuard + */ + class Auth { /** * Attempt to get the guard from the local cache. * - * @param string $name - * @return \Illuminate\Contracts\Auth\Guard|\Illuminate\Contracts\Auth\StatefulGuard - * @static + * @param string|null $name + * @return \Illuminate\Contracts\Auth\Guard|\Illuminate\Contracts\Auth\StatefulGuard + * @static */ public static function guard($name = null) { - return \Illuminate\Auth\AuthManager::guard($name); + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->guard($name); } /** @@ -1411,12 +2219,13 @@ namespace { * * @param string $name * @param array $config - * @return \Illuminate\Auth\SessionGuard - * @static + * @return \Illuminate\Auth\SessionGuard + * @static */ public static function createSessionDriver($name, $config) { - return \Illuminate\Auth\AuthManager::createSessionDriver($name, $config); + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->createSessionDriver($name, $config); } /** @@ -1424,47 +2233,51 @@ namespace { * * @param string $name * @param array $config - * @return \Illuminate\Auth\TokenGuard - * @static + * @return \Illuminate\Auth\TokenGuard + * @static */ public static function createTokenDriver($name, $config) { - return \Illuminate\Auth\AuthManager::createTokenDriver($name, $config); + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->createTokenDriver($name, $config); } /** * Get the default authentication driver name. * - * @return string - * @static + * @return string + * @static */ public static function getDefaultDriver() { - return \Illuminate\Auth\AuthManager::getDefaultDriver(); + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->getDefaultDriver(); } /** * Set the default guard driver the factory should serve. * * @param string $name - * @return void - * @static + * @return void + * @static */ public static function shouldUse($name) { - \Illuminate\Auth\AuthManager::shouldUse($name); + /** @var \Illuminate\Auth\AuthManager $instance */ + $instance->shouldUse($name); } /** * Set the default authentication driver name. * * @param string $name - * @return void - * @static + * @return void + * @static */ public static function setDefaultDriver($name) { - \Illuminate\Auth\AuthManager::setDefaultDriver($name); + /** @var \Illuminate\Auth\AuthManager $instance */ + $instance->setDefaultDriver($name); } /** @@ -1472,35 +2285,38 @@ namespace { * * @param string $driver * @param callable $callback - * @return $this - * @static + * @return \Illuminate\Auth\AuthManager + * @static */ public static function viaRequest($driver, $callback) { - return \Illuminate\Auth\AuthManager::viaRequest($driver, $callback); + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->viaRequest($driver, $callback); } /** * Get the user resolver callback. * - * @return \Closure - * @static + * @return \Closure + * @static */ public static function userResolver() { - return \Illuminate\Auth\AuthManager::userResolver(); + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->userResolver(); } /** * Set the callback to be used to resolve users. * * @param \Closure $userResolver - * @return $this - * @static + * @return \Illuminate\Auth\AuthManager + * @static */ public static function resolveUsersUsing($userResolver) { - return \Illuminate\Auth\AuthManager::resolveUsersUsing($userResolver); + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->resolveUsersUsing($userResolver); } /** @@ -1508,12 +2324,13 @@ namespace { * * @param string $driver * @param \Closure $callback - * @return $this - * @static + * @return \Illuminate\Auth\AuthManager + * @static */ public static function extend($driver, $callback) { - return \Illuminate\Auth\AuthManager::extend($driver, $callback); + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->extend($driver, $callback); } /** @@ -1521,83 +2338,139 @@ namespace { * * @param string $name * @param \Closure $callback - * @return $this - * @static + * @return \Illuminate\Auth\AuthManager + * @static */ public static function provider($name, $callback) { - return \Illuminate\Auth\AuthManager::provider($name, $callback); + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->provider($name, $callback); + } + + /** + * Determines if any guards have already been resolved. + * + * @return bool + * @static + */ + public static function hasResolvedGuards() + { + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->hasResolvedGuards(); + } + + /** + * Forget all of the resolved guard instances. + * + * @return \Illuminate\Auth\AuthManager + * @static + */ + public static function forgetGuards() + { + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->forgetGuards(); + } + + /** + * Set the application instance used by the manager. + * + * @param \Illuminate\Contracts\Foundation\Application $app + * @return \Illuminate\Auth\AuthManager + * @static + */ + public static function setApplication($app) + { + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->setApplication($app); } /** * Create the user provider implementation for the driver. * - * @param string $provider - * @return \Illuminate\Contracts\Auth\UserProvider + * @param string|null $provider + * @return \Illuminate\Contracts\Auth\UserProvider|null * @throws \InvalidArgumentException - * @static + * @static */ - public static function createUserProvider($provider) + public static function createUserProvider($provider = null) { - return \Illuminate\Auth\AuthManager::createUserProvider($provider); + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->createUserProvider($provider); + } + + /** + * Get the default user provider name. + * + * @return string + * @static + */ + public static function getDefaultUserProvider() + { + /** @var \Illuminate\Auth\AuthManager $instance */ + return $instance->getDefaultUserProvider(); } /** * Get the currently authenticated user. * - * @return \Crater\User|null - * @static + * @return \App\Models\User|null + * @static */ public static function user() { - return \Illuminate\Auth\SessionGuard::user(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->user(); } /** * Get the ID for the currently authenticated user. * - * @return int|null - * @static + * @return int|string|null + * @static */ public static function id() { - return \Illuminate\Auth\SessionGuard::id(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->id(); } /** * Log a user into the application without sessions or cookies. * * @param array $credentials - * @return bool - * @static + * @return bool + * @static */ public static function once($credentials = []) { - return \Illuminate\Auth\SessionGuard::once($credentials); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->once($credentials); } /** * Log the given user ID into the application without sessions or cookies. * * @param mixed $id - * @return \Crater\User|false - * @static + * @return \App\Models\User|false + * @static */ public static function onceUsingId($id) { - return \Illuminate\Auth\SessionGuard::onceUsingId($id); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->onceUsingId($id); } /** * Validate a user's credentials. * * @param array $credentials - * @return bool - * @static + * @return bool + * @static */ public static function validate($credentials = []) { - return \Illuminate\Auth\SessionGuard::validate($credentials); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->validate($credentials); } /** @@ -1605,12 +2478,14 @@ namespace { * * @param string $field * @param array $extraConditions - * @return \Symfony\Component\HttpFoundation\Response|null - * @static + * @return \Symfony\Component\HttpFoundation\Response|null + * @throws \Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException + * @static */ public static function basic($field = 'email', $extraConditions = []) { - return \Illuminate\Auth\SessionGuard::basic($field, $extraConditions); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->basic($field, $extraConditions); } /** @@ -1618,12 +2493,14 @@ namespace { * * @param string $field * @param array $extraConditions - * @return \Symfony\Component\HttpFoundation\Response|null - * @static + * @return \Symfony\Component\HttpFoundation\Response|null + * @throws \Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException + * @static */ public static function onceBasic($field = 'email', $extraConditions = []) { - return \Illuminate\Auth\SessionGuard::onceBasic($field, $extraConditions); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->onceBasic($field, $extraConditions); } /** @@ -1631,12 +2508,28 @@ namespace { * * @param array $credentials * @param bool $remember - * @return bool - * @static + * @return bool + * @static */ public static function attempt($credentials = [], $remember = false) { - return \Illuminate\Auth\SessionGuard::attempt($credentials, $remember); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->attempt($credentials, $remember); + } + + /** + * Attempt to authenticate a user with credentials and additional callbacks. + * + * @param array $credentials + * @param array|callable|null $callbacks + * @param bool $remember + * @return bool + * @static + */ + public static function attemptWhen($credentials = [], $callbacks = null, $remember = false) + { + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->attemptWhen($credentials, $callbacks, $remember); } /** @@ -1644,12 +2537,13 @@ namespace { * * @param mixed $id * @param bool $remember - * @return \Crater\User|false - * @static + * @return \App\Models\User|false + * @static */ public static function loginUsingId($id, $remember = false) { - return \Illuminate\Auth\SessionGuard::loginUsingId($id, $remember); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->loginUsingId($id, $remember); } /** @@ -1657,326 +2551,717 @@ namespace { * * @param \Illuminate\Contracts\Auth\Authenticatable $user * @param bool $remember - * @return void - * @static + * @return void + * @static */ public static function login($user, $remember = false) { - \Illuminate\Auth\SessionGuard::login($user, $remember); + /** @var \Illuminate\Auth\SessionGuard $instance */ + $instance->login($user, $remember); } /** * Log the user out of the application. * - * @return void - * @static + * @return void + * @static */ public static function logout() { - \Illuminate\Auth\SessionGuard::logout(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + $instance->logout(); + } + + /** + * Log the user out of the application on their current device only. + * + * This method does not cycle the "remember" token. + * + * @return void + * @static + */ + public static function logoutCurrentDevice() + { + /** @var \Illuminate\Auth\SessionGuard $instance */ + $instance->logoutCurrentDevice(); + } + + /** + * Invalidate other sessions for the current user. + * + * The application must be using the AuthenticateSession middleware. + * + * @param string $password + * @return \App\Models\User|null + * @throws \Illuminate\Auth\AuthenticationException + * @static + */ + public static function logoutOtherDevices($password) + { + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->logoutOtherDevices($password); } /** * Register an authentication attempt event listener. * * @param mixed $callback - * @return void - * @static + * @return void + * @static */ public static function attempting($callback) { - \Illuminate\Auth\SessionGuard::attempting($callback); + /** @var \Illuminate\Auth\SessionGuard $instance */ + $instance->attempting($callback); } /** * Get the last user we attempted to authenticate. * - * @return \Crater\User - * @static + * @return \App\Models\User + * @static */ public static function getLastAttempted() { - return \Illuminate\Auth\SessionGuard::getLastAttempted(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->getLastAttempted(); } /** * Get a unique identifier for the auth session value. * - * @return string - * @static + * @return string + * @static */ public static function getName() { - return \Illuminate\Auth\SessionGuard::getName(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->getName(); } /** * Get the name of the cookie used to store the "recaller". * - * @return string - * @static + * @return string + * @static */ public static function getRecallerName() { - return \Illuminate\Auth\SessionGuard::getRecallerName(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->getRecallerName(); } /** * Determine if the user was authenticated via "remember me" cookie. * - * @return bool - * @static + * @return bool + * @static */ public static function viaRemember() { - return \Illuminate\Auth\SessionGuard::viaRemember(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->viaRemember(); + } + + /** + * Set the number of minutes the remember me cookie should be valid for. + * + * @param int $minutes + * @return \Illuminate\Auth\SessionGuard + * @static + */ + public static function setRememberDuration($minutes) + { + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->setRememberDuration($minutes); } /** * Get the cookie creator instance used by the guard. * - * @return \Illuminate\Contracts\Cookie\QueueingFactory + * @return \Illuminate\Contracts\Cookie\QueueingFactory * @throws \RuntimeException - * @static + * @static */ public static function getCookieJar() { - return \Illuminate\Auth\SessionGuard::getCookieJar(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->getCookieJar(); } /** * Set the cookie creator instance used by the guard. * * @param \Illuminate\Contracts\Cookie\QueueingFactory $cookie - * @return void - * @static + * @return void + * @static */ public static function setCookieJar($cookie) { - \Illuminate\Auth\SessionGuard::setCookieJar($cookie); + /** @var \Illuminate\Auth\SessionGuard $instance */ + $instance->setCookieJar($cookie); } /** * Get the event dispatcher instance. * - * @return \Illuminate\Contracts\Events\Dispatcher - * @static + * @return \Illuminate\Contracts\Events\Dispatcher + * @static */ public static function getDispatcher() { - return \Illuminate\Auth\SessionGuard::getDispatcher(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->getDispatcher(); } /** * Set the event dispatcher instance. * * @param \Illuminate\Contracts\Events\Dispatcher $events - * @return void - * @static + * @return void + * @static */ public static function setDispatcher($events) { - \Illuminate\Auth\SessionGuard::setDispatcher($events); + /** @var \Illuminate\Auth\SessionGuard $instance */ + $instance->setDispatcher($events); } /** * Get the session store used by the guard. * - * @return \Illuminate\Session\Store - * @static + * @return \Illuminate\Contracts\Session\Session + * @static */ public static function getSession() { - return \Illuminate\Auth\SessionGuard::getSession(); - } - - /** - * Get the user provider used by the guard. - * - * @return \Illuminate\Contracts\Auth\UserProvider - * @static - */ - public static function getProvider() - { - return \Illuminate\Auth\SessionGuard::getProvider(); - } - - /** - * Set the user provider used by the guard. - * - * @param \Illuminate\Contracts\Auth\UserProvider $provider - * @return void - * @static - */ - public static function setProvider($provider) - { - \Illuminate\Auth\SessionGuard::setProvider($provider); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->getSession(); } /** * Return the currently cached user. * - * @return \Crater\User|null - * @static + * @return \App\Models\User|null + * @static */ public static function getUser() { - return \Illuminate\Auth\SessionGuard::getUser(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->getUser(); } /** * Set the current user. * * @param \Illuminate\Contracts\Auth\Authenticatable $user - * @return $this - * @static + * @return \Illuminate\Auth\SessionGuard + * @static */ public static function setUser($user) { - return \Illuminate\Auth\SessionGuard::setUser($user); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->setUser($user); } /** * Get the current request instance. * - * @return \Symfony\Component\HttpFoundation\Request - * @static + * @return \Symfony\Component\HttpFoundation\Request + * @static */ public static function getRequest() { - return \Illuminate\Auth\SessionGuard::getRequest(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->getRequest(); } /** * Set the current request instance. * * @param \Symfony\Component\HttpFoundation\Request $request - * @return $this - * @static + * @return \Illuminate\Auth\SessionGuard + * @static */ public static function setRequest($request) { - return \Illuminate\Auth\SessionGuard::setRequest($request); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->setRequest($request); } /** - * Determine if the current user is authenticated. + * Get the timebox instance used by the guard. * - * @return \Crater\User + * @return \Illuminate\Support\Timebox + * @static + */ + public static function getTimebox() + { + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->getTimebox(); + } + + /** + * Determine if the current user is authenticated. If not, throw an exception. + * + * @return \App\Models\User * @throws \Illuminate\Auth\AuthenticationException - * @static + * @static */ public static function authenticate() { - return \Illuminate\Auth\SessionGuard::authenticate(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->authenticate(); + } + + /** + * Determine if the guard has a user instance. + * + * @return bool + * @static + */ + public static function hasUser() + { + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->hasUser(); } /** * Determine if the current user is authenticated. * - * @return bool - * @static + * @return bool + * @static */ public static function check() { - return \Illuminate\Auth\SessionGuard::check(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->check(); } /** * Determine if the current user is a guest. * - * @return bool - * @static + * @return bool + * @static */ public static function guest() { - return \Illuminate\Auth\SessionGuard::guest(); + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->guest(); } - } + /** + * Forget the current user. + * + * @return \Illuminate\Auth\SessionGuard + * @static + */ + public static function forgetUser() + { + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->forgetUser(); + } - class Blade extends \Illuminate\Support\Facades\Blade - { + /** + * Get the user provider used by the guard. + * + * @return \Illuminate\Contracts\Auth\UserProvider + * @static + */ + public static function getProvider() + { + /** @var \Illuminate\Auth\SessionGuard $instance */ + return $instance->getProvider(); + } + + /** + * Set the user provider used by the guard. + * + * @param \Illuminate\Contracts\Auth\UserProvider $provider + * @return void + * @static + */ + public static function setProvider($provider) + { + /** @var \Illuminate\Auth\SessionGuard $instance */ + $instance->setProvider($provider); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Auth\SessionGuard::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Auth\SessionGuard::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Auth\SessionGuard::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Auth\SessionGuard::flushMacros(); + } + + } + /** + * + * + * @see \Illuminate\View\Compilers\BladeCompiler + */ + class Blade { /** * Compile the view at the given path. * - * @param string $path - * @return void - * @static + * @param string|null $path + * @return void + * @static */ public static function compile($path = null) { - \Illuminate\View\Compilers\BladeCompiler::compile($path); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->compile($path); } /** * Get the path currently being compiled. * - * @return string - * @static + * @return string + * @static */ public static function getPath() { - return \Illuminate\View\Compilers\BladeCompiler::getPath(); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->getPath(); } /** * Set the path currently being compiled. * * @param string $path - * @return void - * @static + * @return void + * @static */ public static function setPath($path) { - \Illuminate\View\Compilers\BladeCompiler::setPath($path); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->setPath($path); } /** * Compile the given Blade template contents. * * @param string $value - * @return string - * @static + * @return string + * @static */ public static function compileString($value) { - return \Illuminate\View\Compilers\BladeCompiler::compileString($value); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->compileString($value); + } + + /** + * Evaluate and render a Blade string to HTML. + * + * @param string $string + * @param array $data + * @param bool $deleteCachedView + * @return string + * @static + */ + public static function render($string, $data = [], $deleteCachedView = false) + { + return \Illuminate\View\Compilers\BladeCompiler::render($string, $data, $deleteCachedView); + } + + /** + * Render a component instance to HTML. + * + * @param \Illuminate\View\Component $component + * @return string + * @static + */ + public static function renderComponent($component) + { + return \Illuminate\View\Compilers\BladeCompiler::renderComponent($component); } /** * Strip the parentheses from the given expression. * * @param string $expression - * @return string - * @static + * @return string + * @static */ public static function stripParentheses($expression) { - return \Illuminate\View\Compilers\BladeCompiler::stripParentheses($expression); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->stripParentheses($expression); } /** * Register a custom Blade compiler. * * @param callable $compiler - * @return void - * @static + * @return void + * @static */ public static function extend($compiler) { - \Illuminate\View\Compilers\BladeCompiler::extend($compiler); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->extend($compiler); } /** * Get the extensions used by the compiler. * - * @return array - * @static + * @return array + * @static */ public static function getExtensions() { - return \Illuminate\View\Compilers\BladeCompiler::getExtensions(); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->getExtensions(); + } + + /** + * Register an "if" statement directive. + * + * @param string $name + * @param callable $callback + * @return void + * @static + */ + public static function if($name, $callback) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->if($name, $callback); + } + + /** + * Check the result of a condition. + * + * @param string $name + * @param mixed $parameters + * @return bool + * @static + */ + public static function check($name, ...$parameters) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->check($name, ...$parameters); + } + + /** + * Register a class-based component alias directive. + * + * @param string $class + * @param string|null $alias + * @param string $prefix + * @return void + * @static + */ + public static function component($class, $alias = null, $prefix = '') + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->component($class, $alias, $prefix); + } + + /** + * Register an array of class-based components. + * + * @param array $components + * @param string $prefix + * @return void + * @static + */ + public static function components($components, $prefix = '') + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->components($components, $prefix); + } + + /** + * Get the registered class component aliases. + * + * @return array + * @static + */ + public static function getClassComponentAliases() + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->getClassComponentAliases(); + } + + /** + * Register a new anonymous component path. + * + * @param string $path + * @param string|null $prefix + * @return void + * @static + */ + public static function anonymousComponentPath($path, $prefix = null) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->anonymousComponentPath($path, $prefix); + } + + /** + * Register an anonymous component namespace. + * + * @param string $directory + * @param string|null $prefix + * @return void + * @static + */ + public static function anonymousComponentNamespace($directory, $prefix = null) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->anonymousComponentNamespace($directory, $prefix); + } + + /** + * Register a class-based component namespace. + * + * @param string $namespace + * @param string $prefix + * @return void + * @static + */ + public static function componentNamespace($namespace, $prefix) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->componentNamespace($namespace, $prefix); + } + + /** + * Get the registered anonymous component paths. + * + * @return array + * @static + */ + public static function getAnonymousComponentPaths() + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->getAnonymousComponentPaths(); + } + + /** + * Get the registered anonymous component namespaces. + * + * @return array + * @static + */ + public static function getAnonymousComponentNamespaces() + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->getAnonymousComponentNamespaces(); + } + + /** + * Get the registered class component namespaces. + * + * @return array + * @static + */ + public static function getClassComponentNamespaces() + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->getClassComponentNamespaces(); + } + + /** + * Register a component alias directive. + * + * @param string $path + * @param string|null $alias + * @return void + * @static + */ + public static function aliasComponent($path, $alias = null) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->aliasComponent($path, $alias); + } + + /** + * Register an include alias directive. + * + * @param string $path + * @param string|null $alias + * @return void + * @static + */ + public static function include($path, $alias = null) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->include($path, $alias); + } + + /** + * Register an include alias directive. + * + * @param string $path + * @param string|null $alias + * @return void + * @static + */ + public static function aliasInclude($path, $alias = null) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->aliasInclude($path, $alias); + } + + /** + * Register a handler for custom directives, binding the handler to the compiler. + * + * @param string $name + * @param callable $handler + * @return void + * @throws \InvalidArgumentException + * @static + */ + public static function bindDirective($name, $handler) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->bindDirective($name, $handler); } /** @@ -1984,226 +3269,452 @@ namespace { * * @param string $name * @param callable $handler - * @return void - * @static + * @param bool $bind + * @return void + * @throws \InvalidArgumentException + * @static */ - public static function directive($name, $handler) + public static function directive($name, $handler, $bind = false) { - \Illuminate\View\Compilers\BladeCompiler::directive($name, $handler); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->directive($name, $handler, $bind); } /** * Get the list of custom directives. * - * @return array - * @static + * @return array + * @static */ public static function getCustomDirectives() { - return \Illuminate\View\Compilers\BladeCompiler::getCustomDirectives(); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->getCustomDirectives(); + } + + /** + * Indicate that the following callable should be used to prepare strings for compilation. + * + * @param callable $callback + * @return \Illuminate\View\Compilers\BladeCompiler + * @static + */ + public static function prepareStringsForCompilationUsing($callback) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->prepareStringsForCompilationUsing($callback); + } + + /** + * Register a new precompiler. + * + * @param callable $precompiler + * @return void + * @static + */ + public static function precompiler($precompiler) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->precompiler($precompiler); } /** * Set the echo format to be used by the compiler. * * @param string $format - * @return void - * @static + * @return void + * @static */ public static function setEchoFormat($format) { - \Illuminate\View\Compilers\BladeCompiler::setEchoFormat($format); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->setEchoFormat($format); + } + + /** + * Set the "echo" format to double encode entities. + * + * @return void + * @static + */ + public static function withDoubleEncoding() + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->withDoubleEncoding(); + } + + /** + * Set the "echo" format to not double encode entities. + * + * @return void + * @static + */ + public static function withoutDoubleEncoding() + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->withoutDoubleEncoding(); + } + + /** + * Indicate that component tags should not be compiled. + * + * @return void + * @static + */ + public static function withoutComponentTags() + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->withoutComponentTags(); } /** * Get the path to the compiled version of a view. * * @param string $path - * @return string - * @static + * @return string + * @static */ public static function getCompiledPath($path) { - //Method inherited from \Illuminate\View\Compilers\Compiler - return \Illuminate\View\Compilers\BladeCompiler::getCompiledPath($path); + //Method inherited from \Illuminate\View\Compilers\Compiler + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->getCompiledPath($path); } /** * Determine if the view at the given path is expired. * * @param string $path - * @return bool - * @static + * @return bool + * @throws \ErrorException + * @static */ public static function isExpired($path) { - //Method inherited from \Illuminate\View\Compilers\Compiler - return \Illuminate\View\Compilers\BladeCompiler::isExpired($path); + //Method inherited from \Illuminate\View\Compilers\Compiler + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->isExpired($path); } /** - * Compile the default values for the echo statement. + * Get a new component hash for a component name. + * + * @param string $component + * @return string + * @static + */ + public static function newComponentHash($component) + { + return \Illuminate\View\Compilers\BladeCompiler::newComponentHash($component); + } + + /** + * Compile a class component opening. + * + * @param string $component + * @param string $alias + * @param string $data + * @param string $hash + * @return string + * @static + */ + public static function compileClassComponentOpening($component, $alias, $data, $hash) + { + return \Illuminate\View\Compilers\BladeCompiler::compileClassComponentOpening($component, $alias, $data, $hash); + } + + /** + * Compile the end-component statements into valid PHP. + * + * @return string + * @static + */ + public static function compileEndComponentClass() + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->compileEndComponentClass(); + } + + /** + * Sanitize the given component attribute value. + * + * @param mixed $value + * @return mixed + * @static + */ + public static function sanitizeComponentAttribute($value) + { + return \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($value); + } + + /** + * Compile an end-once block into valid PHP. + * + * @return string + * @static + */ + public static function compileEndOnce() + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->compileEndOnce(); + } + + /** + * Add a handler to be executed before echoing a given class. + * + * @param string|callable $class + * @param callable|null $handler + * @return void + * @static + */ + public static function stringable($class, $handler = null) + { + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + $instance->stringable($class, $handler); + } + + /** + * Compile Blade echos into valid PHP. * * @param string $value - * @return string - * @static + * @return string + * @static */ - public static function compileEchoDefaults($value) + public static function compileEchos($value) { - return \Illuminate\View\Compilers\BladeCompiler::compileEchoDefaults($value); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->compileEchos($value); } - } - - class Bus extends \Illuminate\Support\Facades\Bus - { /** - * Dispatch a command to its appropriate handler. + * Apply the echo handler for the value if it exists. * - * @param mixed $command - * @return mixed - * @static + * @param string $value + * @return string + * @static */ - public static function dispatch($command) + public static function applyEchoHandler($value) { - return \Illuminate\Bus\Dispatcher::dispatch($command); + /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ + return $instance->applyEchoHandler($value); } + } + /** + * + * + * @method static mixed auth(\Illuminate\Http\Request $request) + * @method static mixed validAuthenticationResponse(\Illuminate\Http\Request $request, mixed $result) + * @method static void broadcast(array $channels, string $event, array $payload = []) + * @method static array|null resolveAuthenticatedUser(\Illuminate\Http\Request $request) + * @method static void resolveAuthenticatedUserUsing(\Closure $callback) + * @method static \Illuminate\Broadcasting\Broadcasters\Broadcaster channel(\Illuminate\Contracts\Broadcasting\HasBroadcastChannel|string $channel, callable|string $callback, array $options = []) + * @method static \Illuminate\Support\Collection getChannels() + * @see \Illuminate\Broadcasting\BroadcastManager + * @see \Illuminate\Broadcasting\Broadcasters\Broadcaster + */ + class Broadcast { /** - * Dispatch a command to its appropriate handler in the current process. + * Register the routes for handling broadcast channel authentication and sockets. * - * @param mixed $command - * @param mixed $handler - * @return mixed - * @static + * @param array|null $attributes + * @return void + * @static */ - public static function dispatchNow($command, $handler = null) + public static function routes($attributes = null) { - return \Illuminate\Bus\Dispatcher::dispatchNow($command, $handler); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + $instance->routes($attributes); } /** - * Determine if the given command has a handler. + * Register the routes for handling broadcast user authentication. * - * @param mixed $command - * @return bool - * @static + * @param array|null $attributes + * @return void + * @static */ - public static function hasCommandHandler($command) + public static function userRoutes($attributes = null) { - return \Illuminate\Bus\Dispatcher::hasCommandHandler($command); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + $instance->userRoutes($attributes); } /** - * Retrieve the handler for a command. + * Register the routes for handling broadcast authentication and sockets. + * + * Alias of "routes" method. * - * @param mixed $command - * @return bool|mixed - * @static + * @param array|null $attributes + * @return void + * @static */ - public static function getCommandHandler($command) + public static function channelRoutes($attributes = null) { - return \Illuminate\Bus\Dispatcher::getCommandHandler($command); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + $instance->channelRoutes($attributes); } /** - * Dispatch a command to its appropriate handler behind a queue. + * Get the socket ID for the given request. * - * @param mixed $command - * @return mixed - * @throws \RuntimeException - * @static + * @param \Illuminate\Http\Request|null $request + * @return string|null + * @static */ - public static function dispatchToQueue($command) + public static function socket($request = null) { - return \Illuminate\Bus\Dispatcher::dispatchToQueue($command); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->socket($request); } /** - * Set the pipes through which commands should be piped before dispatching. + * Begin sending an anonymous broadcast to the given channels. * - * @param array $pipes - * @return $this - * @static + * @static */ - public static function pipeThrough($pipes) + public static function on($channels) { - return \Illuminate\Bus\Dispatcher::pipeThrough($pipes); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->on($channels); } /** - * Map a command to a handler. + * Begin sending an anonymous broadcast to the given private channels. * - * @param array $map - * @return $this - * @static + * @static */ - public static function map($map) + public static function private($channel) { - return \Illuminate\Bus\Dispatcher::map($map); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->private($channel); } - } - - class Cache extends \Illuminate\Support\Facades\Cache - { /** - * Get a cache store instance by name. + * Begin sending an anonymous broadcast to the given presence channels. + * + * @static + */ + public static function presence($channel) + { + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->presence($channel); + } + + /** + * Begin broadcasting an event. + * + * @param mixed|null $event + * @return \Illuminate\Broadcasting\PendingBroadcast + * @static + */ + public static function event($event = null) + { + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->event($event); + } + + /** + * Queue the given event for broadcast. + * + * @param mixed $event + * @return void + * @static + */ + public static function queue($event) + { + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + $instance->queue($event); + } + + /** + * Get a driver instance. + * + * @param string|null $driver + * @return mixed + * @static + */ + public static function connection($driver = null) + { + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->connection($driver); + } + + /** + * Get a driver instance. * * @param string|null $name - * @return mixed - * @static + * @return mixed + * @static */ - public static function store($name = null) + public static function driver($name = null) { - return \Illuminate\Cache\CacheManager::store($name); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->driver($name); } /** - * Get a cache driver instance. + * Get a Pusher instance for the given configuration. * - * @param string $driver - * @return mixed - * @static + * @param array $config + * @return \Pusher\Pusher + * @static */ - public static function driver($driver = null) + public static function pusher($config) { - return \Illuminate\Cache\CacheManager::driver($driver); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->pusher($config); } /** - * Create a new cache repository with the given implementation. + * Get an Ably instance for the given configuration. * - * @param \Illuminate\Contracts\Cache\Store $store - * @return \Illuminate\Cache\Repository - * @static + * @param array $config + * @return \Ably\AblyRest + * @static */ - public static function repository($store) + public static function ably($config) { - return \Illuminate\Cache\CacheManager::repository($store); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->ably($config); } /** - * Get the default cache driver name. + * Get the default driver name. * - * @return string - * @static + * @return string + * @static */ public static function getDefaultDriver() { - return \Illuminate\Cache\CacheManager::getDefaultDriver(); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->getDefaultDriver(); } /** - * Set the default cache driver name. + * Set the default driver name. * * @param string $name - * @return void - * @static + * @return void + * @static */ public static function setDefaultDriver($name) { - \Illuminate\Cache\CacheManager::setDefaultDriver($name); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + $instance->setDefaultDriver($name); + } + + /** + * Disconnect the given disk and remove from local cache. + * + * @param string|null $name + * @return void + * @static + */ + public static function purge($name = null) + { + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + $instance->purge($name); } /** @@ -2211,91 +3722,939 @@ namespace { * * @param string $driver * @param \Closure $callback - * @return $this - * @static + * @return \Illuminate\Broadcasting\BroadcastManager + * @static */ public static function extend($driver, $callback) { - return \Illuminate\Cache\CacheManager::extend($driver, $callback); + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->extend($driver, $callback); + } + + /** + * Get the application instance used by the manager. + * + * @return \Illuminate\Contracts\Foundation\Application + * @static + */ + public static function getApplication() + { + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->getApplication(); + } + + /** + * Set the application instance used by the manager. + * + * @param \Illuminate\Contracts\Foundation\Application $app + * @return \Illuminate\Broadcasting\BroadcastManager + * @static + */ + public static function setApplication($app) + { + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->setApplication($app); + } + + /** + * Forget all of the resolved driver instances. + * + * @return \Illuminate\Broadcasting\BroadcastManager + * @static + */ + public static function forgetDrivers() + { + /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ + return $instance->forgetDrivers(); + } + + } + /** + * + * + * @see \Illuminate\Bus\Dispatcher + * @see \Illuminate\Support\Testing\Fakes\BusFake + */ + class Bus { + /** + * Dispatch a command to its appropriate handler. + * + * @param mixed $command + * @return mixed + * @static + */ + public static function dispatch($command) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + return $instance->dispatch($command); + } + + /** + * Dispatch a command to its appropriate handler in the current process. + * + * Queueable jobs will be dispatched to the "sync" queue. + * + * @param mixed $command + * @param mixed $handler + * @return mixed + * @static + */ + public static function dispatchSync($command, $handler = null) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + return $instance->dispatchSync($command, $handler); + } + + /** + * Dispatch a command to its appropriate handler in the current process without using the synchronous queue. + * + * @param mixed $command + * @param mixed $handler + * @return mixed + * @static + */ + public static function dispatchNow($command, $handler = null) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + return $instance->dispatchNow($command, $handler); + } + + /** + * Attempt to find the batch with the given ID. + * + * @param string $batchId + * @return \Illuminate\Bus\Batch|null + * @static + */ + public static function findBatch($batchId) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + return $instance->findBatch($batchId); + } + + /** + * Create a new batch of queueable jobs. + * + * @param \Illuminate\Support\Collection|array|mixed $jobs + * @return \Illuminate\Bus\PendingBatch + * @static + */ + public static function batch($jobs) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + return $instance->batch($jobs); + } + + /** + * Create a new chain of queueable jobs. + * + * @param \Illuminate\Support\Collection|array $jobs + * @return \Illuminate\Foundation\Bus\PendingChain + * @static + */ + public static function chain($jobs) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + return $instance->chain($jobs); + } + + /** + * Determine if the given command has a handler. + * + * @param mixed $command + * @return bool + * @static + */ + public static function hasCommandHandler($command) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + return $instance->hasCommandHandler($command); + } + + /** + * Retrieve the handler for a command. + * + * @param mixed $command + * @return bool|mixed + * @static + */ + public static function getCommandHandler($command) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + return $instance->getCommandHandler($command); + } + + /** + * Dispatch a command to its appropriate handler behind a queue. + * + * @param mixed $command + * @return mixed + * @throws \RuntimeException + * @static + */ + public static function dispatchToQueue($command) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + return $instance->dispatchToQueue($command); + } + + /** + * Dispatch a command to its appropriate handler after the current process. + * + * @param mixed $command + * @param mixed $handler + * @return void + * @static + */ + public static function dispatchAfterResponse($command, $handler = null) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + $instance->dispatchAfterResponse($command, $handler); + } + + /** + * Set the pipes through which commands should be piped before dispatching. + * + * @param array $pipes + * @return \Illuminate\Bus\Dispatcher + * @static + */ + public static function pipeThrough($pipes) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + return $instance->pipeThrough($pipes); + } + + /** + * Map a command to a handler. + * + * @param array $map + * @return \Illuminate\Bus\Dispatcher + * @static + */ + public static function map($map) + { + /** @var \Illuminate\Bus\Dispatcher $instance */ + return $instance->map($map); + } + + /** + * Specify the jobs that should be dispatched instead of faked. + * + * @param array|string $jobsToDispatch + * @return \Illuminate\Support\Testing\Fakes\BusFake + * @static + */ + public static function except($jobsToDispatch) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->except($jobsToDispatch); + } + + /** + * Assert if a job was dispatched based on a truth-test callback. + * + * @param string|\Closure $command + * @param callable|int|null $callback + * @return void + * @static + */ + public static function assertDispatched($command, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertDispatched($command, $callback); + } + + /** + * Assert if a job was pushed a number of times. + * + * @param string|\Closure $command + * @param int $times + * @return void + * @static + */ + public static function assertDispatchedTimes($command, $times = 1) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertDispatchedTimes($command, $times); + } + + /** + * Determine if a job was dispatched based on a truth-test callback. + * + * @param string|\Closure $command + * @param callable|null $callback + * @return void + * @static + */ + public static function assertNotDispatched($command, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertNotDispatched($command, $callback); + } + + /** + * Assert that no jobs were dispatched. + * + * @return void + * @static + */ + public static function assertNothingDispatched() + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertNothingDispatched(); + } + + /** + * Assert if a job was explicitly dispatched synchronously based on a truth-test callback. + * + * @param string|\Closure $command + * @param callable|int|null $callback + * @return void + * @static + */ + public static function assertDispatchedSync($command, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertDispatchedSync($command, $callback); + } + + /** + * Assert if a job was pushed synchronously a number of times. + * + * @param string|\Closure $command + * @param int $times + * @return void + * @static + */ + public static function assertDispatchedSyncTimes($command, $times = 1) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertDispatchedSyncTimes($command, $times); + } + + /** + * Determine if a job was dispatched based on a truth-test callback. + * + * @param string|\Closure $command + * @param callable|null $callback + * @return void + * @static + */ + public static function assertNotDispatchedSync($command, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertNotDispatchedSync($command, $callback); + } + + /** + * Assert if a job was dispatched after the response was sent based on a truth-test callback. + * + * @param string|\Closure $command + * @param callable|int|null $callback + * @return void + * @static + */ + public static function assertDispatchedAfterResponse($command, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertDispatchedAfterResponse($command, $callback); + } + + /** + * Assert if a job was pushed after the response was sent a number of times. + * + * @param string|\Closure $command + * @param int $times + * @return void + * @static + */ + public static function assertDispatchedAfterResponseTimes($command, $times = 1) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertDispatchedAfterResponseTimes($command, $times); + } + + /** + * Determine if a job was dispatched based on a truth-test callback. + * + * @param string|\Closure $command + * @param callable|null $callback + * @return void + * @static + */ + public static function assertNotDispatchedAfterResponse($command, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertNotDispatchedAfterResponse($command, $callback); + } + + /** + * Assert if a chain of jobs was dispatched. + * + * @param array $expectedChain + * @return void + * @static + */ + public static function assertChained($expectedChain) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertChained($expectedChain); + } + + /** + * Assert no chained jobs was dispatched. + * + * @return void + * @static + */ + public static function assertNothingChained() + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertNothingChained(); + } + + /** + * Assert if a job was dispatched with an empty chain based on a truth-test callback. + * + * @param string|\Closure $command + * @param callable|null $callback + * @return void + * @static + */ + public static function assertDispatchedWithoutChain($command, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertDispatchedWithoutChain($command, $callback); + } + + /** + * Create a new assertion about a chained batch. + * + * @param \Closure $callback + * @return \Illuminate\Support\Testing\Fakes\ChainedBatchTruthTest + * @static + */ + public static function chainedBatch($callback) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->chainedBatch($callback); + } + + /** + * Assert if a batch was dispatched based on a truth-test callback. + * + * @param callable $callback + * @return void + * @static + */ + public static function assertBatched($callback) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertBatched($callback); + } + + /** + * Assert the number of batches that have been dispatched. + * + * @param int $count + * @return void + * @static + */ + public static function assertBatchCount($count) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertBatchCount($count); + } + + /** + * Assert that no batched jobs were dispatched. + * + * @return void + * @static + */ + public static function assertNothingBatched() + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertNothingBatched(); + } + + /** + * Assert that no jobs were dispatched, chained, or batched. + * + * @return void + * @static + */ + public static function assertNothingPlaced() + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + $instance->assertNothingPlaced(); + } + + /** + * Get all of the jobs matching a truth-test callback. + * + * @param string $command + * @param callable|null $callback + * @return \Illuminate\Support\Collection + * @static + */ + public static function dispatched($command, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->dispatched($command, $callback); + } + + /** + * Get all of the jobs dispatched synchronously matching a truth-test callback. + * + * @param string $command + * @param callable|null $callback + * @return \Illuminate\Support\Collection + * @static + */ + public static function dispatchedSync($command, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->dispatchedSync($command, $callback); + } + + /** + * Get all of the jobs dispatched after the response was sent matching a truth-test callback. + * + * @param string $command + * @param callable|null $callback + * @return \Illuminate\Support\Collection + * @static + */ + public static function dispatchedAfterResponse($command, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->dispatchedAfterResponse($command, $callback); + } + + /** + * Get all of the pending batches matching a truth-test callback. + * + * @param callable $callback + * @return \Illuminate\Support\Collection + * @static + */ + public static function batched($callback) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->batched($callback); + } + + /** + * Determine if there are any stored commands for a given class. + * + * @param string $command + * @return bool + * @static + */ + public static function hasDispatched($command) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->hasDispatched($command); + } + + /** + * Determine if there are any stored commands for a given class. + * + * @param string $command + * @return bool + * @static + */ + public static function hasDispatchedSync($command) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->hasDispatchedSync($command); + } + + /** + * Determine if there are any stored commands for a given class. + * + * @param string $command + * @return bool + * @static + */ + public static function hasDispatchedAfterResponse($command) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->hasDispatchedAfterResponse($command); + } + + /** + * Dispatch an empty job batch for testing. + * + * @param string $name + * @return \Illuminate\Bus\Batch + * @static + */ + public static function dispatchFakeBatch($name = '') + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->dispatchFakeBatch($name); + } + + /** + * Record the fake pending batch dispatch. + * + * @param \Illuminate\Bus\PendingBatch $pendingBatch + * @return \Illuminate\Bus\Batch + * @static + */ + public static function recordPendingBatch($pendingBatch) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->recordPendingBatch($pendingBatch); + } + + /** + * Specify if commands should be serialized and restored when being batched. + * + * @param bool $serializeAndRestore + * @return \Illuminate\Support\Testing\Fakes\BusFake + * @static + */ + public static function serializeAndRestore($serializeAndRestore = true) + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->serializeAndRestore($serializeAndRestore); + } + + /** + * Get the batches that have been dispatched. + * + * @return array + * @static + */ + public static function dispatchedBatches() + { + /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ + return $instance->dispatchedBatches(); + } + + } + /** + * + * + * @see \Illuminate\Cache\CacheManager + * @see \Illuminate\Cache\Repository + */ + class Cache { + /** + * Get a cache store instance by name, wrapped in a repository. + * + * @param string|null $name + * @return \Illuminate\Contracts\Cache\Repository + * @static + */ + public static function store($name = null) + { + /** @var \Illuminate\Cache\CacheManager $instance */ + return $instance->store($name); + } + + /** + * Get a cache driver instance. + * + * @param string|null $driver + * @return \Illuminate\Contracts\Cache\Repository + * @static + */ + public static function driver($driver = null) + { + /** @var \Illuminate\Cache\CacheManager $instance */ + return $instance->driver($driver); + } + + /** + * Resolve the given store. + * + * @param string $name + * @return \Illuminate\Contracts\Cache\Repository + * @throws \InvalidArgumentException + * @static + */ + public static function resolve($name) + { + /** @var \Illuminate\Cache\CacheManager $instance */ + return $instance->resolve($name); + } + + /** + * Build a cache repository with the given configuration. + * + * @param array $config + * @return \Illuminate\Cache\Repository + * @static + */ + public static function build($config) + { + /** @var \Illuminate\Cache\CacheManager $instance */ + return $instance->build($config); + } + + /** + * Create a new cache repository with the given implementation. + * + * @param \Illuminate\Contracts\Cache\Store $store + * @param array $config + * @return \Illuminate\Cache\Repository + * @static + */ + public static function repository($store, $config = []) + { + /** @var \Illuminate\Cache\CacheManager $instance */ + return $instance->repository($store, $config); + } + + /** + * Re-set the event dispatcher on all resolved cache repositories. + * + * @return void + * @static + */ + public static function refreshEventDispatcher() + { + /** @var \Illuminate\Cache\CacheManager $instance */ + $instance->refreshEventDispatcher(); + } + + /** + * Get the default cache driver name. + * + * @return string + * @static + */ + public static function getDefaultDriver() + { + /** @var \Illuminate\Cache\CacheManager $instance */ + return $instance->getDefaultDriver(); + } + + /** + * Set the default cache driver name. + * + * @param string $name + * @return void + * @static + */ + public static function setDefaultDriver($name) + { + /** @var \Illuminate\Cache\CacheManager $instance */ + $instance->setDefaultDriver($name); + } + + /** + * Unset the given driver instances. + * + * @param array|string|null $name + * @return \Illuminate\Cache\CacheManager + * @static + */ + public static function forgetDriver($name = null) + { + /** @var \Illuminate\Cache\CacheManager $instance */ + return $instance->forgetDriver($name); + } + + /** + * Disconnect the given driver and remove from local cache. + * + * @param string|null $name + * @return void + * @static + */ + public static function purge($name = null) + { + /** @var \Illuminate\Cache\CacheManager $instance */ + $instance->purge($name); + } + + /** + * Register a custom driver creator Closure. + * + * @param string $driver + * @param \Closure $callback + * @return \Illuminate\Cache\CacheManager + * @static + */ + public static function extend($driver, $callback) + { + /** @var \Illuminate\Cache\CacheManager $instance */ + return $instance->extend($driver, $callback); + } + + /** + * Set the application instance used by the manager. + * + * @param \Illuminate\Contracts\Foundation\Application $app + * @return \Illuminate\Cache\CacheManager + * @static + */ + public static function setApplication($app) + { + /** @var \Illuminate\Cache\CacheManager $instance */ + return $instance->setApplication($app); } /** * Determine if an item exists in the cache. * - * @param string $key - * @return bool - * @static + * @param array|string $key + * @return bool + * @static */ public static function has($key) { - return \Illuminate\Cache\Repository::has($key); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->has($key); + } + + /** + * Determine if an item doesn't exist in the cache. + * + * @param string $key + * @return bool + * @static + */ + public static function missing($key) + { + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->missing($key); } /** * Retrieve an item from the cache by key. * - * @param string $key + * @param array|string $key * @param mixed $default - * @return mixed - * @static + * @return mixed + * @static */ public static function get($key, $default = null) { - return \Illuminate\Cache\Repository::get($key, $default); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->get($key, $default); } /** * Retrieve multiple items from the cache by key. - * + * * Items not found in the cache will have a null value. * * @param array $keys - * @return array - * @static + * @return array + * @static */ public static function many($keys) { - return \Illuminate\Cache\Repository::many($keys); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->many($keys); + } + + /** + * Obtains multiple cache items by their unique keys. + * + * @return iterable + * @param iterable $keys A list of keys that can be obtained in a single operation. + * @param mixed $default Default value to return for keys that do not exist. + * @return iterable A list of key => value pairs. Cache keys that do not exist or are stale will have $default as value. + * @throws \Psr\SimpleCache\InvalidArgumentException + * MUST be thrown if $keys is neither an array nor a Traversable, + * or if any of the $keys are not a legal value. + * @static + */ + public static function getMultiple($keys, $default = null) + { + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->getMultiple($keys, $default); } /** * Retrieve an item from the cache and delete it. * - * @param string $key + * @param array|string $key * @param mixed $default - * @return mixed - * @static + * @return mixed + * @static */ public static function pull($key, $default = null) { - return \Illuminate\Cache\Repository::pull($key, $default); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->pull($key, $default); } /** * Store an item in the cache. * - * @param string $key + * @param array|string $key * @param mixed $value - * @param \DateTime|float|int $minutes - * @return void - * @static + * @param \DateTimeInterface|\DateInterval|int|null $ttl + * @return bool + * @static */ - public static function put($key, $value, $minutes = null) + public static function put($key, $value, $ttl = null) { - \Illuminate\Cache\Repository::put($key, $value, $minutes); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->put($key, $value, $ttl); } /** - * Store multiple items in the cache for a given number of minutes. + * Persists data in the cache, uniquely referenced by a key with an optional expiration TTL time. + * + * @return bool + * @param string $key The key of the item to store. + * @param mixed $value The value of the item to store, must be serializable. + * @param null|int|\DateInterval $ttl Optional. The TTL value of this item. If no value is sent and + * the driver supports TTL then the library may set a default value + * for it or let the driver take care of that. + * @return bool True on success and false on failure. + * @throws \Psr\SimpleCache\InvalidArgumentException + * MUST be thrown if the $key string is not a legal value. + * @static + */ + public static function set($key, $value, $ttl = null) + { + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->set($key, $value, $ttl); + } + + /** + * Store multiple items in the cache for a given number of seconds. * * @param array $values - * @param float|int $minutes - * @return void - * @static + * @param \DateTimeInterface|\DateInterval|int|null $ttl + * @return bool + * @static */ - public static function putMany($values, $minutes) + public static function putMany($values, $ttl = null) { - \Illuminate\Cache\Repository::putMany($values, $minutes); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->putMany($values, $ttl); + } + + /** + * Persists a set of key => value pairs in the cache, with an optional TTL. + * + * @return bool + * @param iterable $values A list of key => value pairs for a multiple-set operation. + * @param null|int|\DateInterval $ttl Optional. The TTL value of this item. If no value is sent and + * the driver supports TTL then the library may set a default value + * for it or let the driver take care of that. + * @return bool True on success and false on failure. + * @throws \Psr\SimpleCache\InvalidArgumentException + * MUST be thrown if $values is neither an array nor a Traversable, + * or if any of the $values are not a legal value. + * @static + */ + public static function setMultiple($values, $ttl = null) + { + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->setMultiple($values, $ttl); } /** @@ -2303,13 +4662,14 @@ namespace { * * @param string $key * @param mixed $value - * @param \DateTime|float|int $minutes - * @return bool - * @static + * @param \DateTimeInterface|\DateInterval|int|null $ttl + * @return bool + * @static */ - public static function add($key, $value, $minutes) + public static function add($key, $value, $ttl = null) { - return \Illuminate\Cache\Repository::add($key, $value, $minutes); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->add($key, $value, $ttl); } /** @@ -2317,12 +4677,13 @@ namespace { * * @param string $key * @param mixed $value - * @return int|bool - * @static + * @return int|bool + * @static */ public static function increment($key, $value = 1) { - return \Illuminate\Cache\Repository::increment($key, $value); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->increment($key, $value); } /** @@ -2330,12 +4691,13 @@ namespace { * * @param string $key * @param mixed $value - * @return int|bool - * @static + * @return int|bool + * @static */ public static function decrement($key, $value = 1) { - return \Illuminate\Cache\Repository::decrement($key, $value); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->decrement($key, $value); } /** @@ -2343,147 +4705,262 @@ namespace { * * @param string $key * @param mixed $value - * @return void - * @static + * @return bool + * @static */ public static function forever($key, $value) { - \Illuminate\Cache\Repository::forever($key, $value); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->forever($key, $value); } /** - * Get an item from the cache, or store the default value. + * Get an item from the cache, or execute the given Closure and store the result. * + * @template TCacheValue * @param string $key - * @param \DateTime|float|int $minutes - * @param \Closure $callback - * @return mixed - * @static + * @param \Closure|\DateTimeInterface|\DateInterval|int|null $ttl + * @param \Closure(): TCacheValue $callback + * @return TCacheValue + * @static */ - public static function remember($key, $minutes, $callback) + public static function remember($key, $ttl, $callback) { - return \Illuminate\Cache\Repository::remember($key, $minutes, $callback); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->remember($key, $ttl, $callback); } /** - * Get an item from the cache, or store the default value forever. + * Get an item from the cache, or execute the given Closure and store the result forever. * + * @template TCacheValue * @param string $key - * @param \Closure $callback - * @return mixed - * @static + * @param \Closure(): TCacheValue $callback + * @return TCacheValue + * @static */ public static function sear($key, $callback) { - return \Illuminate\Cache\Repository::sear($key, $callback); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->sear($key, $callback); } /** - * Get an item from the cache, or store the default value forever. + * Get an item from the cache, or execute the given Closure and store the result forever. * + * @template TCacheValue * @param string $key - * @param \Closure $callback - * @return mixed - * @static + * @param \Closure(): TCacheValue $callback + * @return TCacheValue + * @static */ public static function rememberForever($key, $callback) { - return \Illuminate\Cache\Repository::rememberForever($key, $callback); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->rememberForever($key, $callback); + } + + /** + * Retrieve an item from the cache by key, refreshing it in the background if it is stale. + * + * @template TCacheValue + * @param string $key + * @param \Illuminate\Cache\array{ 0: \DateTimeInterface|\DateInterval|int, 1: \DateTimeInterface|\DateInterval|int } $ttl + * @param (callable(): TCacheValue) $callback + * @param \Illuminate\Cache\array{ seconds?: int, owner?: string }|null $lock + * @return TCacheValue + * @static + */ + public static function flexible($key, $ttl, $callback, $lock = null) + { + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->flexible($key, $ttl, $callback, $lock); } /** * Remove an item from the cache. * * @param string $key - * @return bool - * @static + * @return bool + * @static */ public static function forget($key) { - return \Illuminate\Cache\Repository::forget($key); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->forget($key); + } + + /** + * Delete an item from the cache by its unique key. + * + * @return bool + * @param string $key The unique cache key of the item to delete. + * @return bool True if the item was successfully removed. False if there was an error. + * @throws \Psr\SimpleCache\InvalidArgumentException + * MUST be thrown if the $key string is not a legal value. + * @static + */ + public static function delete($key) + { + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->delete($key); + } + + /** + * Deletes multiple cache items in a single operation. + * + * @return bool + * @param iterable $keys A list of string-based keys to be deleted. + * @return bool True if the items were successfully removed. False if there was an error. + * @throws \Psr\SimpleCache\InvalidArgumentException + * MUST be thrown if $keys is neither an array nor a Traversable, + * or if any of the $keys are not a legal value. + * @static + */ + public static function deleteMultiple($keys) + { + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->deleteMultiple($keys); + } + + /** + * Wipes clean the entire cache's keys. + * + * @return bool + * @return bool True on success and false on failure. + * @static + */ + public static function clear() + { + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->clear(); } /** * Begin executing a new tags operation if the store supports it. * * @param array|mixed $names - * @return \Illuminate\Cache\TaggedCache + * @return \Illuminate\Cache\TaggedCache * @throws \BadMethodCallException - * @static + * @static */ public static function tags($names) { - return \Illuminate\Cache\Repository::tags($names); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->tags($names); + } + + /** + * Determine if the current store supports tags. + * + * @return bool + * @static + */ + public static function supportsTags() + { + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->supportsTags(); } /** * Get the default cache time. * - * @return float|int - * @static + * @return int|null + * @static */ public static function getDefaultCacheTime() { - return \Illuminate\Cache\Repository::getDefaultCacheTime(); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->getDefaultCacheTime(); } /** - * Set the default cache time in minutes. + * Set the default cache time in seconds. * - * @param float|int $minutes - * @return $this - * @static + * @param int|null $seconds + * @return \Illuminate\Cache\Repository + * @static */ - public static function setDefaultCacheTime($minutes) + public static function setDefaultCacheTime($seconds) { - return \Illuminate\Cache\Repository::setDefaultCacheTime($minutes); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->setDefaultCacheTime($seconds); } /** * Get the cache store implementation. * - * @return \Illuminate\Contracts\Cache\Store - * @static + * @return \Illuminate\Contracts\Cache\Store + * @static */ public static function getStore() { - return \Illuminate\Cache\Repository::getStore(); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->getStore(); + } + + /** + * Set the cache store implementation. + * + * @param \Illuminate\Contracts\Cache\Store $store + * @return static + * @static + */ + public static function setStore($store) + { + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->setStore($store); + } + + /** + * Get the event dispatcher instance. + * + * @return \Illuminate\Contracts\Events\Dispatcher|null + * @static + */ + public static function getEventDispatcher() + { + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->getEventDispatcher(); } /** * Set the event dispatcher instance. * * @param \Illuminate\Contracts\Events\Dispatcher $events - * @return void - * @static + * @return void + * @static */ public static function setEventDispatcher($events) { - \Illuminate\Cache\Repository::setEventDispatcher($events); + /** @var \Illuminate\Cache\Repository $instance */ + $instance->setEventDispatcher($events); } /** * Determine if a cached value exists. * * @param string $key - * @return bool - * @static + * @return bool + * @static */ public static function offsetExists($key) { - return \Illuminate\Cache\Repository::offsetExists($key); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->offsetExists($key); } /** * Retrieve an item from the cache by key. * * @param string $key - * @return mixed - * @static + * @return mixed + * @static */ public static function offsetGet($key) { - return \Illuminate\Cache\Repository::offsetGet($key); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->offsetGet($key); } /** @@ -2491,136 +4968,496 @@ namespace { * * @param string $key * @param mixed $value - * @return void - * @static + * @return void + * @static */ public static function offsetSet($key, $value) { - \Illuminate\Cache\Repository::offsetSet($key, $value); + /** @var \Illuminate\Cache\Repository $instance */ + $instance->offsetSet($key, $value); } /** * Remove an item from the cache. * * @param string $key - * @return void - * @static + * @return void + * @static */ public static function offsetUnset($key) { - \Illuminate\Cache\Repository::offsetUnset($key); + /** @var \Illuminate\Cache\Repository $instance */ + $instance->offsetUnset($key); } /** * Register a custom macro. * * @param string $name - * @param callable $macro - * @return void - * @static + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static */ public static function macro($name, $macro) { \Illuminate\Cache\Repository::macro($name, $macro); } + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Cache\Repository::mixin($mixin, $replace); + } + /** * Checks if macro is registered. * * @param string $name - * @return bool - * @static + * @return bool + * @static */ public static function hasMacro($name) { return \Illuminate\Cache\Repository::hasMacro($name); } + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Cache\Repository::flushMacros(); + } + /** * Dynamically handle calls to the class. * * @param string $method * @param array $parameters - * @return mixed + * @return mixed * @throws \BadMethodCallException - * @static + * @static */ public static function macroCall($method, $parameters) { - return \Illuminate\Cache\Repository::macroCall($method, $parameters); + /** @var \Illuminate\Cache\Repository $instance */ + return $instance->macroCall($method, $parameters); + } + + /** + * Get a lock instance. + * + * @param string $name + * @param int $seconds + * @param string|null $owner + * @return \Illuminate\Contracts\Cache\Lock + * @static + */ + public static function lock($name, $seconds = 0, $owner = null) + { + /** @var \Illuminate\Cache\FileStore $instance */ + return $instance->lock($name, $seconds, $owner); + } + + /** + * Restore a lock instance using the owner identifier. + * + * @param string $name + * @param string $owner + * @return \Illuminate\Contracts\Cache\Lock + * @static + */ + public static function restoreLock($name, $owner) + { + /** @var \Illuminate\Cache\FileStore $instance */ + return $instance->restoreLock($name, $owner); } /** * Remove all items from the cache. * - * @return bool - * @static + * @return bool + * @static */ public static function flush() { - return \Illuminate\Cache\FileStore::flush(); + /** @var \Illuminate\Cache\FileStore $instance */ + return $instance->flush(); + } + + /** + * Get the full path for the given cache key. + * + * @param string $key + * @return string + * @static + */ + public static function path($key) + { + /** @var \Illuminate\Cache\FileStore $instance */ + return $instance->path($key); } /** * Get the Filesystem instance. * - * @return \Illuminate\Filesystem\Filesystem - * @static + * @return \Illuminate\Filesystem\Filesystem + * @static */ public static function getFilesystem() { - return \Illuminate\Cache\FileStore::getFilesystem(); + /** @var \Illuminate\Cache\FileStore $instance */ + return $instance->getFilesystem(); } /** * Get the working directory of the cache. * - * @return string - * @static + * @return string + * @static */ public static function getDirectory() { - return \Illuminate\Cache\FileStore::getDirectory(); + /** @var \Illuminate\Cache\FileStore $instance */ + return $instance->getDirectory(); + } + + /** + * Set the working directory of the cache. + * + * @param string $directory + * @return \Illuminate\Cache\FileStore + * @static + */ + public static function setDirectory($directory) + { + /** @var \Illuminate\Cache\FileStore $instance */ + return $instance->setDirectory($directory); + } + + /** + * Set the cache directory where locks should be stored. + * + * @param string|null $lockDirectory + * @return \Illuminate\Cache\FileStore + * @static + */ + public static function setLockDirectory($lockDirectory) + { + /** @var \Illuminate\Cache\FileStore $instance */ + return $instance->setLockDirectory($lockDirectory); } /** * Get the cache key prefix. * - * @return string - * @static + * @return string + * @static */ public static function getPrefix() { - return \Illuminate\Cache\FileStore::getPrefix(); + /** @var \Illuminate\Cache\FileStore $instance */ + return $instance->getPrefix(); } - } + } + /** + * + * + * @method static array run(\Closure|array $tasks) + * @method static \Illuminate\Support\Defer\DeferredCallback defer(\Closure|array $tasks) + * @see \Illuminate\Concurrency\ConcurrencyManager + */ + class Concurrency { + /** + * Get a driver instance by name. + * + * @param string|null $name + * @return mixed + * @static + */ + public static function driver($name = null) + { + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + return $instance->driver($name); + } - class Config extends \Illuminate\Support\Facades\Config - { + /** + * Create an instance of the process concurrency driver. + * + * @param array $config + * @return \Illuminate\Concurrency\ProcessDriver + * @static + */ + public static function createProcessDriver($config) + { + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + return $instance->createProcessDriver($config); + } + + /** + * Create an instance of the fork concurrency driver. + * + * @param array $config + * @return \Illuminate\Concurrency\ForkDriver + * @throws \RuntimeException + * @static + */ + public static function createForkDriver($config) + { + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + return $instance->createForkDriver($config); + } + + /** + * Create an instance of the sync concurrency driver. + * + * @param array $config + * @return \Illuminate\Concurrency\SyncDriver + * @static + */ + public static function createSyncDriver($config) + { + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + return $instance->createSyncDriver($config); + } + + /** + * Get the default instance name. + * + * @return string + * @static + */ + public static function getDefaultInstance() + { + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + return $instance->getDefaultInstance(); + } + + /** + * Set the default instance name. + * + * @param string $name + * @return void + * @static + */ + public static function setDefaultInstance($name) + { + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + $instance->setDefaultInstance($name); + } + + /** + * Get the instance specific configuration. + * + * @param string $name + * @return array + * @static + */ + public static function getInstanceConfig($name) + { + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + return $instance->getInstanceConfig($name); + } + + /** + * Get an instance by name. + * + * @param string|null $name + * @return mixed + * @static + */ + public static function instance($name = null) + { + //Method inherited from \Illuminate\Support\MultipleInstanceManager + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + return $instance->instance($name); + } + + /** + * Unset the given instances. + * + * @param array|string|null $name + * @return \Illuminate\Concurrency\ConcurrencyManager + * @static + */ + public static function forgetInstance($name = null) + { + //Method inherited from \Illuminate\Support\MultipleInstanceManager + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + return $instance->forgetInstance($name); + } + + /** + * Disconnect the given instance and remove from local cache. + * + * @param string|null $name + * @return void + * @static + */ + public static function purge($name = null) + { + //Method inherited from \Illuminate\Support\MultipleInstanceManager + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + $instance->purge($name); + } + + /** + * Register a custom instance creator Closure. + * + * @param string $name + * @param \Closure $callback + * @return \Illuminate\Concurrency\ConcurrencyManager + * @static + */ + public static function extend($name, $callback) + { + //Method inherited from \Illuminate\Support\MultipleInstanceManager + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + return $instance->extend($name, $callback); + } + + /** + * Set the application instance used by the manager. + * + * @param \Illuminate\Contracts\Foundation\Application $app + * @return \Illuminate\Concurrency\ConcurrencyManager + * @static + */ + public static function setApplication($app) + { + //Method inherited from \Illuminate\Support\MultipleInstanceManager + /** @var \Illuminate\Concurrency\ConcurrencyManager $instance */ + return $instance->setApplication($app); + } + + } + /** + * + * + * @see \Illuminate\Config\Repository + */ + class Config { /** * Determine if the given configuration value exists. * * @param string $key - * @return bool - * @static + * @return bool + * @static */ public static function has($key) { - return \Illuminate\Config\Repository::has($key); + /** @var \Illuminate\Config\Repository $instance */ + return $instance->has($key); } /** * Get the specified configuration value. * - * @param string $key + * @param array|string $key * @param mixed $default - * @return mixed - * @static + * @return mixed + * @static */ public static function get($key, $default = null) { - return \Illuminate\Config\Repository::get($key, $default); + /** @var \Illuminate\Config\Repository $instance */ + return $instance->get($key, $default); + } + + /** + * Get many configuration values. + * + * @param array $keys + * @return array + * @static + */ + public static function getMany($keys) + { + /** @var \Illuminate\Config\Repository $instance */ + return $instance->getMany($keys); + } + + /** + * Get the specified string configuration value. + * + * @param string $key + * @param (\Closure():(string|null))|string|null $default + * @return string + * @static + */ + public static function string($key, $default = null) + { + /** @var \Illuminate\Config\Repository $instance */ + return $instance->string($key, $default); + } + + /** + * Get the specified integer configuration value. + * + * @param string $key + * @param (\Closure():(int|null))|int|null $default + * @return int + * @static + */ + public static function integer($key, $default = null) + { + /** @var \Illuminate\Config\Repository $instance */ + return $instance->integer($key, $default); + } + + /** + * Get the specified float configuration value. + * + * @param string $key + * @param (\Closure():(float|null))|float|null $default + * @return float + * @static + */ + public static function float($key, $default = null) + { + /** @var \Illuminate\Config\Repository $instance */ + return $instance->float($key, $default); + } + + /** + * Get the specified boolean configuration value. + * + * @param string $key + * @param (\Closure():(bool|null))|bool|null $default + * @return bool + * @static + */ + public static function boolean($key, $default = null) + { + /** @var \Illuminate\Config\Repository $instance */ + return $instance->boolean($key, $default); + } + + /** + * Get the specified array configuration value. + * + * @param string $key + * @param (\Closure():(array|null))|array|null $default + * @return array + * @static + */ + public static function array($key, $default = null) + { + /** @var \Illuminate\Config\Repository $instance */ + return $instance->array($key, $default); } /** @@ -2628,12 +5465,13 @@ namespace { * * @param array|string $key * @param mixed $value - * @return void - * @static + * @return void + * @static */ public static function set($key, $value = null) { - \Illuminate\Config\Repository::set($key, $value); + /** @var \Illuminate\Config\Repository $instance */ + $instance->set($key, $value); } /** @@ -2641,12 +5479,13 @@ namespace { * * @param string $key * @param mixed $value - * @return void - * @static + * @return void + * @static */ public static function prepend($key, $value) { - \Illuminate\Config\Repository::prepend($key, $value); + /** @var \Illuminate\Config\Repository $instance */ + $instance->prepend($key, $value); } /** @@ -2654,47 +5493,51 @@ namespace { * * @param string $key * @param mixed $value - * @return void - * @static + * @return void + * @static */ public static function push($key, $value) { - \Illuminate\Config\Repository::push($key, $value); + /** @var \Illuminate\Config\Repository $instance */ + $instance->push($key, $value); } /** * Get all of the configuration items for the application. * - * @return array - * @static + * @return array + * @static */ public static function all() { - return \Illuminate\Config\Repository::all(); + /** @var \Illuminate\Config\Repository $instance */ + return $instance->all(); } /** * Determine if the given configuration option exists. * * @param string $key - * @return bool - * @static + * @return bool + * @static */ public static function offsetExists($key) { - return \Illuminate\Config\Repository::offsetExists($key); + /** @var \Illuminate\Config\Repository $instance */ + return $instance->offsetExists($key); } /** * Get a configuration option. * * @param string $key - * @return mixed - * @static + * @return mixed + * @static */ public static function offsetGet($key) { - return \Illuminate\Config\Repository::offsetGet($key); + /** @var \Illuminate\Config\Repository $instance */ + return $instance->offsetGet($key); } /** @@ -2702,89 +5545,654 @@ namespace { * * @param string $key * @param mixed $value - * @return void - * @static + * @return void + * @static */ public static function offsetSet($key, $value) { - \Illuminate\Config\Repository::offsetSet($key, $value); + /** @var \Illuminate\Config\Repository $instance */ + $instance->offsetSet($key, $value); } /** * Unset a configuration option. * * @param string $key - * @return void - * @static + * @return void + * @static */ public static function offsetUnset($key) { - \Illuminate\Config\Repository::offsetUnset($key); + /** @var \Illuminate\Config\Repository $instance */ + $instance->offsetUnset($key); } - } + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Config\Repository::macro($name, $macro); + } - class Cookie extends \Illuminate\Support\Facades\Cookie - { + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Config\Repository::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Config\Repository::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Config\Repository::flushMacros(); + } + + } + /** + * + * + * @see \Illuminate\Log\Context\Repository + */ + class Context { + /** + * Determine if the given key exists. + * + * @param string $key + * @return bool + * @static + */ + public static function has($key) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->has($key); + } + + /** + * Determine if the given key exists within the hidden context data. + * + * @param string $key + * @return bool + * @static + */ + public static function hasHidden($key) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->hasHidden($key); + } + + /** + * Retrieve all the context data. + * + * @return array + * @static + */ + public static function all() + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->all(); + } + + /** + * Retrieve all the hidden context data. + * + * @return array + * @static + */ + public static function allHidden() + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->allHidden(); + } + + /** + * Retrieve the given key's value. + * + * @param string $key + * @param mixed $default + * @return mixed + * @static + */ + public static function get($key, $default = null) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->get($key, $default); + } + + /** + * Retrieve the given key's hidden value. + * + * @param string $key + * @param mixed $default + * @return mixed + * @static + */ + public static function getHidden($key, $default = null) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->getHidden($key, $default); + } + + /** + * Retrieve the given key's value and then forget it. + * + * @param string $key + * @param mixed $default + * @return mixed + * @static + */ + public static function pull($key, $default = null) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->pull($key, $default); + } + + /** + * Retrieve the given key's hidden value and then forget it. + * + * @param string $key + * @param mixed $default + * @return mixed + * @static + */ + public static function pullHidden($key, $default = null) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->pullHidden($key, $default); + } + + /** + * Retrieve only the values of the given keys. + * + * @param array $keys + * @return array + * @static + */ + public static function only($keys) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->only($keys); + } + + /** + * Retrieve only the hidden values of the given keys. + * + * @param array $keys + * @return array + * @static + */ + public static function onlyHidden($keys) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->onlyHidden($keys); + } + + /** + * Add a context value. + * + * @param string|array $key + * @param mixed $value + * @return \Illuminate\Log\Context\Repository + * @static + */ + public static function add($key, $value = null) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->add($key, $value); + } + + /** + * Add a hidden context value. + * + * @param string|array $key + * @param mixed $value + * @return \Illuminate\Log\Context\Repository + * @static + */ + public static function addHidden($key, $value = null) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->addHidden($key, $value); + } + + /** + * Forget the given context key. + * + * @param string|array $key + * @return \Illuminate\Log\Context\Repository + * @static + */ + public static function forget($key) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->forget($key); + } + + /** + * Forget the given hidden context key. + * + * @param string|array $key + * @return \Illuminate\Log\Context\Repository + * @static + */ + public static function forgetHidden($key) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->forgetHidden($key); + } + + /** + * Add a context value if it does not exist yet. + * + * @param string $key + * @param mixed $value + * @return \Illuminate\Log\Context\Repository + * @static + */ + public static function addIf($key, $value) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->addIf($key, $value); + } + + /** + * Add a hidden context value if it does not exist yet. + * + * @param string $key + * @param mixed $value + * @return \Illuminate\Log\Context\Repository + * @static + */ + public static function addHiddenIf($key, $value) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->addHiddenIf($key, $value); + } + + /** + * Push the given values onto the key's stack. + * + * @param string $key + * @param mixed $values + * @return \Illuminate\Log\Context\Repository + * @throws \RuntimeException + * @static + */ + public static function push($key, ...$values) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->push($key, ...$values); + } + + /** + * Pop the latest value from the key's stack. + * + * @param string $key + * @return mixed + * @throws \RuntimeException + * @static + */ + public static function pop($key) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->pop($key); + } + + /** + * Push the given hidden values onto the key's stack. + * + * @param string $key + * @param mixed $values + * @return \Illuminate\Log\Context\Repository + * @throws \RuntimeException + * @static + */ + public static function pushHidden($key, ...$values) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->pushHidden($key, ...$values); + } + + /** + * Pop the latest hidden value from the key's stack. + * + * @param string $key + * @return mixed + * @throws \RuntimeException + * @static + */ + public static function popHidden($key) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->popHidden($key); + } + + /** + * Determine if the given value is in the given stack. + * + * @param string $key + * @param mixed $value + * @param bool $strict + * @return bool + * @throws \RuntimeException + * @static + */ + public static function stackContains($key, $value, $strict = false) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->stackContains($key, $value, $strict); + } + + /** + * Determine if the given value is in the given hidden stack. + * + * @param string $key + * @param mixed $value + * @param bool $strict + * @return bool + * @throws \RuntimeException + * @static + */ + public static function hiddenStackContains($key, $value, $strict = false) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->hiddenStackContains($key, $value, $strict); + } + + /** + * Determine if the repository is empty. + * + * @return bool + * @static + */ + public static function isEmpty() + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->isEmpty(); + } + + /** + * Execute the given callback when context is about to be dehydrated. + * + * @param callable $callback + * @return \Illuminate\Log\Context\Repository + * @static + */ + public static function dehydrating($callback) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->dehydrating($callback); + } + + /** + * Execute the given callback when context has been hydrated. + * + * @param callable $callback + * @return \Illuminate\Log\Context\Repository + * @static + */ + public static function hydrated($callback) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->hydrated($callback); + } + + /** + * Handle unserialize exceptions using the given callback. + * + * @param callable|null $callback + * @return static + * @static + */ + public static function handleUnserializeExceptionsUsing($callback) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->handleUnserializeExceptionsUsing($callback); + } + + /** + * Flush all context data. + * + * @return \Illuminate\Log\Context\Repository + * @static + */ + public static function flush() + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->flush(); + } + + /** + * Dehydrate the context data. + * + * @internal + * @return \Illuminate\Log\Context\?array + * @static + */ + public static function dehydrate() + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->dehydrate(); + } + + /** + * Hydrate the context instance. + * + * @internal + * @param \Illuminate\Log\Context\?array $context + * @return \Illuminate\Log\Context\Repository + * @throws \RuntimeException + * @static + */ + public static function hydrate($context) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->hydrate($context); + } + + /** + * Apply the callback if the given "value" is (or resolves to) truthy. + * + * @template TWhenParameter + * @template TWhenReturnType + * @param (\Closure($this): TWhenParameter)|TWhenParameter|null $value + * @param (callable($this, TWhenParameter): TWhenReturnType)|null $callback + * @param (callable($this, TWhenParameter): TWhenReturnType)|null $default + * @return $this|TWhenReturnType + * @static + */ + public static function when($value = null, $callback = null, $default = null) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->when($value, $callback, $default); + } + + /** + * Apply the callback if the given "value" is (or resolves to) falsy. + * + * @template TUnlessParameter + * @template TUnlessReturnType + * @param (\Closure($this): TUnlessParameter)|TUnlessParameter|null $value + * @param (callable($this, TUnlessParameter): TUnlessReturnType)|null $callback + * @param (callable($this, TUnlessParameter): TUnlessReturnType)|null $default + * @return $this|TUnlessReturnType + * @static + */ + public static function unless($value = null, $callback = null, $default = null) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->unless($value, $callback, $default); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Log\Context\Repository::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Log\Context\Repository::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Log\Context\Repository::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Log\Context\Repository::flushMacros(); + } + + /** + * Restore the model from the model identifier instance. + * + * @param \Illuminate\Contracts\Database\ModelIdentifier $value + * @return \Illuminate\Database\Eloquent\Model + * @static + */ + public static function restoreModel($value) + { + /** @var \Illuminate\Log\Context\Repository $instance */ + return $instance->restoreModel($value); + } + + } + /** + * + * + * @see \Illuminate\Cookie\CookieJar + */ + class Cookie { /** * Create a new cookie instance. * * @param string $name * @param string $value * @param int $minutes - * @param string $path - * @param string $domain - * @param bool $secure + * @param string|null $path + * @param string|null $domain + * @param bool|null $secure * @param bool $httpOnly - * @return \Symfony\Component\HttpFoundation\Cookie - * @static + * @param bool $raw + * @param string|null $sameSite + * @return \Symfony\Component\HttpFoundation\Cookie + * @static */ - public static function make($name, $value, $minutes = 0, $path = null, $domain = null, $secure = false, $httpOnly = true) + public static function make($name, $value, $minutes = 0, $path = null, $domain = null, $secure = null, $httpOnly = true, $raw = false, $sameSite = null) { - return \Illuminate\Cookie\CookieJar::make($name, $value, $minutes, $path, $domain, $secure, $httpOnly); + /** @var \Illuminate\Cookie\CookieJar $instance */ + return $instance->make($name, $value, $minutes, $path, $domain, $secure, $httpOnly, $raw, $sameSite); } /** - * Create a cookie that lasts "forever" (five years). + * Create a cookie that lasts "forever" (400 days). * * @param string $name * @param string $value - * @param string $path - * @param string $domain - * @param bool $secure + * @param string|null $path + * @param string|null $domain + * @param bool|null $secure * @param bool $httpOnly - * @return \Symfony\Component\HttpFoundation\Cookie - * @static + * @param bool $raw + * @param string|null $sameSite + * @return \Symfony\Component\HttpFoundation\Cookie + * @static */ - public static function forever($name, $value, $path = null, $domain = null, $secure = false, $httpOnly = true) + public static function forever($name, $value, $path = null, $domain = null, $secure = null, $httpOnly = true, $raw = false, $sameSite = null) { - return \Illuminate\Cookie\CookieJar::forever($name, $value, $path, $domain, $secure, $httpOnly); + /** @var \Illuminate\Cookie\CookieJar $instance */ + return $instance->forever($name, $value, $path, $domain, $secure, $httpOnly, $raw, $sameSite); } /** * Expire the given cookie. * * @param string $name - * @param string $path - * @param string $domain - * @return \Symfony\Component\HttpFoundation\Cookie - * @static + * @param string|null $path + * @param string|null $domain + * @return \Symfony\Component\HttpFoundation\Cookie + * @static */ public static function forget($name, $path = null, $domain = null) { - return \Illuminate\Cookie\CookieJar::forget($name, $path, $domain); + /** @var \Illuminate\Cookie\CookieJar $instance */ + return $instance->forget($name, $path, $domain); } /** * Determine if a cookie has been queued. * * @param string $key - * @return bool - * @static + * @param string|null $path + * @return bool + * @static */ - public static function hasQueued($key) + public static function hasQueued($key, $path = null) { - return \Illuminate\Cookie\CookieJar::hasQueued($key); + /** @var \Illuminate\Cookie\CookieJar $instance */ + return $instance->hasQueued($key, $path); } /** @@ -2792,238 +6200,588 @@ namespace { * * @param string $key * @param mixed $default - * @return \Symfony\Component\HttpFoundation\Cookie - * @static + * @param string|null $path + * @return \Symfony\Component\HttpFoundation\Cookie|null + * @static */ - public static function queued($key, $default = null) + public static function queued($key, $default = null, $path = null) { - return \Illuminate\Cookie\CookieJar::queued($key, $default); + /** @var \Illuminate\Cookie\CookieJar $instance */ + return $instance->queued($key, $default, $path); } /** * Queue a cookie to send with the next response. * - * @param array $parameters - * @return void - * @static + * @param mixed $parameters + * @return void + * @static */ - public static function queue($parameters = null) + public static function queue(...$parameters) { - \Illuminate\Cookie\CookieJar::queue($parameters); + /** @var \Illuminate\Cookie\CookieJar $instance */ + $instance->queue(...$parameters); + } + + /** + * Queue a cookie to expire with the next response. + * + * @param string $name + * @param string|null $path + * @param string|null $domain + * @return void + * @static + */ + public static function expire($name, $path = null, $domain = null) + { + /** @var \Illuminate\Cookie\CookieJar $instance */ + $instance->expire($name, $path, $domain); } /** * Remove a cookie from the queue. * * @param string $name - * @return void - * @static + * @param string|null $path + * @return void + * @static */ - public static function unqueue($name) + public static function unqueue($name, $path = null) { - \Illuminate\Cookie\CookieJar::unqueue($name); + /** @var \Illuminate\Cookie\CookieJar $instance */ + $instance->unqueue($name, $path); } /** * Set the default path and domain for the jar. * * @param string $path - * @param string $domain - * @param bool $secure - * @return $this - * @static + * @param string|null $domain + * @param bool|null $secure + * @param string|null $sameSite + * @return \Illuminate\Cookie\CookieJar + * @static */ - public static function setDefaultPathAndDomain($path, $domain, $secure = false) + public static function setDefaultPathAndDomain($path, $domain, $secure = false, $sameSite = null) { - return \Illuminate\Cookie\CookieJar::setDefaultPathAndDomain($path, $domain, $secure); + /** @var \Illuminate\Cookie\CookieJar $instance */ + return $instance->setDefaultPathAndDomain($path, $domain, $secure, $sameSite); } /** * Get the cookies which have been queued for the next request. * - * @return array - * @static + * @return \Symfony\Component\HttpFoundation\Cookie[] + * @static */ public static function getQueuedCookies() { - return \Illuminate\Cookie\CookieJar::getQueuedCookies(); + /** @var \Illuminate\Cookie\CookieJar $instance */ + return $instance->getQueuedCookies(); } - } + /** + * Flush the cookies which have been queued for the next request. + * + * @return \Illuminate\Cookie\CookieJar + * @static + */ + public static function flushQueuedCookies() + { + /** @var \Illuminate\Cookie\CookieJar $instance */ + return $instance->flushQueuedCookies(); + } - class Crypt extends \Illuminate\Support\Facades\Crypt - { + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Cookie\CookieJar::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Cookie\CookieJar::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Cookie\CookieJar::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Cookie\CookieJar::flushMacros(); + } + + } + /** + * + * + * @see \Illuminate\Encryption\Encrypter + */ + class Crypt { /** * Determine if the given key and cipher combination is valid. * * @param string $key * @param string $cipher - * @return bool - * @static + * @return bool + * @static */ public static function supported($key, $cipher) { return \Illuminate\Encryption\Encrypter::supported($key, $cipher); } + /** + * Create a new encryption key for the given cipher. + * + * @param string $cipher + * @return string + * @static + */ + public static function generateKey($cipher) + { + return \Illuminate\Encryption\Encrypter::generateKey($cipher); + } + /** * Encrypt the given value. * * @param mixed $value * @param bool $serialize - * @return string + * @return string * @throws \Illuminate\Contracts\Encryption\EncryptException - * @static + * @static */ public static function encrypt($value, $serialize = true) { - return \Illuminate\Encryption\Encrypter::encrypt($value, $serialize); + /** @var \Illuminate\Encryption\Encrypter $instance */ + return $instance->encrypt($value, $serialize); } /** * Encrypt a string without serialization. * * @param string $value - * @return string - * @static + * @return string + * @throws \Illuminate\Contracts\Encryption\EncryptException + * @static */ public static function encryptString($value) { - return \Illuminate\Encryption\Encrypter::encryptString($value); + /** @var \Illuminate\Encryption\Encrypter $instance */ + return $instance->encryptString($value); } /** * Decrypt the given value. * - * @param mixed $payload + * @param string $payload * @param bool $unserialize - * @return string + * @return mixed * @throws \Illuminate\Contracts\Encryption\DecryptException - * @static + * @static */ public static function decrypt($payload, $unserialize = true) { - return \Illuminate\Encryption\Encrypter::decrypt($payload, $unserialize); + /** @var \Illuminate\Encryption\Encrypter $instance */ + return $instance->decrypt($payload, $unserialize); } /** * Decrypt the given string without unserialization. * * @param string $payload - * @return string - * @static + * @return string + * @throws \Illuminate\Contracts\Encryption\DecryptException + * @static */ public static function decryptString($payload) { - return \Illuminate\Encryption\Encrypter::decryptString($payload); + /** @var \Illuminate\Encryption\Encrypter $instance */ + return $instance->decryptString($payload); } /** - * Get the encryption key. + * Get the encryption key that the encrypter is currently using. * - * @return string - * @static + * @return string + * @static */ public static function getKey() { - return \Illuminate\Encryption\Encrypter::getKey(); + /** @var \Illuminate\Encryption\Encrypter $instance */ + return $instance->getKey(); } - } + /** + * Get the current encryption key and all previous encryption keys. + * + * @return array + * @static + */ + public static function getAllKeys() + { + /** @var \Illuminate\Encryption\Encrypter $instance */ + return $instance->getAllKeys(); + } - class DB extends \Illuminate\Support\Facades\DB - { + /** + * Get the previous encryption keys. + * + * @return array + * @static + */ + public static function getPreviousKeys() + { + /** @var \Illuminate\Encryption\Encrypter $instance */ + return $instance->getPreviousKeys(); + } + + /** + * Set the previous / legacy encryption keys that should be utilized if decryption fails. + * + * @param array $keys + * @return \Illuminate\Encryption\Encrypter + * @static + */ + public static function previousKeys($keys) + { + /** @var \Illuminate\Encryption\Encrypter $instance */ + return $instance->previousKeys($keys); + } + + } + /** + * + * + * @see https://carbon.nesbot.com/docs/ + * @see https://github.com/briannesbitt/Carbon/blob/master/src/Carbon/Factory.php + * @method static \Illuminate\Support\Carbon create($year = 0, $month = 1, $day = 1, $hour = 0, $minute = 0, $second = 0, $tz = null) + * @method static \Illuminate\Support\Carbon createFromDate($year = null, $month = null, $day = null, $tz = null) + * @method static \Illuminate\Support\Carbon|false createFromFormat($format, $time, $tz = null) + * @method static \Illuminate\Support\Carbon createFromTime($hour = 0, $minute = 0, $second = 0, $tz = null) + * @method static \Illuminate\Support\Carbon createFromTimeString($time, $tz = null) + * @method static \Illuminate\Support\Carbon createFromTimestamp($timestamp, $tz = null) + * @method static \Illuminate\Support\Carbon createFromTimestampMs($timestamp, $tz = null) + * @method static \Illuminate\Support\Carbon createFromTimestampUTC($timestamp) + * @method static \Illuminate\Support\Carbon createMidnightDate($year = null, $month = null, $day = null, $tz = null) + * @method static \Illuminate\Support\Carbon|false createSafe($year = null, $month = null, $day = null, $hour = null, $minute = null, $second = null, $tz = null) + * @method static void disableHumanDiffOption($humanDiffOption) + * @method static void enableHumanDiffOption($humanDiffOption) + * @method static mixed executeWithLocale($locale, $func) + * @method static \Illuminate\Support\Carbon fromSerialized($value) + * @method static array getAvailableLocales() + * @method static array getDays() + * @method static int getHumanDiffOptions() + * @method static array getIsoUnits() + * @method static array getLastErrors() + * @method static string getLocale() + * @method static int getMidDayAt() + * @method static \Illuminate\Support\Carbon|null getTestNow() + * @method static \Symfony\Component\Translation\TranslatorInterface getTranslator() + * @method static int getWeekEndsAt() + * @method static int getWeekStartsAt() + * @method static array getWeekendDays() + * @method static bool hasFormat($date, $format) + * @method static bool hasMacro($name) + * @method static bool hasRelativeKeywords($time) + * @method static bool hasTestNow() + * @method static \Illuminate\Support\Carbon instance($date) + * @method static bool isImmutable() + * @method static bool isModifiableUnit($unit) + * @method static bool isMutable() + * @method static bool isStrictModeEnabled() + * @method static bool localeHasDiffOneDayWords($locale) + * @method static bool localeHasDiffSyntax($locale) + * @method static bool localeHasDiffTwoDayWords($locale) + * @method static bool localeHasPeriodSyntax($locale) + * @method static bool localeHasShortUnits($locale) + * @method static void macro($name, $macro) + * @method static \Illuminate\Support\Carbon|null make($var) + * @method static \Illuminate\Support\Carbon maxValue() + * @method static \Illuminate\Support\Carbon minValue() + * @method static void mixin($mixin) + * @method static \Illuminate\Support\Carbon now($tz = null) + * @method static \Illuminate\Support\Carbon parse($time = null, $tz = null) + * @method static string pluralUnit(string $unit) + * @method static void resetMonthsOverflow() + * @method static void resetToStringFormat() + * @method static void resetYearsOverflow() + * @method static void serializeUsing($callback) + * @method static void setHumanDiffOptions($humanDiffOptions) + * @method static bool setLocale($locale) + * @method static void setMidDayAt($hour) + * @method static void setTestNow($testNow = null) + * @method static void setToStringFormat($format) + * @method static void setTranslator(\Symfony\Component\Translation\TranslatorInterface $translator) + * @method static void setUtf8($utf8) + * @method static void setWeekEndsAt($day) + * @method static void setWeekStartsAt($day) + * @method static void setWeekendDays($days) + * @method static bool shouldOverflowMonths() + * @method static bool shouldOverflowYears() + * @method static string singularUnit(string $unit) + * @method static \Illuminate\Support\Carbon today($tz = null) + * @method static \Illuminate\Support\Carbon tomorrow($tz = null) + * @method static void useMonthsOverflow($monthsOverflow = true) + * @method static void useStrictMode($strictModeEnabled = true) + * @method static void useYearsOverflow($yearsOverflow = true) + * @method static \Illuminate\Support\Carbon yesterday($tz = null) + * @see \Illuminate\Support\DateFactory + */ + class Date { + /** + * Use the given handler when generating dates (class name, callable, or factory). + * + * @param mixed $handler + * @return mixed + * @throws \InvalidArgumentException + * @static + */ + public static function use($handler) + { + return \Illuminate\Support\DateFactory::use($handler); + } + + /** + * Use the default date class when generating dates. + * + * @return void + * @static + */ + public static function useDefault() + { + \Illuminate\Support\DateFactory::useDefault(); + } + + /** + * Execute the given callable on each date creation. + * + * @param callable $callable + * @return void + * @static + */ + public static function useCallable($callable) + { + \Illuminate\Support\DateFactory::useCallable($callable); + } + + /** + * Use the given date type (class) when generating dates. + * + * @param string $dateClass + * @return void + * @static + */ + public static function useClass($dateClass) + { + \Illuminate\Support\DateFactory::useClass($dateClass); + } + + /** + * Use the given Carbon factory when generating dates. + * + * @param object $factory + * @return void + * @static + */ + public static function useFactory($factory) + { + \Illuminate\Support\DateFactory::useFactory($factory); + } + + } + /** + * + * + * @see \Illuminate\Database\DatabaseManager + */ + class DB { /** * Get a database connection instance. * - * @param string $name - * @return \Illuminate\Database\Connection - * @static + * @param string|null $name + * @return \Illuminate\Database\Connection + * @static */ public static function connection($name = null) { - return \Illuminate\Database\DatabaseManager::connection($name); + /** @var \Illuminate\Database\DatabaseManager $instance */ + return $instance->connection($name); + } + + /** + * Build a database connection instance from the given configuration. + * + * @param array $config + * @return \Illuminate\Database\SQLiteConnection + * @static + */ + public static function build($config) + { + /** @var \Illuminate\Database\DatabaseManager $instance */ + return $instance->build($config); + } + + /** + * Calculate the dynamic connection name for an on-demand connection based on its configuration. + * + * @param array $config + * @return string + * @static + */ + public static function calculateDynamicConnectionName($config) + { + return \Illuminate\Database\DatabaseManager::calculateDynamicConnectionName($config); + } + + /** + * Get a database connection instance from the given configuration. + * + * @param string $name + * @param array $config + * @param bool $force + * @return \Illuminate\Database\SQLiteConnection + * @static + */ + public static function connectUsing($name, $config, $force = false) + { + /** @var \Illuminate\Database\DatabaseManager $instance */ + return $instance->connectUsing($name, $config, $force); } /** * Disconnect from the given database and remove from local cache. * - * @param string $name - * @return void - * @static + * @param string|null $name + * @return void + * @static */ public static function purge($name = null) { - \Illuminate\Database\DatabaseManager::purge($name); + /** @var \Illuminate\Database\DatabaseManager $instance */ + $instance->purge($name); } /** * Disconnect from the given database. * - * @param string $name - * @return void - * @static + * @param string|null $name + * @return void + * @static */ public static function disconnect($name = null) { - \Illuminate\Database\DatabaseManager::disconnect($name); + /** @var \Illuminate\Database\DatabaseManager $instance */ + $instance->disconnect($name); } /** * Reconnect to the given database. * - * @param string $name - * @return \Illuminate\Database\Connection - * @static + * @param string|null $name + * @return \Illuminate\Database\Connection + * @static */ public static function reconnect($name = null) { - return \Illuminate\Database\DatabaseManager::reconnect($name); + /** @var \Illuminate\Database\DatabaseManager $instance */ + return $instance->reconnect($name); + } + + /** + * Set the default database connection for the callback execution. + * + * @param string $name + * @param callable $callback + * @return mixed + * @static + */ + public static function usingConnection($name, $callback) + { + /** @var \Illuminate\Database\DatabaseManager $instance */ + return $instance->usingConnection($name, $callback); } /** * Get the default connection name. * - * @return string - * @static + * @return string + * @static */ public static function getDefaultConnection() { - return \Illuminate\Database\DatabaseManager::getDefaultConnection(); + /** @var \Illuminate\Database\DatabaseManager $instance */ + return $instance->getDefaultConnection(); } /** * Set the default connection name. * * @param string $name - * @return void - * @static + * @return void + * @static */ public static function setDefaultConnection($name) { - \Illuminate\Database\DatabaseManager::setDefaultConnection($name); + /** @var \Illuminate\Database\DatabaseManager $instance */ + $instance->setDefaultConnection($name); } /** - * Get all of the support drivers. + * Get all of the supported drivers. * - * @return array - * @static + * @return string[] + * @static */ public static function supportedDrivers() { - return \Illuminate\Database\DatabaseManager::supportedDrivers(); + /** @var \Illuminate\Database\DatabaseManager $instance */ + return $instance->supportedDrivers(); } /** * Get all of the drivers that are actually available. * - * @return array - * @static + * @return string[] + * @static */ public static function availableDrivers() { - return \Illuminate\Database\DatabaseManager::availableDrivers(); + /** @var \Illuminate\Database\DatabaseManager $instance */ + return $instance->availableDrivers(); } /** @@ -3031,108 +6789,235 @@ namespace { * * @param string $name * @param callable $resolver - * @return void - * @static + * @return void + * @static */ public static function extend($name, $resolver) { - \Illuminate\Database\DatabaseManager::extend($name, $resolver); + /** @var \Illuminate\Database\DatabaseManager $instance */ + $instance->extend($name, $resolver); + } + + /** + * Remove an extension connection resolver. + * + * @param string $name + * @return void + * @static + */ + public static function forgetExtension($name) + { + /** @var \Illuminate\Database\DatabaseManager $instance */ + $instance->forgetExtension($name); } /** * Return all of the created connections. * - * @return array - * @static + * @return array + * @static */ public static function getConnections() { - return \Illuminate\Database\DatabaseManager::getConnections(); + /** @var \Illuminate\Database\DatabaseManager $instance */ + return $instance->getConnections(); + } + + /** + * Set the database reconnector callback. + * + * @param callable $reconnector + * @return void + * @static + */ + public static function setReconnector($reconnector) + { + /** @var \Illuminate\Database\DatabaseManager $instance */ + $instance->setReconnector($reconnector); + } + + /** + * Set the application instance used by the manager. + * + * @param \Illuminate\Contracts\Foundation\Application $app + * @return \Illuminate\Database\DatabaseManager + * @static + */ + public static function setApplication($app) + { + /** @var \Illuminate\Database\DatabaseManager $instance */ + return $instance->setApplication($app); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Database\DatabaseManager::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Database\DatabaseManager::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Database\DatabaseManager::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Database\DatabaseManager::flushMacros(); + } + + /** + * Dynamically handle calls to the class. + * + * @param string $method + * @param array $parameters + * @return mixed + * @throws \BadMethodCallException + * @static + */ + public static function macroCall($method, $parameters) + { + /** @var \Illuminate\Database\DatabaseManager $instance */ + return $instance->macroCall($method, $parameters); + } + + /** + * Get a human-readable name for the given connection driver. + * + * @return string + * @static + */ + public static function getDriverTitle() + { + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getDriverTitle(); } /** * Get a schema builder instance for the connection. * - * @return \Illuminate\Database\Schema\MySqlBuilder - * @static + * @return \Illuminate\Database\Schema\SQLiteBuilder + * @static */ public static function getSchemaBuilder() { - return \Illuminate\Database\MySqlConnection::getSchemaBuilder(); + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getSchemaBuilder(); } /** - * Bind values to their parameters in the given statement. + * Get the schema state for the connection. * - * @param \PDOStatement $statement - * @param array $bindings - * @return void - * @static + * @param \Illuminate\Filesystem\Filesystem|null $files + * @param callable|null $processFactory + * @throws \RuntimeException + * @static */ - public static function bindValues($statement, $bindings) + public static function getSchemaState($files = null, $processFactory = null) { - \Illuminate\Database\MySqlConnection::bindValues($statement, $bindings); + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getSchemaState($files, $processFactory); } /** * Set the query grammar to the default implementation. * - * @return void - * @static + * @return void + * @static */ public static function useDefaultQueryGrammar() { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::useDefaultQueryGrammar(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->useDefaultQueryGrammar(); } /** * Set the schema grammar to the default implementation. * - * @return void - * @static + * @return void + * @static */ public static function useDefaultSchemaGrammar() { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::useDefaultSchemaGrammar(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->useDefaultSchemaGrammar(); } /** * Set the query post processor to the default implementation. * - * @return void - * @static + * @return void + * @static */ public static function useDefaultPostProcessor() { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::useDefaultPostProcessor(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->useDefaultPostProcessor(); } /** * Begin a fluent query against a database table. * - * @param string $table - * @return \Illuminate\Database\Query\Builder - * @static + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Contracts\Database\Query\Expression|string $table + * @param string|null $as + * @return \Illuminate\Database\Query\Builder + * @static */ - public static function table($table) + public static function table($table, $as = null) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::table($table); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->table($table, $as); } /** * Get a new query builder instance. * - * @return \Illuminate\Database\Query\Builder - * @static + * @return \Illuminate\Database\Query\Builder + * @static */ public static function query() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::query(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->query(); } /** @@ -3141,13 +7026,31 @@ namespace { * @param string $query * @param array $bindings * @param bool $useReadPdo - * @return mixed - * @static + * @return mixed + * @static */ public static function selectOne($query, $bindings = [], $useReadPdo = true) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::selectOne($query, $bindings, $useReadPdo); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->selectOne($query, $bindings, $useReadPdo); + } + + /** + * Run a select statement and return the first column of the first row. + * + * @param string $query + * @param array $bindings + * @param bool $useReadPdo + * @return mixed + * @throws \Illuminate\Database\MultipleColumnsSelectedException + * @static + */ + public static function scalar($query, $bindings = [], $useReadPdo = true) + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->scalar($query, $bindings, $useReadPdo); } /** @@ -3155,13 +7058,14 @@ namespace { * * @param string $query * @param array $bindings - * @return array - * @static + * @return array + * @static */ public static function selectFromWriteConnection($query, $bindings = []) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::selectFromWriteConnection($query, $bindings); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->selectFromWriteConnection($query, $bindings); } /** @@ -3170,13 +7074,30 @@ namespace { * @param string $query * @param array $bindings * @param bool $useReadPdo - * @return array - * @static + * @return array + * @static */ public static function select($query, $bindings = [], $useReadPdo = true) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::select($query, $bindings, $useReadPdo); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->select($query, $bindings, $useReadPdo); + } + + /** + * Run a select statement against the database and returns all of the result sets. + * + * @param string $query + * @param array $bindings + * @param bool $useReadPdo + * @return array + * @static + */ + public static function selectResultSets($query, $bindings = [], $useReadPdo = true) + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->selectResultSets($query, $bindings, $useReadPdo); } /** @@ -3185,13 +7106,14 @@ namespace { * @param string $query * @param array $bindings * @param bool $useReadPdo - * @return \Generator - * @static + * @return \Generator + * @static */ public static function cursor($query, $bindings = [], $useReadPdo = true) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::cursor($query, $bindings, $useReadPdo); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->cursor($query, $bindings, $useReadPdo); } /** @@ -3199,13 +7121,14 @@ namespace { * * @param string $query * @param array $bindings - * @return bool - * @static + * @return bool + * @static */ public static function insert($query, $bindings = []) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::insert($query, $bindings); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->insert($query, $bindings); } /** @@ -3213,13 +7136,14 @@ namespace { * * @param string $query * @param array $bindings - * @return int - * @static + * @return int + * @static */ public static function update($query, $bindings = []) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::update($query, $bindings); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->update($query, $bindings); } /** @@ -3227,13 +7151,14 @@ namespace { * * @param string $query * @param array $bindings - * @return int - * @static + * @return int + * @static */ public static function delete($query, $bindings = []) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::delete($query, $bindings); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->delete($query, $bindings); } /** @@ -3241,13 +7166,14 @@ namespace { * * @param string $query * @param array $bindings - * @return bool - * @static + * @return bool + * @static */ public static function statement($query, $bindings = []) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::statement($query, $bindings); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->statement($query, $bindings); } /** @@ -3255,52 +7181,98 @@ namespace { * * @param string $query * @param array $bindings - * @return int - * @static + * @return int + * @static */ public static function affectingStatement($query, $bindings = []) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::affectingStatement($query, $bindings); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->affectingStatement($query, $bindings); } /** * Run a raw, unprepared query against the PDO connection. * * @param string $query - * @return bool - * @static + * @return bool + * @static */ public static function unprepared($query) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::unprepared($query); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->unprepared($query); + } + + /** + * Get the number of open connections for the database. + * + * @return int|null + * @static + */ + public static function threadCount() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->threadCount(); } /** * Execute the given callback in "dry run" mode. * * @param \Closure $callback - * @return array - * @static + * @return array + * @static */ public static function pretend($callback) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::pretend($callback); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->pretend($callback); + } + + /** + * Execute the given callback without "pretending". + * + * @param \Closure $callback + * @return mixed + * @static + */ + public static function withoutPretending($callback) + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->withoutPretending($callback); + } + + /** + * Bind values to their parameters in the given statement. + * + * @param \PDOStatement $statement + * @param array $bindings + * @return void + * @static + */ + public static function bindValues($statement, $bindings) + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->bindValues($statement, $bindings); } /** * Prepare the query bindings for execution. * * @param array $bindings - * @return array - * @static + * @return array + * @static */ public static function prepareBindings($bindings) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::prepareBindings($bindings); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->prepareBindings($bindings); } /** @@ -3309,424 +7281,702 @@ namespace { * @param string $query * @param array $bindings * @param float|null $time - * @return void - * @static + * @return void + * @static */ public static function logQuery($query, $bindings, $time = null) { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::logQuery($query, $bindings, $time); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->logQuery($query, $bindings, $time); + } + + /** + * Register a callback to be invoked when the connection queries for longer than a given amount of time. + * + * @param \DateTimeInterface|\Carbon\CarbonInterval|float|int $threshold + * @param callable $handler + * @return void + * @static + */ + public static function whenQueryingForLongerThan($threshold, $handler) + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->whenQueryingForLongerThan($threshold, $handler); + } + + /** + * Allow all the query duration handlers to run again, even if they have already run. + * + * @return void + * @static + */ + public static function allowQueryDurationHandlersToRunAgain() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->allowQueryDurationHandlersToRunAgain(); + } + + /** + * Get the duration of all run queries in milliseconds. + * + * @return float + * @static + */ + public static function totalQueryDuration() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->totalQueryDuration(); + } + + /** + * Reset the duration of all run queries. + * + * @return void + * @static + */ + public static function resetTotalQueryDuration() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->resetTotalQueryDuration(); + } + + /** + * Reconnect to the database if a PDO connection is missing. + * + * @return void + * @static + */ + public static function reconnectIfMissingConnection() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->reconnectIfMissingConnection(); + } + + /** + * Register a hook to be run just before a database transaction is started. + * + * @param \Closure $callback + * @return \Illuminate\Database\SQLiteConnection + * @static + */ + public static function beforeStartingTransaction($callback) + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->beforeStartingTransaction($callback); + } + + /** + * Register a hook to be run just before a database query is executed. + * + * @param \Closure $callback + * @return \Illuminate\Database\SQLiteConnection + * @static + */ + public static function beforeExecuting($callback) + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->beforeExecuting($callback); } /** * Register a database query listener with the connection. * * @param \Closure $callback - * @return void - * @static + * @return void + * @static */ public static function listen($callback) { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::listen($callback); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->listen($callback); } /** * Get a new raw query expression. * * @param mixed $value - * @return \Illuminate\Database\Query\Expression - * @static + * @return \Illuminate\Contracts\Database\Query\Expression + * @static */ public static function raw($value) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::raw($value); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->raw($value); } /** - * Is Doctrine available? + * Escape a value for safe SQL embedding. * - * @return bool - * @static + * @param string|float|int|bool|null $value + * @param bool $binary + * @return string + * @static */ - public static function isDoctrineAvailable() + public static function escape($value, $binary = false) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::isDoctrineAvailable(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->escape($value, $binary); } /** - * Get a Doctrine Schema Column instance. + * Determine if the database connection has modified any database records. * - * @param string $table - * @param string $column - * @return \Doctrine\DBAL\Schema\Column - * @static + * @return bool + * @static */ - public static function getDoctrineColumn($table, $column) + public static function hasModifiedRecords() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getDoctrineColumn($table, $column); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->hasModifiedRecords(); } /** - * Get the Doctrine DBAL schema manager for the connection. + * Indicate if any records have been modified. * - * @return \Doctrine\DBAL\Schema\AbstractSchemaManager - * @static + * @param bool $value + * @return void + * @static */ - public static function getDoctrineSchemaManager() + public static function recordsHaveBeenModified($value = true) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getDoctrineSchemaManager(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->recordsHaveBeenModified($value); } /** - * Get the Doctrine DBAL database connection instance. + * Set the record modification state. * - * @return \Doctrine\DBAL\Connection - * @static + * @param bool $value + * @return \Illuminate\Database\SQLiteConnection + * @static */ - public static function getDoctrineConnection() + public static function setRecordModificationState($value) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getDoctrineConnection(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->setRecordModificationState($value); + } + + /** + * Reset the record modification state. + * + * @return void + * @static + */ + public static function forgetRecordModificationState() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->forgetRecordModificationState(); + } + + /** + * Indicate that the connection should use the write PDO connection for reads. + * + * @param bool $value + * @return \Illuminate\Database\SQLiteConnection + * @static + */ + public static function useWriteConnectionWhenReading($value = true) + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->useWriteConnectionWhenReading($value); } /** * Get the current PDO connection. * - * @return \PDO - * @static + * @return \PDO + * @static */ public static function getPdo() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getPdo(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getPdo(); + } + + /** + * Get the current PDO connection parameter without executing any reconnect logic. + * + * @return \PDO|\Closure|null + * @static + */ + public static function getRawPdo() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getRawPdo(); } /** * Get the current PDO connection used for reading. * - * @return \PDO - * @static + * @return \PDO + * @static */ public static function getReadPdo() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getReadPdo(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getReadPdo(); + } + + /** + * Get the current read PDO connection parameter without executing any reconnect logic. + * + * @return \PDO|\Closure|null + * @static + */ + public static function getRawReadPdo() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getRawReadPdo(); } /** * Set the PDO connection. * - * @param \PDO|null $pdo - * @return $this - * @static + * @param \PDO|\Closure|null $pdo + * @return \Illuminate\Database\SQLiteConnection + * @static */ public static function setPdo($pdo) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::setPdo($pdo); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->setPdo($pdo); } /** * Set the PDO connection used for reading. * - * @param \PDO|null $pdo - * @return $this - * @static + * @param \PDO|\Closure|null $pdo + * @return \Illuminate\Database\SQLiteConnection + * @static */ public static function setReadPdo($pdo) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::setReadPdo($pdo); - } - - /** - * Set the reconnect instance on the connection. - * - * @param callable $reconnector - * @return $this - * @static - */ - public static function setReconnector($reconnector) - { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::setReconnector($reconnector); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->setReadPdo($pdo); } /** * Get the database connection name. * - * @return string|null - * @static + * @return string|null + * @static */ public static function getName() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getName(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getName(); + } + + /** + * Get the database connection full name. + * + * @return string|null + * @static + */ + public static function getNameWithReadWriteType() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getNameWithReadWriteType(); } /** * Get an option from the configuration options. * - * @param string $option - * @return mixed - * @static + * @param string|null $option + * @return mixed + * @static */ - public static function getConfig($option) + public static function getConfig($option = null) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getConfig($option); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getConfig($option); } /** * Get the PDO driver name. * - * @return string - * @static + * @return string + * @static */ public static function getDriverName() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getDriverName(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getDriverName(); } /** * Get the query grammar used by the connection. * - * @return \Illuminate\Database\Query\Grammars\Grammar - * @static + * @return \Illuminate\Database\Query\Grammars\Grammar + * @static */ public static function getQueryGrammar() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getQueryGrammar(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getQueryGrammar(); } /** * Set the query grammar used by the connection. * * @param \Illuminate\Database\Query\Grammars\Grammar $grammar - * @return void - * @static + * @return \Illuminate\Database\SQLiteConnection + * @static */ public static function setQueryGrammar($grammar) { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::setQueryGrammar($grammar); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->setQueryGrammar($grammar); } /** * Get the schema grammar used by the connection. * - * @return \Illuminate\Database\Schema\Grammars\Grammar - * @static + * @return \Illuminate\Database\Schema\Grammars\Grammar + * @static */ public static function getSchemaGrammar() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getSchemaGrammar(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getSchemaGrammar(); } /** * Set the schema grammar used by the connection. * * @param \Illuminate\Database\Schema\Grammars\Grammar $grammar - * @return void - * @static + * @return \Illuminate\Database\SQLiteConnection + * @static */ public static function setSchemaGrammar($grammar) { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::setSchemaGrammar($grammar); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->setSchemaGrammar($grammar); } /** * Get the query post processor used by the connection. * - * @return \Illuminate\Database\Query\Processors\Processor - * @static + * @return \Illuminate\Database\Query\Processors\Processor + * @static */ public static function getPostProcessor() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getPostProcessor(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getPostProcessor(); } /** * Set the query post processor used by the connection. * * @param \Illuminate\Database\Query\Processors\Processor $processor - * @return void - * @static + * @return \Illuminate\Database\SQLiteConnection + * @static */ public static function setPostProcessor($processor) { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::setPostProcessor($processor); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->setPostProcessor($processor); } /** * Get the event dispatcher used by the connection. * - * @return \Illuminate\Contracts\Events\Dispatcher - * @static + * @return \Illuminate\Contracts\Events\Dispatcher + * @static */ public static function getEventDispatcher() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getEventDispatcher(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getEventDispatcher(); } /** * Set the event dispatcher instance on the connection. * * @param \Illuminate\Contracts\Events\Dispatcher $events - * @return void - * @static + * @return \Illuminate\Database\SQLiteConnection + * @static */ public static function setEventDispatcher($events) { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::setEventDispatcher($events); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->setEventDispatcher($events); } /** - * Determine if the connection in a "dry run". + * Unset the event dispatcher for this connection. * - * @return bool - * @static + * @return void + * @static + */ + public static function unsetEventDispatcher() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->unsetEventDispatcher(); + } + + /** + * Set the transaction manager instance on the connection. + * + * @param \Illuminate\Database\DatabaseTransactionsManager $manager + * @return \Illuminate\Database\SQLiteConnection + * @static + */ + public static function setTransactionManager($manager) + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->setTransactionManager($manager); + } + + /** + * Unset the transaction manager for this connection. + * + * @return void + * @static + */ + public static function unsetTransactionManager() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->unsetTransactionManager(); + } + + /** + * Determine if the connection is in a "dry run". + * + * @return bool + * @static */ public static function pretending() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::pretending(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->pretending(); } /** * Get the connection query log. * - * @return array - * @static + * @return array + * @static */ public static function getQueryLog() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getQueryLog(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getQueryLog(); + } + + /** + * Get the connection query log with embedded bindings. + * + * @return array + * @static + */ + public static function getRawQueryLog() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getRawQueryLog(); } /** * Clear the query log. * - * @return void - * @static + * @return void + * @static */ public static function flushQueryLog() { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::flushQueryLog(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->flushQueryLog(); } /** * Enable the query log on the connection. * - * @return void - * @static + * @return void + * @static */ public static function enableQueryLog() { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::enableQueryLog(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->enableQueryLog(); } /** * Disable the query log on the connection. * - * @return void - * @static + * @return void + * @static */ public static function disableQueryLog() { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::disableQueryLog(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->disableQueryLog(); } /** * Determine whether we're logging queries. * - * @return bool - * @static + * @return bool + * @static */ public static function logging() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::logging(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->logging(); } /** * Get the name of the connected database. * - * @return string - * @static + * @return string + * @static */ public static function getDatabaseName() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getDatabaseName(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getDatabaseName(); } /** * Set the name of the connected database. * * @param string $database - * @return string - * @static + * @return \Illuminate\Database\SQLiteConnection + * @static */ public static function setDatabaseName($database) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::setDatabaseName($database); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->setDatabaseName($database); + } + + /** + * Set the read / write type of the connection. + * + * @param string|null $readWriteType + * @return \Illuminate\Database\SQLiteConnection + * @static + */ + public static function setReadWriteType($readWriteType) + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->setReadWriteType($readWriteType); } /** * Get the table prefix for the connection. * - * @return string - * @static + * @return string + * @static */ public static function getTablePrefix() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getTablePrefix(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getTablePrefix(); } /** * Set the table prefix in use by the connection. * * @param string $prefix - * @return void - * @static + * @return \Illuminate\Database\SQLiteConnection + * @static */ public static function setTablePrefix($prefix) { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::setTablePrefix($prefix); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->setTablePrefix($prefix); } /** * Set the table prefix and return the grammar. * - * @param \Illuminate\Database\Grammar $grammar - * @return \Illuminate\Database\Grammar - * @static + * @template TGrammar of \Illuminate\Database\Grammar + * @param TGrammar $grammar + * @return TGrammar + * @static */ public static function withTablePrefix($grammar) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::withTablePrefix($grammar); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->withTablePrefix($grammar); + } + + /** + * Execute the given callback without table prefix. + * + * @param \Closure $callback + * @return void + * @static + */ + public static function withoutTablePrefix($callback) + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->withoutTablePrefix($callback); + } + + /** + * Get the server version for the connection. + * + * @return string + * @static + */ + public static function getServerVersion() + { + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->getServerVersion(); } /** @@ -3734,2096 +7984,204 @@ namespace { * * @param string $driver * @param \Closure $callback - * @return void - * @static + * @return void + * @static */ public static function resolverFor($driver, $callback) { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::resolverFor($driver, $callback); + //Method inherited from \Illuminate\Database\Connection + \Illuminate\Database\SQLiteConnection::resolverFor($driver, $callback); } /** * Get the connection resolver for the given driver. * * @param string $driver - * @return mixed - * @static + * @return \Closure|null + * @static */ public static function getResolver($driver) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getResolver($driver); + //Method inherited from \Illuminate\Database\Connection + return \Illuminate\Database\SQLiteConnection::getResolver($driver); } /** - * Execute a Closure within a transaction. + * * - * @param \Closure $callback + * @template TReturn of mixed + * + * Execute a Closure within a transaction. + * @param (\Closure(static): TReturn) $callback * @param int $attempts - * @return mixed - * @throws \Exception|\Throwable - * @static + * @return TReturn + * @throws \Throwable + * @static */ public static function transaction($callback, $attempts = 1) { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::transaction($callback, $attempts); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->transaction($callback, $attempts); } /** * Start a new database transaction. * - * @return void - * @throws \Exception - * @static + * @return void + * @throws \Throwable + * @static */ public static function beginTransaction() { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::beginTransaction(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->beginTransaction(); } /** * Commit the active database transaction. * - * @return void - * @static + * @return void + * @throws \Throwable + * @static */ public static function commit() { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::commit(); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->commit(); } /** * Rollback the active database transaction. * * @param int|null $toLevel - * @return void - * @static + * @return void + * @throws \Throwable + * @static */ public static function rollBack($toLevel = null) { - //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::rollBack($toLevel); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->rollBack($toLevel); } /** * Get the number of active transactions. * - * @return int - * @static + * @return int + * @static */ public static function transactionLevel() { - //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::transactionLevel(); - } - } - - - class Eloquent extends \Illuminate\Database\Eloquent\Model - { - /** - * Register a new global scope. - * - * @param string $identifier - * @param \Illuminate\Database\Eloquent\Scope|\Closure $scope - * @return $this - * @static - */ - public static function withGlobalScope($identifier, $scope) - { - return \Illuminate\Database\Eloquent\Builder::withGlobalScope($identifier, $scope); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + return $instance->transactionLevel(); } /** - * Remove a registered global scope. - * - * @param \Illuminate\Database\Eloquent\Scope|string $scope - * @return $this - * @static - */ - public static function withoutGlobalScope($scope) - { - return \Illuminate\Database\Eloquent\Builder::withoutGlobalScope($scope); - } - - /** - * Remove all or passed registered global scopes. - * - * @param array|null $scopes - * @return $this - * @static - */ - public static function withoutGlobalScopes($scopes = null) - { - return \Illuminate\Database\Eloquent\Builder::withoutGlobalScopes($scopes); - } - - /** - * Get an array of global scopes that were removed from the query. - * - * @return array - * @static - */ - public static function removedScopes() - { - return \Illuminate\Database\Eloquent\Builder::removedScopes(); - } - - /** - * Apply the callback's query changes if the given "value" is true. - * - * @param bool $value - * @param \Closure $callback - * @param \Closure $default - * @return $this - * @static - */ - public static function when($value, $callback, $default = null) - { - return \Illuminate\Database\Eloquent\Builder::when($value, $callback, $default); - } - - /** - * Add a where clause on the primary key to the query. - * - * @param mixed $id - * @return $this - * @static - */ - public static function whereKey($id) - { - return \Illuminate\Database\Eloquent\Builder::whereKey($id); - } - - /** - * Add a basic where clause to the query. - * - * @param string|\Closure $column - * @param string $operator - * @param mixed $value - * @param string $boolean - * @return $this - * @static - */ - public static function where($column, $operator = null, $value = null, $boolean = 'and') - { - return \Illuminate\Database\Eloquent\Builder::where($column, $operator, $value, $boolean); - } - - /** - * Add an "or where" clause to the query. - * - * @param string|\Closure $column - * @param string $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function orWhere($column, $operator = null, $value = null) - { - return \Illuminate\Database\Eloquent\Builder::orWhere($column, $operator, $value); - } - - /** - * Create a collection of models from plain arrays. - * - * @param array $items - * @return \Illuminate\Database\Eloquent\Collection - * @static - */ - public static function hydrate($items) - { - return \Illuminate\Database\Eloquent\Builder::hydrate($items); - } - - /** - * Create a collection of models from a raw query. - * - * @param string $query - * @param array $bindings - * @return \Illuminate\Database\Eloquent\Collection - * @static - */ - public static function fromQuery($query, $bindings = []) - { - return \Illuminate\Database\Eloquent\Builder::fromQuery($query, $bindings); - } - - /** - * Find a model by its primary key. - * - * @param mixed $id - * @param array $columns - * @return mixed - * @static - */ - public static function find($id, $columns = []) - { - return \Illuminate\Database\Eloquent\Builder::find($id, $columns); - } - - /** - * Find multiple models by their primary keys. - * - * @param array $ids - * @param array $columns - * @return \Illuminate\Database\Eloquent\Collection - * @static - */ - public static function findMany($ids, $columns = []) - { - return \Illuminate\Database\Eloquent\Builder::findMany($ids, $columns); - } - - /** - * Find a model by its primary key or throw an exception. - * - * @param mixed $id - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException - * @static - */ - public static function findOrFail($id, $columns = []) - { - return \Illuminate\Database\Eloquent\Builder::findOrFail($id, $columns); - } - - /** - * Find a model by its primary key or return fresh model instance. - * - * @param mixed $id - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function findOrNew($id, $columns = []) - { - return \Illuminate\Database\Eloquent\Builder::findOrNew($id, $columns); - } - - /** - * Get the first record matching the attributes or instantiate it. - * - * @param array $attributes - * @param array $values - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function firstOrNew($attributes, $values = []) - { - return \Illuminate\Database\Eloquent\Builder::firstOrNew($attributes, $values); - } - - /** - * Get the first record matching the attributes or create it. - * - * @param array $attributes - * @param array $values - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function firstOrCreate($attributes, $values = []) - { - return \Illuminate\Database\Eloquent\Builder::firstOrCreate($attributes, $values); - } - - /** - * Create or update a record matching the attributes, and fill it with values. - * - * @param array $attributes - * @param array $values - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function updateOrCreate($attributes, $values = []) - { - return \Illuminate\Database\Eloquent\Builder::updateOrCreate($attributes, $values); - } - - /** - * Execute the query and get the first result. - * - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|static|null - * @static - */ - public static function first($columns = []) - { - return \Illuminate\Database\Eloquent\Builder::first($columns); - } - - /** - * Execute the query and get the first result or throw an exception. - * - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model|static - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException - * @static - */ - public static function firstOrFail($columns = []) - { - return \Illuminate\Database\Eloquent\Builder::firstOrFail($columns); - } - - /** - * Execute the query and get the first result or call a callback. - * - * @param \Closure|array $columns - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Model|static|mixed - * @static - */ - public static function firstOr($columns = [], $callback = null) - { - return \Illuminate\Database\Eloquent\Builder::firstOr($columns, $callback); - } - - /** - * Get a single column's value from the first result of a query. - * - * @param string $column - * @return mixed - * @static - */ - public static function value($column) - { - return \Illuminate\Database\Eloquent\Builder::value($column); - } - - /** - * Execute the query as a "select" statement. - * - * @param array $columns - * @return \Illuminate\Database\Eloquent\Collection|static[] - * @static - */ - public static function get($columns = []) - { - return \Illuminate\Database\Eloquent\Builder::get($columns); - } - - /** - * Get the hydrated models without eager loading. - * - * @param array $columns - * @return \Illuminate\Database\Eloquent\Model[] - * @static - */ - public static function getModels($columns = []) - { - return \Illuminate\Database\Eloquent\Builder::getModels($columns); - } - - /** - * Eager load the relationships for the models. - * - * @param array $models - * @return array - * @static - */ - public static function eagerLoadRelations($models) - { - return \Illuminate\Database\Eloquent\Builder::eagerLoadRelations($models); - } - - /** - * Get a generator for the given query. - * - * @return \Generator - * @static - */ - public static function cursor() - { - return \Illuminate\Database\Eloquent\Builder::cursor(); - } - - /** - * Chunk the results of the query. - * - * @param int $count - * @param callable $callback - * @return bool - * @static - */ - public static function chunk($count, $callback) - { - return \Illuminate\Database\Eloquent\Builder::chunk($count, $callback); - } - - /** - * Chunk the results of a query by comparing numeric IDs. - * - * @param int $count - * @param callable $callback - * @param string $column - * @param string|null $alias - * @return bool - * @static - */ - public static function chunkById($count, $callback, $column = null, $alias = null) - { - return \Illuminate\Database\Eloquent\Builder::chunkById($count, $callback, $column, $alias); - } - - /** - * Execute a callback over each item while chunking. + * Execute the callback after a transaction commits. * * @param callable $callback - * @param int $count - * @return bool - * @static + * @return void + * @throws \RuntimeException + * @static */ - public static function each($callback, $count = 1000) + public static function afterCommit($callback) { - return \Illuminate\Database\Eloquent\Builder::each($callback, $count); + //Method inherited from \Illuminate\Database\Connection + /** @var \Illuminate\Database\SQLiteConnection $instance */ + $instance->afterCommit($callback); } - /** - * Get an array with the values of a given column. - * - * @param string $column - * @param string|null $key - * @return \Illuminate\Support\Collection - * @static - */ - public static function pluck($column, $key = null) - { - return \Illuminate\Database\Eloquent\Builder::pluck($column, $key); - } - - /** - * Paginate the given query. - * - * @param int $perPage - * @param array $columns - * @param string $pageName - * @param int|null $page - * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator - * @throws \InvalidArgumentException - * @static - */ - public static function paginate($perPage = null, $columns = [], $pageName = 'page', $page = null) - { - return \Illuminate\Database\Eloquent\Builder::paginate($perPage, $columns, $pageName, $page); - } - - /** - * Paginate the given query into a simple paginator. - * - * @param int $perPage - * @param array $columns - * @param string $pageName - * @param int|null $page - * @return \Illuminate\Contracts\Pagination\Paginator - * @static - */ - public static function simplePaginate($perPage = null, $columns = [], $pageName = 'page', $page = null) - { - return \Illuminate\Database\Eloquent\Builder::simplePaginate($perPage, $columns, $pageName, $page); - } - - /** - * Save a new model and return the instance. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function create($attributes = []) - { - return \Illuminate\Database\Eloquent\Builder::create($attributes); - } - - /** - * Save a new model and return the instance. Allow mass-assignment. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function forceCreate($attributes) - { - return \Illuminate\Database\Eloquent\Builder::forceCreate($attributes); - } - - /** - * Register a replacement for the default delete function. - * - * @param \Closure $callback - * @return void - * @static - */ - public static function onDelete($callback) - { - \Illuminate\Database\Eloquent\Builder::onDelete($callback); - } - - /** - * Call the given local model scopes. - * - * @param array $scopes - * @return mixed - * @static - */ - public static function scopes($scopes) - { - return \Illuminate\Database\Eloquent\Builder::scopes($scopes); - } - - /** - * Apply the scopes to the Eloquent builder instance and return it. - * - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function applyScopes() - { - return \Illuminate\Database\Eloquent\Builder::applyScopes(); - } - - /** - * Prevent the specified relations from being eager loaded. - * - * @param mixed $relations - * @return $this - * @static - */ - public static function without($relations) - { - return \Illuminate\Database\Eloquent\Builder::without($relations); - } - - /** - * Get the underlying query builder instance. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ - public static function getQuery() - { - return \Illuminate\Database\Eloquent\Builder::getQuery(); - } - - /** - * Set the underlying query builder instance. - * - * @param \Illuminate\Database\Query\Builder $query - * @return $this - * @static - */ - public static function setQuery($query) - { - return \Illuminate\Database\Eloquent\Builder::setQuery($query); - } - - /** - * Get a base query builder instance. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ - public static function toBase() - { - return \Illuminate\Database\Eloquent\Builder::toBase(); - } - - /** - * Get the relationships being eagerly loaded. - * - * @return array - * @static - */ - public static function getEagerLoads() - { - return \Illuminate\Database\Eloquent\Builder::getEagerLoads(); - } - - /** - * Set the relationships being eagerly loaded. - * - * @param array $eagerLoad - * @return $this - * @static - */ - public static function setEagerLoads($eagerLoad) - { - return \Illuminate\Database\Eloquent\Builder::setEagerLoads($eagerLoad); - } - - /** - * Get the model instance being queried. - * - * @return \Illuminate\Database\Eloquent\Model - * @static - */ - public static function getModel() - { - return \Illuminate\Database\Eloquent\Builder::getModel(); - } - - /** - * Set a model instance for the model being queried. - * - * @param \Illuminate\Database\Eloquent\Model $model - * @return $this - * @static - */ - public static function setModel($model) - { - return \Illuminate\Database\Eloquent\Builder::setModel($model); - } - - /** - * Extend the builder with a given callback. - * - * @param string $name - * @param \Closure $callback - * @return void - * @static - */ - public static function macro($name, $callback) - { - \Illuminate\Database\Eloquent\Builder::macro($name, $callback); - } - - /** - * Get the given macro by name. - * - * @param string $name - * @return \Closure - * @static - */ - public static function getMacro($name) - { - return \Illuminate\Database\Eloquent\Builder::getMacro($name); - } - - /** - * Add a relationship count / exists condition to the query. - * - * @param string $relation - * @param string $operator - * @param int $count - * @param string $boolean - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function has($relation, $operator = '>=', $count = 1, $boolean = 'and', $callback = null) - { - return \Illuminate\Database\Eloquent\Builder::has($relation, $operator, $count, $boolean, $callback); - } - - /** - * Add a relationship count / exists condition to the query with an "or". - * - * @param string $relation - * @param string $operator - * @param int $count - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function orHas($relation, $operator = '>=', $count = 1) - { - return \Illuminate\Database\Eloquent\Builder::orHas($relation, $operator, $count); - } - - /** - * Add a relationship count / exists condition to the query. - * - * @param string $relation - * @param string $boolean - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function doesntHave($relation, $boolean = 'and', $callback = null) - { - return \Illuminate\Database\Eloquent\Builder::doesntHave($relation, $boolean, $callback); - } - - /** - * Add a relationship count / exists condition to the query with where clauses. - * - * @param string $relation - * @param \Closure|null $callback - * @param string $operator - * @param int $count - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function whereHas($relation, $callback = null, $operator = '>=', $count = 1) - { - return \Illuminate\Database\Eloquent\Builder::whereHas($relation, $callback, $operator, $count); - } - - /** - * Add a relationship count / exists condition to the query with where clauses and an "or". - * - * @param string $relation - * @param \Closure $callback - * @param string $operator - * @param int $count - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function orWhereHas($relation, $callback, $operator = '>=', $count = 1) - { - return \Illuminate\Database\Eloquent\Builder::orWhereHas($relation, $callback, $operator, $count); - } - - /** - * Add a relationship count / exists condition to the query with where clauses. - * - * @param string $relation - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function whereDoesntHave($relation, $callback = null) - { - return \Illuminate\Database\Eloquent\Builder::whereDoesntHave($relation, $callback); - } - - /** - * Add subselect queries to count the relations. - * - * @param mixed $relations - * @return $this - * @static - */ - public static function withCount($relations) - { - return \Illuminate\Database\Eloquent\Builder::withCount($relations); - } - - /** - * Merge the where constraints from another query to the current query. - * - * @param \Illuminate\Database\Eloquent\Builder $from - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ - public static function mergeConstraintsFrom($from) - { - return \Illuminate\Database\Eloquent\Builder::mergeConstraintsFrom($from); - } - - /** - * Set the columns to be selected. - * - * @param array|mixed $columns - * @return $this - * @static - */ - public static function select($columns = []) - { - return \Illuminate\Database\Query\Builder::select($columns); - } - - /** - * Add a new "raw" select expression to the query. - * - * @param string $expression - * @param array $bindings - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function selectRaw($expression, $bindings = []) - { - return \Illuminate\Database\Query\Builder::selectRaw($expression, $bindings); - } - - /** - * Add a subselect expression to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|string $query - * @param string $as - * @return \Illuminate\Database\Query\Builder|static - * @throws \InvalidArgumentException - * @static - */ - public static function selectSub($query, $as) - { - return \Illuminate\Database\Query\Builder::selectSub($query, $as); - } - - /** - * Add a new select column to the query. - * - * @param array|mixed $column - * @return $this - * @static - */ - public static function addSelect($column) - { - return \Illuminate\Database\Query\Builder::addSelect($column); - } - - /** - * Force the query to only return distinct results. - * - * @return $this - * @static - */ - public static function distinct() - { - return \Illuminate\Database\Query\Builder::distinct(); - } - - /** - * Set the table which the query is targeting. - * - * @param string $table - * @return $this - * @static - */ - public static function from($table) - { - return \Illuminate\Database\Query\Builder::from($table); - } - - /** - * Add a join clause to the query. - * - * @param string $table - * @param string $first - * @param string $operator - * @param string $second - * @param string $type - * @param bool $where - * @return $this - * @static - */ - public static function join($table, $first, $operator = null, $second = null, $type = 'inner', $where = false) - { - return \Illuminate\Database\Query\Builder::join($table, $first, $operator, $second, $type, $where); - } - - /** - * Add a "join where" clause to the query. - * - * @param string $table - * @param string $first - * @param string $operator - * @param string $second - * @param string $type - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function joinWhere($table, $first, $operator, $second, $type = 'inner') - { - return \Illuminate\Database\Query\Builder::joinWhere($table, $first, $operator, $second, $type); - } - - /** - * Add a left join to the query. - * - * @param string $table - * @param string $first - * @param string $operator - * @param string $second - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function leftJoin($table, $first, $operator = null, $second = null) - { - return \Illuminate\Database\Query\Builder::leftJoin($table, $first, $operator, $second); - } - - /** - * Add a "join where" clause to the query. - * - * @param string $table - * @param string $first - * @param string $operator - * @param string $second - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function leftJoinWhere($table, $first, $operator, $second) - { - return \Illuminate\Database\Query\Builder::leftJoinWhere($table, $first, $operator, $second); - } - - /** - * Add a right join to the query. - * - * @param string $table - * @param string $first - * @param string $operator - * @param string $second - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function rightJoin($table, $first, $operator = null, $second = null) - { - return \Illuminate\Database\Query\Builder::rightJoin($table, $first, $operator, $second); - } - - /** - * Add a "right join where" clause to the query. - * - * @param string $table - * @param string $first - * @param string $operator - * @param string $second - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function rightJoinWhere($table, $first, $operator, $second) - { - return \Illuminate\Database\Query\Builder::rightJoinWhere($table, $first, $operator, $second); - } - - /** - * Add a "cross join" clause to the query. - * - * @param string $table - * @param string $first - * @param string $operator - * @param string $second - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function crossJoin($table, $first = null, $operator = null, $second = null) - { - return \Illuminate\Database\Query\Builder::crossJoin($table, $first, $operator, $second); - } - - /** - * Merge an array of where clauses and bindings. - * - * @param array $wheres - * @param array $bindings - * @return void - * @static - */ - public static function mergeWheres($wheres, $bindings) - { - \Illuminate\Database\Query\Builder::mergeWheres($wheres, $bindings); - } - - /** - * Add a "where" clause comparing two columns to the query. - * - * @param string|array $first - * @param string|null $operator - * @param string|null $second - * @param string|null $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereColumn($first, $operator = null, $second = null, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereColumn($first, $operator, $second, $boolean); - } - - /** - * Add an "or where" clause comparing two columns to the query. - * - * @param string|array $first - * @param string|null $operator - * @param string|null $second - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereColumn($first, $operator = null, $second = null) - { - return \Illuminate\Database\Query\Builder::orWhereColumn($first, $operator, $second); - } - - /** - * Add a raw where clause to the query. - * - * @param string $sql - * @param mixed $bindings - * @param string $boolean - * @return $this - * @static - */ - public static function whereRaw($sql, $bindings = [], $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereRaw($sql, $bindings, $boolean); - } - - /** - * Add a raw or where clause to the query. - * - * @param string $sql - * @param array $bindings - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereRaw($sql, $bindings = []) - { - return \Illuminate\Database\Query\Builder::orWhereRaw($sql, $bindings); - } - - /** - * Add a "where in" clause to the query. - * - * @param string $column - * @param mixed $values - * @param string $boolean - * @param bool $not - * @return $this - * @static - */ - public static function whereIn($column, $values, $boolean = 'and', $not = false) - { - return \Illuminate\Database\Query\Builder::whereIn($column, $values, $boolean, $not); - } - - /** - * Add an "or where in" clause to the query. - * - * @param string $column - * @param mixed $values - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereIn($column, $values) - { - return \Illuminate\Database\Query\Builder::orWhereIn($column, $values); - } - - /** - * Add a "where not in" clause to the query. - * - * @param string $column - * @param mixed $values - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereNotIn($column, $values, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereNotIn($column, $values, $boolean); - } - - /** - * Add an "or where not in" clause to the query. - * - * @param string $column - * @param mixed $values - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereNotIn($column, $values) - { - return \Illuminate\Database\Query\Builder::orWhereNotIn($column, $values); - } - - /** - * Add a "where null" clause to the query. - * - * @param string $column - * @param string $boolean - * @param bool $not - * @return $this - * @static - */ - public static function whereNull($column, $boolean = 'and', $not = false) - { - return \Illuminate\Database\Query\Builder::whereNull($column, $boolean, $not); - } - - /** - * Add an "or where null" clause to the query. - * - * @param string $column - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereNull($column) - { - return \Illuminate\Database\Query\Builder::orWhereNull($column); - } - - /** - * Add a "where not null" clause to the query. - * - * @param string $column - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereNotNull($column, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereNotNull($column, $boolean); - } - - /** - * Add a where between statement to the query. - * - * @param string $column - * @param array $values - * @param string $boolean - * @param bool $not - * @return $this - * @static - */ - public static function whereBetween($column, $values, $boolean = 'and', $not = false) - { - return \Illuminate\Database\Query\Builder::whereBetween($column, $values, $boolean, $not); - } - - /** - * Add an or where between statement to the query. - * - * @param string $column - * @param array $values - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereBetween($column, $values) - { - return \Illuminate\Database\Query\Builder::orWhereBetween($column, $values); - } - - /** - * Add a where not between statement to the query. - * - * @param string $column - * @param array $values - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereNotBetween($column, $values, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereNotBetween($column, $values, $boolean); - } - - /** - * Add an or where not between statement to the query. - * - * @param string $column - * @param array $values - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereNotBetween($column, $values) - { - return \Illuminate\Database\Query\Builder::orWhereNotBetween($column, $values); - } - - /** - * Add an "or where not null" clause to the query. - * - * @param string $column - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereNotNull($column) - { - return \Illuminate\Database\Query\Builder::orWhereNotNull($column); - } - - /** - * Add a "where date" statement to the query. - * - * @param string $column - * @param string $operator - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereDate($column, $operator, $value = null, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereDate($column, $operator, $value, $boolean); - } - - /** - * Add an "or where date" statement to the query. - * - * @param string $column - * @param string $operator - * @param string $value - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereDate($column, $operator, $value) - { - return \Illuminate\Database\Query\Builder::orWhereDate($column, $operator, $value); - } - - /** - * Add a "where time" statement to the query. - * - * @param string $column - * @param string $operator - * @param int $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereTime($column, $operator, $value, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereTime($column, $operator, $value, $boolean); - } - - /** - * Add an "or where time" statement to the query. - * - * @param string $column - * @param string $operator - * @param int $value - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereTime($column, $operator, $value) - { - return \Illuminate\Database\Query\Builder::orWhereTime($column, $operator, $value); - } - - /** - * Add a "where day" statement to the query. - * - * @param string $column - * @param string $operator - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereDay($column, $operator, $value = null, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereDay($column, $operator, $value, $boolean); - } - - /** - * Add a "where month" statement to the query. - * - * @param string $column - * @param string $operator - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereMonth($column, $operator, $value = null, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereMonth($column, $operator, $value, $boolean); - } - - /** - * Add a "where year" statement to the query. - * - * @param string $column - * @param string $operator - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereYear($column, $operator, $value = null, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereYear($column, $operator, $value, $boolean); - } - - /** - * Add a nested where statement to the query. - * - * @param \Closure $callback - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereNested($callback, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereNested($callback, $boolean); - } - - /** - * Create a new query instance for nested where condition. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ - public static function forNestedWhere() - { - return \Illuminate\Database\Query\Builder::forNestedWhere(); - } - - /** - * Add another query builder as a nested where to the query builder. - * - * @param \Illuminate\Database\Query\Builder|static $query - * @param string $boolean - * @return $this - * @static - */ - public static function addNestedWhereQuery($query, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::addNestedWhereQuery($query, $boolean); - } - - /** - * Add an exists clause to the query. - * - * @param \Closure $callback - * @param string $boolean - * @param bool $not - * @return $this - * @static - */ - public static function whereExists($callback, $boolean = 'and', $not = false) - { - return \Illuminate\Database\Query\Builder::whereExists($callback, $boolean, $not); - } - - /** - * Add an or exists clause to the query. - * - * @param \Closure $callback - * @param bool $not - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereExists($callback, $not = false) - { - return \Illuminate\Database\Query\Builder::orWhereExists($callback, $not); - } - - /** - * Add a where not exists clause to the query. - * - * @param \Closure $callback - * @param string $boolean - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function whereNotExists($callback, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::whereNotExists($callback, $boolean); - } - - /** - * Add a where not exists clause to the query. - * - * @param \Closure $callback - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orWhereNotExists($callback) - { - return \Illuminate\Database\Query\Builder::orWhereNotExists($callback); - } - - /** - * Add an exists clause to the query. - * - * @param \Illuminate\Database\Query\Builder $query - * @param string $boolean - * @param bool $not - * @return $this - * @static - */ - public static function addWhereExistsQuery($query, $boolean = 'and', $not = false) - { - return \Illuminate\Database\Query\Builder::addWhereExistsQuery($query, $boolean, $not); - } - - /** - * Handles dynamic "where" clauses to the query. - * - * @param string $method - * @param string $parameters - * @return $this - * @static - */ - public static function dynamicWhere($method, $parameters) - { - return \Illuminate\Database\Query\Builder::dynamicWhere($method, $parameters); - } - - /** - * Add a "group by" clause to the query. - * - * @param array $groups - * @return $this - * @static - */ - public static function groupBy($groups = null) - { - return \Illuminate\Database\Query\Builder::groupBy($groups); - } - - /** - * Add a "having" clause to the query. - * - * @param string $column - * @param string $operator - * @param string $value - * @param string $boolean - * @return $this - * @static - */ - public static function having($column, $operator = null, $value = null, $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::having($column, $operator, $value, $boolean); - } - - /** - * Add a "or having" clause to the query. - * - * @param string $column - * @param string $operator - * @param string $value - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orHaving($column, $operator = null, $value = null) - { - return \Illuminate\Database\Query\Builder::orHaving($column, $operator, $value); - } - - /** - * Add a raw having clause to the query. - * - * @param string $sql - * @param array $bindings - * @param string $boolean - * @return $this - * @static - */ - public static function havingRaw($sql, $bindings = [], $boolean = 'and') - { - return \Illuminate\Database\Query\Builder::havingRaw($sql, $bindings, $boolean); - } - - /** - * Add a raw or having clause to the query. - * - * @param string $sql - * @param array $bindings - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function orHavingRaw($sql, $bindings = []) - { - return \Illuminate\Database\Query\Builder::orHavingRaw($sql, $bindings); - } - - /** - * Add an "order by" clause to the query. - * - * @param string $column - * @param string $direction - * @return $this - * @static - */ - public static function orderBy($column, $direction = 'asc') - { - return \Illuminate\Database\Query\Builder::orderBy($column, $direction); - } - - /** - * Add an "order by" clause for a timestamp to the query. - * - * @param string $column - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function latest($column = 'created_at') - { - return \Illuminate\Database\Query\Builder::latest($column); - } - - /** - * Add an "order by" clause for a timestamp to the query. - * - * @param string $column - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function oldest($column = 'created_at') - { - return \Illuminate\Database\Query\Builder::oldest($column); - } - - /** - * Put the query's results in random order. - * - * @param string $seed - * @return $this - * @static - */ - public static function inRandomOrder($seed = '') - { - return \Illuminate\Database\Query\Builder::inRandomOrder($seed); - } - - /** - * Add a raw "order by" clause to the query. - * - * @param string $sql - * @param array $bindings - * @return $this - * @static - */ - public static function orderByRaw($sql, $bindings = []) - { - return \Illuminate\Database\Query\Builder::orderByRaw($sql, $bindings); - } - - /** - * Alias to set the "offset" value of the query. - * - * @param int $value - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function skip($value) - { - return \Illuminate\Database\Query\Builder::skip($value); - } - - /** - * Set the "offset" value of the query. - * - * @param int $value - * @return $this - * @static - */ - public static function offset($value) - { - return \Illuminate\Database\Query\Builder::offset($value); - } - - /** - * Alias to set the "limit" value of the query. - * - * @param int $value - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function take($value) - { - return \Illuminate\Database\Query\Builder::take($value); - } - - /** - * Set the "limit" value of the query. - * - * @param int $value - * @return $this - * @static - */ - public static function limit($value) - { - return \Illuminate\Database\Query\Builder::limit($value); - } - - /** - * Set the limit and offset for a given page. - * - * @param int $page - * @param int $perPage - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function forPage($page, $perPage = 15) - { - return \Illuminate\Database\Query\Builder::forPage($page, $perPage); - } - - /** - * Constrain the query to the next "page" of results after a given ID. - * - * @param int $perPage - * @param int $lastId - * @param string $column - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function forPageAfterId($perPage = 15, $lastId = 0, $column = 'id') - { - return \Illuminate\Database\Query\Builder::forPageAfterId($perPage, $lastId, $column); - } - - /** - * Add a union statement to the query. - * - * @param \Illuminate\Database\Query\Builder|\Closure $query - * @param bool $all - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function union($query, $all = false) - { - return \Illuminate\Database\Query\Builder::union($query, $all); - } - - /** - * Add a union all statement to the query. - * - * @param \Illuminate\Database\Query\Builder|\Closure $query - * @return \Illuminate\Database\Query\Builder|static - * @static - */ - public static function unionAll($query) - { - return \Illuminate\Database\Query\Builder::unionAll($query); - } - - /** - * Lock the selected rows in the table. - * - * @param string|bool $value - * @return $this - * @static - */ - public static function lock($value = true) - { - return \Illuminate\Database\Query\Builder::lock($value); - } - - /** - * Lock the selected rows in the table for updating. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ - public static function lockForUpdate() - { - return \Illuminate\Database\Query\Builder::lockForUpdate(); - } - - /** - * Share lock the selected rows in the table. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ - public static function sharedLock() - { - return \Illuminate\Database\Query\Builder::sharedLock(); - } - - /** - * Get the SQL representation of the query. - * - * @return string - * @static - */ - public static function toSql() - { - return \Illuminate\Database\Query\Builder::toSql(); - } - - /** - * Get the count of the total records for the paginator. - * - * @param array $columns - * @return int - * @static - */ - public static function getCountForPagination($columns = []) - { - return \Illuminate\Database\Query\Builder::getCountForPagination($columns); - } - - /** - * Concatenate values of a given column as a string. - * - * @param string $column - * @param string $glue - * @return string - * @static - */ - public static function implode($column, $glue = '') - { - return \Illuminate\Database\Query\Builder::implode($column, $glue); - } - - /** - * Determine if any rows exist for the current query. - * - * @return bool - * @static - */ - public static function exists() - { - return \Illuminate\Database\Query\Builder::exists(); - } - - /** - * Retrieve the "count" result of the query. - * - * @param string $columns - * @return int - * @static - */ - public static function count($columns = '*') - { - return \Illuminate\Database\Query\Builder::count($columns); - } - - /** - * Retrieve the minimum value of a given column. - * - * @param string $column - * @return mixed - * @static - */ - public static function min($column) - { - return \Illuminate\Database\Query\Builder::min($column); - } - - /** - * Retrieve the maximum value of a given column. - * - * @param string $column - * @return mixed - * @static - */ - public static function max($column) - { - return \Illuminate\Database\Query\Builder::max($column); - } - - /** - * Retrieve the sum of the values of a given column. - * - * @param string $column - * @return mixed - * @static - */ - public static function sum($column) - { - return \Illuminate\Database\Query\Builder::sum($column); - } - - /** - * Retrieve the average of the values of a given column. - * - * @param string $column - * @return mixed - * @static - */ - public static function avg($column) - { - return \Illuminate\Database\Query\Builder::avg($column); - } - - /** - * Alias for the "avg" method. - * - * @param string $column - * @return mixed - * @static - */ - public static function average($column) - { - return \Illuminate\Database\Query\Builder::average($column); - } - - /** - * Execute an aggregate function on the database. - * - * @param string $function - * @param array $columns - * @return mixed - * @static - */ - public static function aggregate($function, $columns = []) - { - return \Illuminate\Database\Query\Builder::aggregate($function, $columns); - } - - /** - * Execute a numeric aggregate function on the database. - * - * @param string $function - * @param array $columns - * @return float|int - * @static - */ - public static function numericAggregate($function, $columns = []) - { - return \Illuminate\Database\Query\Builder::numericAggregate($function, $columns); - } - - /** - * Insert a new record into the database. - * - * @param array $values - * @return bool - * @static - */ - public static function insert($values) - { - return \Illuminate\Database\Query\Builder::insert($values); - } - - /** - * Insert a new record and get the value of the primary key. - * - * @param array $values - * @param string $sequence - * @return int - * @static - */ - public static function insertGetId($values, $sequence = null) - { - return \Illuminate\Database\Query\Builder::insertGetId($values, $sequence); - } - - /** - * Insert or update a record matching the attributes, and fill it with values. - * - * @param array $attributes - * @param array $values - * @return bool - * @static - */ - public static function updateOrInsert($attributes, $values = []) - { - return \Illuminate\Database\Query\Builder::updateOrInsert($attributes, $values); - } - - /** - * Run a truncate statement on the table. - * - * @return void - * @static - */ - public static function truncate() - { - \Illuminate\Database\Query\Builder::truncate(); - } - - /** - * Create a raw database expression. - * - * @param mixed $value - * @return \Illuminate\Database\Query\Expression - * @static - */ - public static function raw($value) - { - return \Illuminate\Database\Query\Builder::raw($value); - } - - /** - * Get the current query value bindings in a flattened array. - * - * @return array - * @static - */ - public static function getBindings() - { - return \Illuminate\Database\Query\Builder::getBindings(); - } - - /** - * Get the raw array of bindings. - * - * @return array - * @static - */ - public static function getRawBindings() - { - return \Illuminate\Database\Query\Builder::getRawBindings(); - } - - /** - * Set the bindings on the query builder. - * - * @param array $bindings - * @param string $type - * @return $this - * @throws \InvalidArgumentException - * @static - */ - public static function setBindings($bindings, $type = 'where') - { - return \Illuminate\Database\Query\Builder::setBindings($bindings, $type); - } - - /** - * Add a binding to the query. - * - * @param mixed $value - * @param string $type - * @return $this - * @throws \InvalidArgumentException - * @static - */ - public static function addBinding($value, $type = 'where') - { - return \Illuminate\Database\Query\Builder::addBinding($value, $type); - } - - /** - * Merge an array of bindings into our bindings. - * - * @param \Illuminate\Database\Query\Builder $query - * @return $this - * @static - */ - public static function mergeBindings($query) - { - return \Illuminate\Database\Query\Builder::mergeBindings($query); - } - - /** - * Get the database query processor instance. - * - * @return \Illuminate\Database\Query\Processors\Processor - * @static - */ - public static function getProcessor() - { - return \Illuminate\Database\Query\Builder::getProcessor(); - } - - /** - * Get the query grammar instance. - * - * @return \Illuminate\Database\Query\Grammars\Grammar - * @static - */ - public static function getGrammar() - { - return \Illuminate\Database\Query\Builder::getGrammar(); - } - - /** - * Use the write pdo for query. - * - * @return $this - * @static - */ - public static function useWritePdo() - { - return \Illuminate\Database\Query\Builder::useWritePdo(); - } - - /** - * Clone the query without the given properties. - * - * @param array $except - * @return static - * @static - */ - public static function cloneWithout($except) - { - return \Illuminate\Database\Query\Builder::cloneWithout($except); - } - - /** - * Clone the query without the given bindings. - * - * @param array $except - * @return static - * @static - */ - public static function cloneWithoutBindings($except) - { - return \Illuminate\Database\Query\Builder::cloneWithoutBindings($except); - } - - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ - public static function hasMacro($name) - { - return \Illuminate\Database\Query\Builder::hasMacro($name); - } - - /** - * Dynamically handle calls to the class. - * - * @param string $method - * @param array $parameters - * @return mixed - * @throws \BadMethodCallException - * @static - */ - public static function macroCall($method, $parameters) - { - return \Illuminate\Database\Query\Builder::macroCall($method, $parameters); - } - } - - - class Event extends \Illuminate\Support\Facades\Event - { + } + /** + * + * + * @see \Illuminate\Events\Dispatcher + * @see \Illuminate\Support\Testing\Fakes\EventFake + */ + class Event { /** * Register an event listener with the dispatcher. * - * @param string|array $events - * @param mixed $listener - * @return void - * @static + * @param \Illuminate\Events\Queued\Closure|callable|array|class-string|string $events + * @param \Illuminate\Events\Queued\Closure|callable|array|class-string|null $listener + * @return void + * @static */ - public static function listen($events, $listener) + public static function listen($events, $listener = null) { - \Illuminate\Events\Dispatcher::listen($events, $listener); + /** @var \Illuminate\Events\Dispatcher $instance */ + $instance->listen($events, $listener); } /** * Determine if a given event has listeners. * * @param string $eventName - * @return bool - * @static + * @return bool + * @static */ public static function hasListeners($eventName) { - return \Illuminate\Events\Dispatcher::hasListeners($eventName); + /** @var \Illuminate\Events\Dispatcher $instance */ + return $instance->hasListeners($eventName); + } + + /** + * Determine if the given event has any wildcard listeners. + * + * @param string $eventName + * @return bool + * @static + */ + public static function hasWildcardListeners($eventName) + { + /** @var \Illuminate\Events\Dispatcher $instance */ + return $instance->hasWildcardListeners($eventName); } /** * Register an event and payload to be fired later. * * @param string $event - * @param array $payload - * @return void - * @static + * @param object|array $payload + * @return void + * @static */ public static function push($event, $payload = []) { - \Illuminate\Events\Dispatcher::push($event, $payload); + /** @var \Illuminate\Events\Dispatcher $instance */ + $instance->push($event, $payload); } /** * Flush a set of pushed events. * * @param string $event - * @return void - * @static + * @return void + * @static */ public static function flush($event) { - \Illuminate\Events\Dispatcher::flush($event); + /** @var \Illuminate\Events\Dispatcher $instance */ + $instance->flush($event); } /** * Register an event subscriber with the dispatcher. * * @param object|string $subscriber - * @return void - * @static + * @return void + * @static */ public static function subscribe($subscriber) { - \Illuminate\Events\Dispatcher::subscribe($subscriber); + /** @var \Illuminate\Events\Dispatcher $instance */ + $instance->subscribe($subscriber); } /** @@ -5831,12 +8189,13 @@ namespace { * * @param string|object $event * @param mixed $payload - * @return array|null - * @static + * @return mixed + * @static */ public static function until($event, $payload = []) { - return \Illuminate\Events\Dispatcher::until($event, $payload); + /** @var \Illuminate\Events\Dispatcher $instance */ + return $instance->until($event, $payload); } /** @@ -5845,51 +8204,40 @@ namespace { * @param string|object $event * @param mixed $payload * @param bool $halt - * @return array|null - * @static - */ - public static function fire($event, $payload = [], $halt = false) - { - return \Illuminate\Events\Dispatcher::fire($event, $payload, $halt); - } - - /** - * Fire an event and call the listeners. - * - * @param string|object $event - * @param mixed $payload - * @param bool $halt - * @return array|null - * @static + * @return array|null + * @static */ public static function dispatch($event, $payload = [], $halt = false) { - return \Illuminate\Events\Dispatcher::dispatch($event, $payload, $halt); + /** @var \Illuminate\Events\Dispatcher $instance */ + return $instance->dispatch($event, $payload, $halt); } /** * Get all of the listeners for a given event name. * * @param string $eventName - * @return array - * @static + * @return array + * @static */ public static function getListeners($eventName) { - return \Illuminate\Events\Dispatcher::getListeners($eventName); + /** @var \Illuminate\Events\Dispatcher $instance */ + return $instance->getListeners($eventName); } /** * Register an event listener with the dispatcher. * - * @param string|\Closure $listener + * @param \Closure|string|array $listener * @param bool $wildcard - * @return mixed - * @static + * @return \Closure + * @static */ public static function makeListener($listener, $wildcard = false) { - return \Illuminate\Events\Dispatcher::makeListener($listener, $wildcard); + /** @var \Illuminate\Events\Dispatcher $instance */ + return $instance->makeListener($listener, $wildcard); } /** @@ -5897,63 +8245,280 @@ namespace { * * @param string $listener * @param bool $wildcard - * @return \Closure - * @static + * @return \Closure + * @static */ public static function createClassListener($listener, $wildcard = false) { - return \Illuminate\Events\Dispatcher::createClassListener($listener, $wildcard); + /** @var \Illuminate\Events\Dispatcher $instance */ + return $instance->createClassListener($listener, $wildcard); } /** * Remove a set of listeners from the dispatcher. * * @param string $event - * @return void - * @static + * @return void + * @static */ public static function forget($event) { - \Illuminate\Events\Dispatcher::forget($event); + /** @var \Illuminate\Events\Dispatcher $instance */ + $instance->forget($event); } /** * Forget all of the pushed listeners. * - * @return void - * @static + * @return void + * @static */ public static function forgetPushed() { - \Illuminate\Events\Dispatcher::forgetPushed(); + /** @var \Illuminate\Events\Dispatcher $instance */ + $instance->forgetPushed(); } /** * Set the queue resolver implementation. * * @param callable $resolver - * @return $this - * @static + * @return \Illuminate\Events\Dispatcher + * @static */ public static function setQueueResolver($resolver) { - return \Illuminate\Events\Dispatcher::setQueueResolver($resolver); + /** @var \Illuminate\Events\Dispatcher $instance */ + return $instance->setQueueResolver($resolver); } - } + /** + * Set the database transaction manager resolver implementation. + * + * @param callable $resolver + * @return \Illuminate\Events\Dispatcher + * @static + */ + public static function setTransactionManagerResolver($resolver) + { + /** @var \Illuminate\Events\Dispatcher $instance */ + return $instance->setTransactionManagerResolver($resolver); + } - class File extends \Illuminate\Support\Facades\File - { + /** + * Gets the raw, unprepared listeners. + * + * @return array + * @static + */ + public static function getRawListeners() + { + /** @var \Illuminate\Events\Dispatcher $instance */ + return $instance->getRawListeners(); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Events\Dispatcher::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Events\Dispatcher::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Events\Dispatcher::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Events\Dispatcher::flushMacros(); + } + + /** + * Specify the events that should be dispatched instead of faked. + * + * @param array|string $eventsToDispatch + * @return \Illuminate\Support\Testing\Fakes\EventFake + * @static + */ + public static function except($eventsToDispatch) + { + /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ + return $instance->except($eventsToDispatch); + } + + /** + * Assert if an event has a listener attached to it. + * + * @param string $expectedEvent + * @param string|array $expectedListener + * @return void + * @static + */ + public static function assertListening($expectedEvent, $expectedListener) + { + /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ + $instance->assertListening($expectedEvent, $expectedListener); + } + + /** + * Assert if an event was dispatched based on a truth-test callback. + * + * @param string|\Closure $event + * @param callable|int|null $callback + * @return void + * @static + */ + public static function assertDispatched($event, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ + $instance->assertDispatched($event, $callback); + } + + /** + * Assert if an event was dispatched a number of times. + * + * @param string $event + * @param int $times + * @return void + * @static + */ + public static function assertDispatchedTimes($event, $times = 1) + { + /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ + $instance->assertDispatchedTimes($event, $times); + } + + /** + * Determine if an event was dispatched based on a truth-test callback. + * + * @param string|\Closure $event + * @param callable|null $callback + * @return void + * @static + */ + public static function assertNotDispatched($event, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ + $instance->assertNotDispatched($event, $callback); + } + + /** + * Assert that no events were dispatched. + * + * @return void + * @static + */ + public static function assertNothingDispatched() + { + /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ + $instance->assertNothingDispatched(); + } + + /** + * Get all of the events matching a truth-test callback. + * + * @param string $event + * @param callable|null $callback + * @return \Illuminate\Support\Collection + * @static + */ + public static function dispatched($event, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ + return $instance->dispatched($event, $callback); + } + + /** + * Determine if the given event has been dispatched. + * + * @param string $event + * @return bool + * @static + */ + public static function hasDispatched($event) + { + /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ + return $instance->hasDispatched($event); + } + + /** + * Get the events that have been dispatched. + * + * @return array + * @static + */ + public static function dispatchedEvents() + { + /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ + return $instance->dispatchedEvents(); + } + + } + /** + * + * + * @see \Illuminate\Filesystem\Filesystem + */ + class File { /** * Determine if a file or directory exists. * * @param string $path - * @return bool - * @static + * @return bool + * @static */ public static function exists($path) { - return \Illuminate\Filesystem\Filesystem::exists($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->exists($path); + } + + /** + * Determine if a file or directory is missing. + * + * @param string $path + * @return bool + * @static + */ + public static function missing($path) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->missing($path); } /** @@ -5961,50 +8526,101 @@ namespace { * * @param string $path * @param bool $lock - * @return string + * @return string * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException - * @static + * @static */ public static function get($path, $lock = false) { - return \Illuminate\Filesystem\Filesystem::get($path, $lock); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->get($path, $lock); + } + + /** + * Get the contents of a file as decoded JSON. + * + * @param string $path + * @param int $flags + * @param bool $lock + * @return array + * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException + * @static + */ + public static function json($path, $flags = 0, $lock = false) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->json($path, $flags, $lock); } /** * Get contents of a file with shared access. * * @param string $path - * @return string - * @static + * @return string + * @static */ public static function sharedGet($path) { - return \Illuminate\Filesystem\Filesystem::sharedGet($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->sharedGet($path); } /** * Get the returned value of a file. * * @param string $path - * @return mixed + * @param array $data + * @return mixed * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException - * @static + * @static */ - public static function getRequire($path) + public static function getRequire($path, $data = []) { - return \Illuminate\Filesystem\Filesystem::getRequire($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->getRequire($path, $data); } /** * Require the given file once. * - * @param string $file - * @return mixed - * @static + * @param string $path + * @param array $data + * @return mixed + * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException + * @static */ - public static function requireOnce($file) + public static function requireOnce($path, $data = []) { - return \Illuminate\Filesystem\Filesystem::requireOnce($file); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->requireOnce($path, $data); + } + + /** + * Get the contents of a file one line at a time. + * + * @param string $path + * @return \Illuminate\Support\LazyCollection + * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException + * @static + */ + public static function lines($path) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->lines($path); + } + + /** + * Get the hash of the file at the given path. + * + * @param string $path + * @param string $algorithm + * @return string|false + * @static + */ + public static function hash($path, $algorithm = 'md5') + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->hash($path, $algorithm); } /** @@ -6013,12 +8629,43 @@ namespace { * @param string $path * @param string $contents * @param bool $lock - * @return int - * @static + * @return int|bool + * @static */ public static function put($path, $contents, $lock = false) { - return \Illuminate\Filesystem\Filesystem::put($path, $contents, $lock); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->put($path, $contents, $lock); + } + + /** + * Write the contents of a file, replacing it atomically if it already exists. + * + * @param string $path + * @param string $content + * @param int|null $mode + * @return void + * @static + */ + public static function replace($path, $content, $mode = null) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + $instance->replace($path, $content, $mode); + } + + /** + * Replace a given string within a given file. + * + * @param array|string $search + * @param array|string $replace + * @param string $path + * @return void + * @static + */ + public static function replaceInFile($search, $replace, $path) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + $instance->replaceInFile($search, $replace, $path); } /** @@ -6026,12 +8673,13 @@ namespace { * * @param string $path * @param string $data - * @return int - * @static + * @return int + * @static */ public static function prepend($path, $data) { - return \Illuminate\Filesystem\Filesystem::prepend($path, $data); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->prepend($path, $data); } /** @@ -6039,37 +8687,41 @@ namespace { * * @param string $path * @param string $data - * @return int - * @static + * @param bool $lock + * @return int + * @static */ - public static function append($path, $data) + public static function append($path, $data, $lock = false) { - return \Illuminate\Filesystem\Filesystem::append($path, $data); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->append($path, $data, $lock); } /** * Get or set UNIX mode of a file or directory. * * @param string $path - * @param int $mode - * @return mixed - * @static + * @param int|null $mode + * @return mixed + * @static */ public static function chmod($path, $mode = null) { - return \Illuminate\Filesystem\Filesystem::chmod($path, $mode); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->chmod($path, $mode); } /** * Delete the file at a given path. * * @param string|array $paths - * @return bool - * @static + * @return bool + * @static */ public static function delete($paths) { - return \Illuminate\Filesystem\Filesystem::delete($paths); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->delete($paths); } /** @@ -6077,12 +8729,13 @@ namespace { * * @param string $path * @param string $target - * @return bool - * @static + * @return bool + * @static */ public static function move($path, $target) { - return \Illuminate\Filesystem\Filesystem::move($path, $target); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->move($path, $target); } /** @@ -6090,169 +8743,240 @@ namespace { * * @param string $path * @param string $target - * @return bool - * @static + * @return bool + * @static */ public static function copy($path, $target) { - return \Illuminate\Filesystem\Filesystem::copy($path, $target); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->copy($path, $target); } /** - * Create a hard link to the target file or directory. + * Create a symlink to the target file or directory. On Windows, a hard link is created if the target is a file. * * @param string $target * @param string $link - * @return void - * @static + * @return bool|null + * @static */ public static function link($target, $link) { - \Illuminate\Filesystem\Filesystem::link($target, $link); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->link($target, $link); + } + + /** + * Create a relative symlink to the target file or directory. + * + * @param string $target + * @param string $link + * @return void + * @throws \RuntimeException + * @static + */ + public static function relativeLink($target, $link) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + $instance->relativeLink($target, $link); } /** * Extract the file name from a file path. * * @param string $path - * @return string - * @static + * @return string + * @static */ public static function name($path) { - return \Illuminate\Filesystem\Filesystem::name($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->name($path); } /** * Extract the trailing name component from a file path. * * @param string $path - * @return string - * @static + * @return string + * @static */ public static function basename($path) { - return \Illuminate\Filesystem\Filesystem::basename($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->basename($path); } /** * Extract the parent directory from a file path. * * @param string $path - * @return string - * @static + * @return string + * @static */ public static function dirname($path) { - return \Illuminate\Filesystem\Filesystem::dirname($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->dirname($path); } /** * Extract the file extension from a file path. * * @param string $path - * @return string - * @static + * @return string + * @static */ public static function extension($path) { - return \Illuminate\Filesystem\Filesystem::extension($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->extension($path); + } + + /** + * Guess the file extension from the mime-type of a given file. + * + * @param string $path + * @return string|null + * @throws \RuntimeException + * @static + */ + public static function guessExtension($path) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->guessExtension($path); } /** * Get the file type of a given file. * * @param string $path - * @return string - * @static + * @return string + * @static */ public static function type($path) { - return \Illuminate\Filesystem\Filesystem::type($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->type($path); } /** * Get the mime-type of a given file. * * @param string $path - * @return string|false - * @static + * @return string|false + * @static */ public static function mimeType($path) { - return \Illuminate\Filesystem\Filesystem::mimeType($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->mimeType($path); } /** * Get the file size of a given file. * * @param string $path - * @return int - * @static + * @return int + * @static */ public static function size($path) { - return \Illuminate\Filesystem\Filesystem::size($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->size($path); } /** * Get the file's last modification time. * * @param string $path - * @return int - * @static + * @return int + * @static */ public static function lastModified($path) { - return \Illuminate\Filesystem\Filesystem::lastModified($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->lastModified($path); } /** * Determine if the given path is a directory. * * @param string $directory - * @return bool - * @static + * @return bool + * @static */ public static function isDirectory($directory) { - return \Illuminate\Filesystem\Filesystem::isDirectory($directory); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->isDirectory($directory); + } + + /** + * Determine if the given path is a directory that does not contain any other files or directories. + * + * @param string $directory + * @param bool $ignoreDotFiles + * @return bool + * @static + */ + public static function isEmptyDirectory($directory, $ignoreDotFiles = false) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->isEmptyDirectory($directory, $ignoreDotFiles); } /** * Determine if the given path is readable. * * @param string $path - * @return bool - * @static + * @return bool + * @static */ public static function isReadable($path) { - return \Illuminate\Filesystem\Filesystem::isReadable($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->isReadable($path); } /** * Determine if the given path is writable. * * @param string $path - * @return bool - * @static + * @return bool + * @static */ public static function isWritable($path) { - return \Illuminate\Filesystem\Filesystem::isWritable($path); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->isWritable($path); + } + + /** + * Determine if two files are the same by comparing their hashes. + * + * @param string $firstFile + * @param string $secondFile + * @return bool + * @static + */ + public static function hasSameHash($firstFile, $secondFile) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->hasSameHash($firstFile, $secondFile); } /** * Determine if the given path is a file. * * @param string $file - * @return bool - * @static + * @return bool + * @static */ public static function isFile($file) { - return \Illuminate\Filesystem\Filesystem::isFile($file); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->isFile($file); } /** @@ -6260,24 +8984,27 @@ namespace { * * @param string $pattern * @param int $flags - * @return array - * @static + * @return array + * @static */ public static function glob($pattern, $flags = 0) { - return \Illuminate\Filesystem\Filesystem::glob($pattern, $flags); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->glob($pattern, $flags); } /** * Get an array of all files in a directory. * * @param string $directory - * @return array - * @static + * @param bool $hidden + * @return \Symfony\Component\Finder\SplFileInfo[] + * @static */ - public static function files($directory) + public static function files($directory, $hidden = false) { - return \Illuminate\Filesystem\Filesystem::files($directory); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->files($directory, $hidden); } /** @@ -6285,24 +9012,41 @@ namespace { * * @param string $directory * @param bool $hidden - * @return array - * @static + * @return \Symfony\Component\Finder\SplFileInfo[] + * @static */ public static function allFiles($directory, $hidden = false) { - return \Illuminate\Filesystem\Filesystem::allFiles($directory, $hidden); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->allFiles($directory, $hidden); } /** * Get all of the directories within a given directory. * * @param string $directory - * @return array - * @static + * @return array + * @static */ public static function directories($directory) { - return \Illuminate\Filesystem\Filesystem::directories($directory); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->directories($directory); + } + + /** + * Ensure a directory exists. + * + * @param string $path + * @param int $mode + * @param bool $recursive + * @return void + * @static + */ + public static function ensureDirectoryExists($path, $mode = 493, $recursive = true) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + $instance->ensureDirectoryExists($path, $mode, $recursive); } /** @@ -6312,12 +9056,13 @@ namespace { * @param int $mode * @param bool $recursive * @param bool $force - * @return bool - * @static + * @return bool + * @static */ public static function makeDirectory($path, $mode = 493, $recursive = false, $force = false) { - return \Illuminate\Filesystem\Filesystem::makeDirectory($path, $mode, $recursive, $force); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->makeDirectory($path, $mode, $recursive, $force); } /** @@ -6326,12 +9071,13 @@ namespace { * @param string $from * @param string $to * @param bool $overwrite - * @return bool - * @static + * @return bool + * @static */ public static function moveDirectory($from, $to, $overwrite = false) { - return \Illuminate\Filesystem\Filesystem::moveDirectory($from, $to, $overwrite); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->moveDirectory($from, $to, $overwrite); } /** @@ -6339,95 +9085,223 @@ namespace { * * @param string $directory * @param string $destination - * @param int $options - * @return bool - * @static + * @param int|null $options + * @return bool + * @static */ public static function copyDirectory($directory, $destination, $options = null) { - return \Illuminate\Filesystem\Filesystem::copyDirectory($directory, $destination, $options); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->copyDirectory($directory, $destination, $options); } /** * Recursively delete a directory. - * + * * The directory itself may be optionally preserved. * * @param string $directory * @param bool $preserve - * @return bool - * @static + * @return bool + * @static */ public static function deleteDirectory($directory, $preserve = false) { - return \Illuminate\Filesystem\Filesystem::deleteDirectory($directory, $preserve); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->deleteDirectory($directory, $preserve); + } + + /** + * Remove all of the directories within a given directory. + * + * @param string $directory + * @return bool + * @static + */ + public static function deleteDirectories($directory) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->deleteDirectories($directory); } /** * Empty the specified directory of all files and folders. * * @param string $directory - * @return bool - * @static + * @return bool + * @static */ public static function cleanDirectory($directory) { - return \Illuminate\Filesystem\Filesystem::cleanDirectory($directory); + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->cleanDirectory($directory); + } + + /** + * Apply the callback if the given "value" is (or resolves to) truthy. + * + * @template TWhenParameter + * @template TWhenReturnType + * @param (\Closure($this): TWhenParameter)|TWhenParameter|null $value + * @param (callable($this, TWhenParameter): TWhenReturnType)|null $callback + * @param (callable($this, TWhenParameter): TWhenReturnType)|null $default + * @return $this|TWhenReturnType + * @static + */ + public static function when($value = null, $callback = null, $default = null) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->when($value, $callback, $default); + } + + /** + * Apply the callback if the given "value" is (or resolves to) falsy. + * + * @template TUnlessParameter + * @template TUnlessReturnType + * @param (\Closure($this): TUnlessParameter)|TUnlessParameter|null $value + * @param (callable($this, TUnlessParameter): TUnlessReturnType)|null $callback + * @param (callable($this, TUnlessParameter): TUnlessReturnType)|null $default + * @return $this|TUnlessReturnType + * @static + */ + public static function unless($value = null, $callback = null, $default = null) + { + /** @var \Illuminate\Filesystem\Filesystem $instance */ + return $instance->unless($value, $callback, $default); } /** * Register a custom macro. * * @param string $name - * @param callable $macro - * @return void - * @static + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static */ public static function macro($name, $macro) { \Illuminate\Filesystem\Filesystem::macro($name, $macro); } + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Filesystem\Filesystem::mixin($mixin, $replace); + } + /** * Checks if macro is registered. * * @param string $name - * @return bool - * @static + * @return bool + * @static */ public static function hasMacro($name) { return \Illuminate\Filesystem\Filesystem::hasMacro($name); } - } + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Filesystem\Filesystem::flushMacros(); + } - class Gate extends \Illuminate\Support\Facades\Gate - { + } + /** + * + * + * @see \Illuminate\Auth\Access\Gate + */ + class Gate { /** * Determine if a given ability has been defined. * - * @param string $ability - * @return bool - * @static + * @param string|array $ability + * @return bool + * @static */ public static function has($ability) { - return \Illuminate\Auth\Access\Gate::has($ability); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->has($ability); + } + + /** + * Perform an on-demand authorization check. Throw an authorization exception if the condition or callback is false. + * + * @param \Illuminate\Auth\Access\Response|\Closure|bool $condition + * @param string|null $message + * @param string|null $code + * @return \Illuminate\Auth\Access\Response + * @throws \Illuminate\Auth\Access\AuthorizationException + * @static + */ + public static function allowIf($condition, $message = null, $code = null) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->allowIf($condition, $message, $code); + } + + /** + * Perform an on-demand authorization check. Throw an authorization exception if the condition or callback is true. + * + * @param \Illuminate\Auth\Access\Response|\Closure|bool $condition + * @param string|null $message + * @param string|null $code + * @return \Illuminate\Auth\Access\Response + * @throws \Illuminate\Auth\Access\AuthorizationException + * @static + */ + public static function denyIf($condition, $message = null, $code = null) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->denyIf($condition, $message, $code); } /** * Define a new ability. * - * @param string $ability - * @param callable|string $callback - * @return $this + * @param \BackedEnum|string $ability + * @param callable|array|string $callback + * @return \Illuminate\Auth\Access\Gate * @throws \InvalidArgumentException - * @static + * @static */ public static function define($ability, $callback) { - return \Illuminate\Auth\Access\Gate::define($ability, $callback); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->define($ability, $callback); + } + + /** + * Define abilities for a resource. + * + * @param string $name + * @param string $class + * @param array|null $abilities + * @return \Illuminate\Auth\Access\Gate + * @static + */ + public static function resource($name, $class, $abilities = null) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->resource($name, $class, $abilities); } /** @@ -6435,143 +9309,356 @@ namespace { * * @param string $class * @param string $policy - * @return $this - * @static + * @return \Illuminate\Auth\Access\Gate + * @static */ public static function policy($class, $policy) { - return \Illuminate\Auth\Access\Gate::policy($class, $policy); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->policy($class, $policy); } /** * Register a callback to run before all Gate checks. * * @param callable $callback - * @return $this - * @static + * @return \Illuminate\Auth\Access\Gate + * @static */ public static function before($callback) { - return \Illuminate\Auth\Access\Gate::before($callback); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->before($callback); } /** * Register a callback to run after all Gate checks. * * @param callable $callback - * @return $this - * @static + * @return \Illuminate\Auth\Access\Gate + * @static */ public static function after($callback) { - return \Illuminate\Auth\Access\Gate::after($callback); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->after($callback); } /** - * Determine if the given ability should be granted for the current user. + * Determine if all of the given abilities should be granted for the current user. * - * @param string $ability + * @param iterable|\BackedEnum|string $ability * @param array|mixed $arguments - * @return bool - * @static + * @return bool + * @static */ public static function allows($ability, $arguments = []) { - return \Illuminate\Auth\Access\Gate::allows($ability, $arguments); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->allows($ability, $arguments); } /** - * Determine if the given ability should be denied for the current user. + * Determine if any of the given abilities should be denied for the current user. * - * @param string $ability + * @param iterable|\BackedEnum|string $ability * @param array|mixed $arguments - * @return bool - * @static + * @return bool + * @static */ public static function denies($ability, $arguments = []) { - return \Illuminate\Auth\Access\Gate::denies($ability, $arguments); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->denies($ability, $arguments); } /** - * Determine if the given ability should be granted for the current user. + * Determine if all of the given abilities should be granted for the current user. * - * @param string $ability + * @param iterable|\BackedEnum|string $abilities * @param array|mixed $arguments - * @return bool - * @static + * @return bool + * @static */ - public static function check($ability, $arguments = []) + public static function check($abilities, $arguments = []) { - return \Illuminate\Auth\Access\Gate::check($ability, $arguments); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->check($abilities, $arguments); + } + + /** + * Determine if any one of the given abilities should be granted for the current user. + * + * @param iterable|\BackedEnum|string $abilities + * @param array|mixed $arguments + * @return bool + * @static + */ + public static function any($abilities, $arguments = []) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->any($abilities, $arguments); + } + + /** + * Determine if all of the given abilities should be denied for the current user. + * + * @param iterable|\BackedEnum|string $abilities + * @param array|mixed $arguments + * @return bool + * @static + */ + public static function none($abilities, $arguments = []) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->none($abilities, $arguments); } /** * Determine if the given ability should be granted for the current user. * - * @param string $ability + * @param \BackedEnum|string $ability * @param array|mixed $arguments - * @return \Illuminate\Auth\Access\Response + * @return \Illuminate\Auth\Access\Response * @throws \Illuminate\Auth\Access\AuthorizationException - * @static + * @static */ public static function authorize($ability, $arguments = []) { - return \Illuminate\Auth\Access\Gate::authorize($ability, $arguments); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->authorize($ability, $arguments); + } + + /** + * Inspect the user for the given ability. + * + * @param \BackedEnum|string $ability + * @param array|mixed $arguments + * @return \Illuminate\Auth\Access\Response + * @static + */ + public static function inspect($ability, $arguments = []) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->inspect($ability, $arguments); + } + + /** + * Get the raw result from the authorization callback. + * + * @param string $ability + * @param array|mixed $arguments + * @return mixed + * @throws \Illuminate\Auth\Access\AuthorizationException + * @static + */ + public static function raw($ability, $arguments = []) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->raw($ability, $arguments); } /** * Get a policy instance for a given class. * * @param object|string $class - * @return mixed - * @static + * @return mixed + * @static */ public static function getPolicyFor($class) { - return \Illuminate\Auth\Access\Gate::getPolicyFor($class); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->getPolicyFor($class); + } + + /** + * Specify a callback to be used to guess policy names. + * + * @param callable $callback + * @return \Illuminate\Auth\Access\Gate + * @static + */ + public static function guessPolicyNamesUsing($callback) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->guessPolicyNamesUsing($callback); } /** * Build a policy class instance of the given type. * * @param object|string $class - * @return mixed - * @static + * @return mixed + * @throws \Illuminate\Contracts\Container\BindingResolutionException + * @static */ public static function resolvePolicy($class) { - return \Illuminate\Auth\Access\Gate::resolvePolicy($class); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->resolvePolicy($class); } /** * Get a gate instance for the given user. * * @param \Illuminate\Contracts\Auth\Authenticatable|mixed $user - * @return static - * @static + * @return static + * @static */ public static function forUser($user) { - return \Illuminate\Auth\Access\Gate::forUser($user); + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->forUser($user); } - } + /** + * Get all of the defined abilities. + * + * @return array + * @static + */ + public static function abilities() + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->abilities(); + } + + /** + * Get all of the defined policies. + * + * @return array + * @static + */ + public static function policies() + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->policies(); + } + + /** + * Set the default denial response for gates and policies. + * + * @param \Illuminate\Auth\Access\Response $response + * @return \Illuminate\Auth\Access\Gate + * @static + */ + public static function defaultDenialResponse($response) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->defaultDenialResponse($response); + } + + /** + * Set the container instance used by the gate. + * + * @param \Illuminate\Contracts\Container\Container $container + * @return \Illuminate\Auth\Access\Gate + * @static + */ + public static function setContainer($container) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->setContainer($container); + } + + /** + * Deny with a HTTP status code. + * + * @param int $status + * @param string|null $message + * @param int|null $code + * @return \Illuminate\Auth\Access\Response + * @static + */ + public static function denyWithStatus($status, $message = null, $code = null) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->denyWithStatus($status, $message, $code); + } + + /** + * Deny with a 404 HTTP status code. + * + * @param string|null $message + * @param int|null $code + * @return \Illuminate\Auth\Access\Response + * @static + */ + public static function denyAsNotFound($message = null, $code = null) + { + /** @var \Illuminate\Auth\Access\Gate $instance */ + return $instance->denyAsNotFound($message, $code); + } + + } + /** + * + * + * @see \Illuminate\Hashing\HashManager + * @see \Illuminate\Hashing\AbstractHasher + */ + class Hash { + /** + * Create an instance of the Bcrypt hash Driver. + * + * @return \Illuminate\Hashing\BcryptHasher + * @static + */ + public static function createBcryptDriver() + { + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->createBcryptDriver(); + } + + /** + * Create an instance of the Argon2i hash Driver. + * + * @return \Illuminate\Hashing\ArgonHasher + * @static + */ + public static function createArgonDriver() + { + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->createArgonDriver(); + } + + /** + * Create an instance of the Argon2id hash Driver. + * + * @return \Illuminate\Hashing\Argon2IdHasher + * @static + */ + public static function createArgon2idDriver() + { + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->createArgon2idDriver(); + } + + /** + * Get information about the given hashed value. + * + * @param string $hashedValue + * @return array + * @static + */ + public static function info($hashedValue) + { + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->info($hashedValue); + } - class Hash extends \Illuminate\Support\Facades\Hash - { /** * Hash the given value. * * @param string $value * @param array $options - * @return string - * @throws \RuntimeException - * @static + * @return string + * @static */ public static function make($value, $options = []) { - return \Illuminate\Hashing\BcryptHasher::make($value, $options); + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->make($value, $options); } /** @@ -6580,12 +9667,13 @@ namespace { * @param string $value * @param string $hashedValue * @param array $options - * @return bool - * @static + * @return bool + * @static */ public static function check($value, $hashedValue, $options = []) { - return \Illuminate\Hashing\BcryptHasher::check($value, $hashedValue, $options); + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->check($value, $hashedValue, $options); } /** @@ -6593,41 +9681,598 @@ namespace { * * @param string $hashedValue * @param array $options - * @return bool - * @static + * @return bool + * @static */ public static function needsRehash($hashedValue, $options = []) { - return \Illuminate\Hashing\BcryptHasher::needsRehash($hashedValue, $options); + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->needsRehash($hashedValue, $options); } /** - * Set the default password work factor. + * Determine if a given string is already hashed. * - * @param int $rounds - * @return $this - * @static + * @param string $value + * @return bool + * @static */ - public static function setRounds($rounds) + public static function isHashed($value) { - return \Illuminate\Hashing\BcryptHasher::setRounds($rounds); + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->isHashed($value); } - } + /** + * Get the default driver name. + * + * @return string + * @static + */ + public static function getDefaultDriver() + { + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->getDefaultDriver(); + } - class Lang extends \Illuminate\Support\Facades\Lang - { + /** + * Verifies that the configuration is less than or equal to what is configured. + * + * @param array $value + * @return bool + * @internal + * @static + */ + public static function verifyConfiguration($value) + { + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->verifyConfiguration($value); + } + + /** + * Get a driver instance. + * + * @param string|null $driver + * @return mixed + * @throws \InvalidArgumentException + * @static + */ + public static function driver($driver = null) + { + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->driver($driver); + } + + /** + * Register a custom driver creator Closure. + * + * @param string $driver + * @param \Closure $callback + * @return \Illuminate\Hashing\HashManager + * @static + */ + public static function extend($driver, $callback) + { + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->extend($driver, $callback); + } + + /** + * Get all of the created "drivers". + * + * @return array + * @static + */ + public static function getDrivers() + { + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->getDrivers(); + } + + /** + * Get the container instance used by the manager. + * + * @return \Illuminate\Contracts\Container\Container + * @static + */ + public static function getContainer() + { + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->getContainer(); + } + + /** + * Set the container instance used by the manager. + * + * @param \Illuminate\Contracts\Container\Container $container + * @return \Illuminate\Hashing\HashManager + * @static + */ + public static function setContainer($container) + { + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->setContainer($container); + } + + /** + * Forget all of the resolved driver instances. + * + * @return \Illuminate\Hashing\HashManager + * @static + */ + public static function forgetDrivers() + { + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Hashing\HashManager $instance */ + return $instance->forgetDrivers(); + } + + } + /** + * + * + * @method static \Illuminate\Http\Client\PendingRequest baseUrl(string $url) + * @method static \Illuminate\Http\Client\PendingRequest withBody(\Psr\Http\Message\StreamInterface|string $content, string $contentType = 'application/json') + * @method static \Illuminate\Http\Client\PendingRequest asJson() + * @method static \Illuminate\Http\Client\PendingRequest asForm() + * @method static \Illuminate\Http\Client\PendingRequest attach(string|array $name, string|resource $contents = '', string|null $filename = null, array $headers = []) + * @method static \Illuminate\Http\Client\PendingRequest asMultipart() + * @method static \Illuminate\Http\Client\PendingRequest bodyFormat(string $format) + * @method static \Illuminate\Http\Client\PendingRequest withQueryParameters(array $parameters) + * @method static \Illuminate\Http\Client\PendingRequest contentType(string $contentType) + * @method static \Illuminate\Http\Client\PendingRequest acceptJson() + * @method static \Illuminate\Http\Client\PendingRequest accept(string $contentType) + * @method static \Illuminate\Http\Client\PendingRequest withHeaders(array $headers) + * @method static \Illuminate\Http\Client\PendingRequest withHeader(string $name, mixed $value) + * @method static \Illuminate\Http\Client\PendingRequest replaceHeaders(array $headers) + * @method static \Illuminate\Http\Client\PendingRequest withBasicAuth(string $username, string $password) + * @method static \Illuminate\Http\Client\PendingRequest withDigestAuth(string $username, string $password) + * @method static \Illuminate\Http\Client\PendingRequest withToken(string $token, string $type = 'Bearer') + * @method static \Illuminate\Http\Client\PendingRequest withUserAgent(string|bool $userAgent) + * @method static \Illuminate\Http\Client\PendingRequest withUrlParameters(array $parameters = []) + * @method static \Illuminate\Http\Client\PendingRequest withCookies(array $cookies, string $domain) + * @method static \Illuminate\Http\Client\PendingRequest maxRedirects(int $max) + * @method static \Illuminate\Http\Client\PendingRequest withoutRedirecting() + * @method static \Illuminate\Http\Client\PendingRequest withoutVerifying() + * @method static \Illuminate\Http\Client\PendingRequest sink(string|resource $to) + * @method static \Illuminate\Http\Client\PendingRequest timeout(int|float $seconds) + * @method static \Illuminate\Http\Client\PendingRequest connectTimeout(int|float $seconds) + * @method static \Illuminate\Http\Client\PendingRequest retry(array|int $times, \Closure|int $sleepMilliseconds = 0, callable|null $when = null, bool $throw = true) + * @method static \Illuminate\Http\Client\PendingRequest withOptions(array $options) + * @method static \Illuminate\Http\Client\PendingRequest withMiddleware(callable $middleware) + * @method static \Illuminate\Http\Client\PendingRequest withRequestMiddleware(callable $middleware) + * @method static \Illuminate\Http\Client\PendingRequest withResponseMiddleware(callable $middleware) + * @method static \Illuminate\Http\Client\PendingRequest beforeSending(callable $callback) + * @method static \Illuminate\Http\Client\PendingRequest throw(callable|null $callback = null) + * @method static \Illuminate\Http\Client\PendingRequest throwIf(callable|bool $condition) + * @method static \Illuminate\Http\Client\PendingRequest throwUnless(callable|bool $condition) + * @method static \Illuminate\Http\Client\PendingRequest dump() + * @method static \Illuminate\Http\Client\PendingRequest dd() + * @method static \Illuminate\Http\Client\Response get(string $url, array|string|null $query = null) + * @method static \Illuminate\Http\Client\Response head(string $url, array|string|null $query = null) + * @method static \Illuminate\Http\Client\Response post(string $url, array $data = []) + * @method static \Illuminate\Http\Client\Response patch(string $url, array $data = []) + * @method static \Illuminate\Http\Client\Response put(string $url, array $data = []) + * @method static \Illuminate\Http\Client\Response delete(string $url, array $data = []) + * @method static array pool(callable $callback) + * @method static \Illuminate\Http\Client\Response send(string $method, string $url, array $options = []) + * @method static \GuzzleHttp\Client buildClient() + * @method static \GuzzleHttp\Client createClient(\GuzzleHttp\HandlerStack $handlerStack) + * @method static \GuzzleHttp\HandlerStack buildHandlerStack() + * @method static \GuzzleHttp\HandlerStack pushHandlers(\GuzzleHttp\HandlerStack $handlerStack) + * @method static \Closure buildBeforeSendingHandler() + * @method static \Closure buildRecorderHandler() + * @method static \Closure buildStubHandler() + * @method static \GuzzleHttp\Psr7\RequestInterface runBeforeSendingCallbacks(\GuzzleHttp\Psr7\RequestInterface $request, array $options) + * @method static array mergeOptions(array ...$options) + * @method static \Illuminate\Http\Client\PendingRequest stub(callable $callback) + * @method static \Illuminate\Http\Client\PendingRequest async(bool $async = true) + * @method static \GuzzleHttp\Promise\PromiseInterface|null getPromise() + * @method static \Illuminate\Http\Client\PendingRequest setClient(\GuzzleHttp\Client $client) + * @method static \Illuminate\Http\Client\PendingRequest setHandler(callable $handler) + * @method static array getOptions() + * @method static \Illuminate\Http\Client\PendingRequest|mixed when(\Closure|mixed|null $value = null, callable|null $callback = null, callable|null $default = null) + * @method static \Illuminate\Http\Client\PendingRequest|mixed unless(\Closure|mixed|null $value = null, callable|null $callback = null, callable|null $default = null) + * @see \Illuminate\Http\Client\Factory + */ + class Http { + /** + * Add middleware to apply to every request. + * + * @param callable $middleware + * @return \Illuminate\Http\Client\Factory + * @static + */ + public static function globalMiddleware($middleware) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->globalMiddleware($middleware); + } + + /** + * Add request middleware to apply to every request. + * + * @param callable $middleware + * @return \Illuminate\Http\Client\Factory + * @static + */ + public static function globalRequestMiddleware($middleware) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->globalRequestMiddleware($middleware); + } + + /** + * Add response middleware to apply to every request. + * + * @param callable $middleware + * @return \Illuminate\Http\Client\Factory + * @static + */ + public static function globalResponseMiddleware($middleware) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->globalResponseMiddleware($middleware); + } + + /** + * Set the options to apply to every request. + * + * @param \Closure|array $options + * @return \Illuminate\Http\Client\Factory + * @static + */ + public static function globalOptions($options) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->globalOptions($options); + } + + /** + * Create a new response instance for use during stubbing. + * + * @param array|string|null $body + * @param int $status + * @param array $headers + * @return \GuzzleHttp\Promise\PromiseInterface + * @static + */ + public static function response($body = null, $status = 200, $headers = []) + { + return \Illuminate\Http\Client\Factory::response($body, $status, $headers); + } + + /** + * Create a new connection exception for use during stubbing. + * + * @param string|null $message + * @return \GuzzleHttp\Promise\PromiseInterface + * @static + */ + public static function failedConnection($message = null) + { + return \Illuminate\Http\Client\Factory::failedConnection($message); + } + + /** + * Get an invokable object that returns a sequence of responses in order for use during stubbing. + * + * @param array $responses + * @return \Illuminate\Http\Client\ResponseSequence + * @static + */ + public static function sequence($responses = []) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->sequence($responses); + } + + /** + * Register a stub callable that will intercept requests and be able to return stub responses. + * + * @param callable|array|null $callback + * @return \Illuminate\Http\Client\Factory + * @static + */ + public static function fake($callback = null) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->fake($callback); + } + + /** + * Register a response sequence for the given URL pattern. + * + * @param string $url + * @return \Illuminate\Http\Client\ResponseSequence + * @static + */ + public static function fakeSequence($url = '*') + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->fakeSequence($url); + } + + /** + * Stub the given URL using the given callback. + * + * @param string $url + * @param \Illuminate\Http\Client\Response|\GuzzleHttp\Promise\PromiseInterface|callable|int|string|array $callback + * @return \Illuminate\Http\Client\Factory + * @static + */ + public static function stubUrl($url, $callback) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->stubUrl($url, $callback); + } + + /** + * Indicate that an exception should be thrown if any request is not faked. + * + * @param bool $prevent + * @return \Illuminate\Http\Client\Factory + * @static + */ + public static function preventStrayRequests($prevent = true) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->preventStrayRequests($prevent); + } + + /** + * Determine if stray requests are being prevented. + * + * @return bool + * @static + */ + public static function preventingStrayRequests() + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->preventingStrayRequests(); + } + + /** + * Indicate that an exception should not be thrown if any request is not faked. + * + * @return \Illuminate\Http\Client\Factory + * @static + */ + public static function allowStrayRequests() + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->allowStrayRequests(); + } + + /** + * Record a request response pair. + * + * @param \Illuminate\Http\Client\Request $request + * @param \Illuminate\Http\Client\Response|null $response + * @return void + * @static + */ + public static function recordRequestResponsePair($request, $response) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + $instance->recordRequestResponsePair($request, $response); + } + + /** + * Assert that a request / response pair was recorded matching a given truth test. + * + * @param callable $callback + * @return void + * @static + */ + public static function assertSent($callback) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + $instance->assertSent($callback); + } + + /** + * Assert that the given request was sent in the given order. + * + * @param array $callbacks + * @return void + * @static + */ + public static function assertSentInOrder($callbacks) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + $instance->assertSentInOrder($callbacks); + } + + /** + * Assert that a request / response pair was not recorded matching a given truth test. + * + * @param callable $callback + * @return void + * @static + */ + public static function assertNotSent($callback) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + $instance->assertNotSent($callback); + } + + /** + * Assert that no request / response pair was recorded. + * + * @return void + * @static + */ + public static function assertNothingSent() + { + /** @var \Illuminate\Http\Client\Factory $instance */ + $instance->assertNothingSent(); + } + + /** + * Assert how many requests have been recorded. + * + * @param int $count + * @return void + * @static + */ + public static function assertSentCount($count) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + $instance->assertSentCount($count); + } + + /** + * Assert that every created response sequence is empty. + * + * @return void + * @static + */ + public static function assertSequencesAreEmpty() + { + /** @var \Illuminate\Http\Client\Factory $instance */ + $instance->assertSequencesAreEmpty(); + } + + /** + * Get a collection of the request / response pairs matching the given truth test. + * + * @param callable $callback + * @return \Illuminate\Support\Collection + * @static + */ + public static function recorded($callback = null) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->recorded($callback); + } + + /** + * Create a new pending request instance for this factory. + * + * @return \Illuminate\Http\Client\PendingRequest + * @static + */ + public static function createPendingRequest() + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->createPendingRequest(); + } + + /** + * Get the current event dispatcher implementation. + * + * @return \Illuminate\Contracts\Events\Dispatcher|null + * @static + */ + public static function getDispatcher() + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->getDispatcher(); + } + + /** + * Get the array of global middleware. + * + * @return array + * @static + */ + public static function getGlobalMiddleware() + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->getGlobalMiddleware(); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Http\Client\Factory::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Http\Client\Factory::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Http\Client\Factory::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Http\Client\Factory::flushMacros(); + } + + /** + * Dynamically handle calls to the class. + * + * @param string $method + * @param array $parameters + * @return mixed + * @throws \BadMethodCallException + * @static + */ + public static function macroCall($method, $parameters) + { + /** @var \Illuminate\Http\Client\Factory $instance */ + return $instance->macroCall($method, $parameters); + } + + } + /** + * + * + * @see \Illuminate\Translation\Translator + */ + class Lang { /** * Determine if a translation exists for a given locale. * * @param string $key * @param string|null $locale - * @return bool - * @static + * @return bool + * @static */ public static function hasForLocale($key, $locale = null) { - return \Illuminate\Translation\Translator::hasForLocale($key, $locale); + /** @var \Illuminate\Translation\Translator $instance */ + return $instance->hasForLocale($key, $locale); } /** @@ -6636,26 +10281,13 @@ namespace { * @param string $key * @param string|null $locale * @param bool $fallback - * @return bool - * @static + * @return bool + * @static */ public static function has($key, $locale = null, $fallback = true) { - return \Illuminate\Translation\Translator::has($key, $locale, $fallback); - } - - /** - * Get the translation for a given key. - * - * @param string $key - * @param array $replace - * @param string $locale - * @return string|array|null - * @static - */ - public static function trans($key, $replace = [], $locale = null) - { - return \Illuminate\Translation\Translator::trans($key, $replace, $locale); + /** @var \Illuminate\Translation\Translator $instance */ + return $instance->has($key, $locale, $fallback); } /** @@ -6665,56 +10297,29 @@ namespace { * @param array $replace * @param string|null $locale * @param bool $fallback - * @return string|array|null - * @static + * @return string|array + * @static */ public static function get($key, $replace = [], $locale = null, $fallback = true) { - return \Illuminate\Translation\Translator::get($key, $replace, $locale, $fallback); - } - - /** - * Get the translation for a given key from the JSON translation files. - * - * @param string $key - * @param array $replace - * @param string $locale - * @return string - * @static - */ - public static function getFromJson($key, $replace = [], $locale = null) - { - return \Illuminate\Translation\Translator::getFromJson($key, $replace, $locale); + /** @var \Illuminate\Translation\Translator $instance */ + return $instance->get($key, $replace, $locale, $fallback); } /** * Get a translation according to an integer value. * * @param string $key - * @param int|array|\Countable $number + * @param \Countable|int|float|array $number * @param array $replace - * @param string $locale - * @return string - * @static - */ - public static function transChoice($key, $number, $replace = [], $locale = null) - { - return \Illuminate\Translation\Translator::transChoice($key, $number, $replace, $locale); - } - - /** - * Get a translation according to an integer value. - * - * @param string $key - * @param int|array|\Countable $number - * @param array $replace - * @param string $locale - * @return string - * @static + * @param string|null $locale + * @return string + * @static */ public static function choice($key, $number, $replace = [], $locale = null) { - return \Illuminate\Translation\Translator::choice($key, $number, $replace, $locale); + /** @var \Illuminate\Translation\Translator $instance */ + return $instance->choice($key, $number, $replace, $locale); } /** @@ -6723,12 +10328,13 @@ namespace { * @param array $lines * @param string $locale * @param string $namespace - * @return void - * @static + * @return void + * @static */ public static function addLines($lines, $locale, $namespace = '*') { - \Illuminate\Translation\Translator::addLines($lines, $locale, $namespace); + /** @var \Illuminate\Translation\Translator $instance */ + $instance->addLines($lines, $locale, $namespace); } /** @@ -6737,12 +10343,26 @@ namespace { * @param string $namespace * @param string $group * @param string $locale - * @return void - * @static + * @return void + * @static */ public static function load($namespace, $group, $locale) { - \Illuminate\Translation\Translator::load($namespace, $group, $locale); + /** @var \Illuminate\Translation\Translator $instance */ + $instance->load($namespace, $group, $locale); + } + + /** + * Register a callback that is responsible for handling missing translation keys. + * + * @param callable|null $callback + * @return static + * @static + */ + public static function handleMissingKeysUsing($callback) + { + /** @var \Illuminate\Translation\Translator $instance */ + return $instance->handleMissingKeysUsing($callback); } /** @@ -6750,115 +10370,179 @@ namespace { * * @param string $namespace * @param string $hint - * @return void - * @static + * @return void + * @static */ public static function addNamespace($namespace, $hint) { - \Illuminate\Translation\Translator::addNamespace($namespace, $hint); + /** @var \Illuminate\Translation\Translator $instance */ + $instance->addNamespace($namespace, $hint); + } + + /** + * Add a new JSON path to the loader. + * + * @param string $path + * @return void + * @static + */ + public static function addJsonPath($path) + { + /** @var \Illuminate\Translation\Translator $instance */ + $instance->addJsonPath($path); } /** * Parse a key into namespace, group, and item. * * @param string $key - * @return array - * @static + * @return array + * @static */ public static function parseKey($key) { - return \Illuminate\Translation\Translator::parseKey($key); + /** @var \Illuminate\Translation\Translator $instance */ + return $instance->parseKey($key); + } + + /** + * Specify a callback that should be invoked to determined the applicable locale array. + * + * @param callable $callback + * @return void + * @static + */ + public static function determineLocalesUsing($callback) + { + /** @var \Illuminate\Translation\Translator $instance */ + $instance->determineLocalesUsing($callback); } /** * Get the message selector instance. * - * @return \Illuminate\Translation\MessageSelector - * @static + * @return \Illuminate\Translation\MessageSelector + * @static */ public static function getSelector() { - return \Illuminate\Translation\Translator::getSelector(); + /** @var \Illuminate\Translation\Translator $instance */ + return $instance->getSelector(); } /** * Set the message selector instance. * * @param \Illuminate\Translation\MessageSelector $selector - * @return void - * @static + * @return void + * @static */ public static function setSelector($selector) { - \Illuminate\Translation\Translator::setSelector($selector); + /** @var \Illuminate\Translation\Translator $instance */ + $instance->setSelector($selector); } /** * Get the language line loader implementation. * - * @return \Illuminate\Translation\LoaderInterface - * @static + * @return \Illuminate\Contracts\Translation\Loader + * @static */ public static function getLoader() { - return \Illuminate\Translation\Translator::getLoader(); + /** @var \Illuminate\Translation\Translator $instance */ + return $instance->getLoader(); } /** * Get the default locale being used. * - * @return string - * @static + * @return string + * @static */ public static function locale() { - return \Illuminate\Translation\Translator::locale(); + /** @var \Illuminate\Translation\Translator $instance */ + return $instance->locale(); } /** * Get the default locale being used. * - * @return string - * @static + * @return string + * @static */ public static function getLocale() { - return \Illuminate\Translation\Translator::getLocale(); + /** @var \Illuminate\Translation\Translator $instance */ + return $instance->getLocale(); } /** * Set the default locale. * * @param string $locale - * @return void - * @static + * @return void + * @throws \InvalidArgumentException + * @static */ public static function setLocale($locale) { - \Illuminate\Translation\Translator::setLocale($locale); + /** @var \Illuminate\Translation\Translator $instance */ + $instance->setLocale($locale); } /** * Get the fallback locale being used. * - * @return string - * @static + * @return string + * @static */ public static function getFallback() { - return \Illuminate\Translation\Translator::getFallback(); + /** @var \Illuminate\Translation\Translator $instance */ + return $instance->getFallback(); } /** * Set the fallback locale being used. * * @param string $fallback - * @return void - * @static + * @return void + * @static */ public static function setFallback($fallback) { - \Illuminate\Translation\Translator::setFallback($fallback); + /** @var \Illuminate\Translation\Translator $instance */ + $instance->setFallback($fallback); + } + + /** + * Set the loaded translation groups. + * + * @param array $loaded + * @return void + * @static + */ + public static function setLoaded($loaded) + { + /** @var \Illuminate\Translation\Translator $instance */ + $instance->setLoaded($loaded); + } + + /** + * Add a handler to be executed in order to format a given class to a string during translation replacements. + * + * @param callable|string $class + * @param callable|null $handler + * @return void + * @static + */ + public static function stringable($class, $handler = null) + { + /** @var \Illuminate\Translation\Translator $instance */ + $instance->stringable($class, $handler); } /** @@ -6866,535 +10550,970 @@ namespace { * * @param string $key * @param array $parsed - * @return void - * @static + * @return void + * @static */ public static function setParsedKey($key, $parsed) { - //Method inherited from \Illuminate\Support\NamespacedItemResolver - \Illuminate\Translation\Translator::setParsedKey($key, $parsed); + //Method inherited from \Illuminate\Support\NamespacedItemResolver + /** @var \Illuminate\Translation\Translator $instance */ + $instance->setParsedKey($key, $parsed); + } + + /** + * Flush the cache of parsed keys. + * + * @return void + * @static + */ + public static function flushParsedKeys() + { + //Method inherited from \Illuminate\Support\NamespacedItemResolver + /** @var \Illuminate\Translation\Translator $instance */ + $instance->flushParsedKeys(); } /** * Register a custom macro. * * @param string $name - * @param callable $macro - * @return void - * @static + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static */ public static function macro($name, $macro) { \Illuminate\Translation\Translator::macro($name, $macro); } + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Translation\Translator::mixin($mixin, $replace); + } + /** * Checks if macro is registered. * * @param string $name - * @return bool - * @static + * @return bool + * @static */ public static function hasMacro($name) { return \Illuminate\Translation\Translator::hasMacro($name); } - } - - class Log extends \Illuminate\Support\Facades\Log - { /** - * Adds a log record at the DEBUG level. + * Flush the existing macros. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static + * @return void + * @static */ - public static function debug($message, $context = []) + public static function flushMacros() { - return \Monolog\Logger::debug($message, $context); + \Illuminate\Translation\Translator::flushMacros(); + } + + } + /** + * + * + * @method static void write(string $level, \Illuminate\Contracts\Support\Arrayable|\Illuminate\Contracts\Support\Jsonable|\Illuminate\Support\Stringable|array|string $message, array $context = []) + * @method static \Illuminate\Log\Logger withContext(array $context = []) + * @method static void listen(\Closure $callback) + * @method static \Psr\Log\LoggerInterface getLogger() + * @method static \Illuminate\Contracts\Events\Dispatcher getEventDispatcher() + * @method static void setEventDispatcher(\Illuminate\Contracts\Events\Dispatcher $dispatcher) + * @method static \Illuminate\Log\Logger|mixed when(\Closure|mixed|null $value = null, callable|null $callback = null, callable|null $default = null) + * @method static \Illuminate\Log\Logger|mixed unless(\Closure|mixed|null $value = null, callable|null $callback = null, callable|null $default = null) + * @see \Illuminate\Log\LogManager + */ + class Log { + /** + * Build an on-demand log channel. + * + * @param array $config + * @return \Psr\Log\LoggerInterface + * @static + */ + public static function build($config) + { + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->build($config); } /** - * Adds a log record at the INFO level. + * Create a new, on-demand aggregate logger instance. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static + * @param array $channels + * @param string|null $channel + * @return \Psr\Log\LoggerInterface + * @static */ - public static function info($message, $context = []) + public static function stack($channels, $channel = null) { - return \Monolog\Logger::info($message, $context); + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->stack($channels, $channel); } /** - * Adds a log record at the NOTICE level. + * Get a log channel instance. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static + * @param string|null $channel + * @return \Psr\Log\LoggerInterface + * @static */ - public static function notice($message, $context = []) + public static function channel($channel = null) { - return \Monolog\Logger::notice($message, $context); + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->channel($channel); } /** - * Adds a log record at the WARNING level. + * Get a log driver instance. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static + * @param string|null $driver + * @return \Psr\Log\LoggerInterface + * @static */ - public static function warning($message, $context = []) + public static function driver($driver = null) { - return \Monolog\Logger::warning($message, $context); + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->driver($driver); } /** - * Adds a log record at the ERROR level. + * Share context across channels and stacks. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static + * @param array $context + * @return \Illuminate\Log\LogManager + * @static */ - public static function error($message, $context = []) + public static function shareContext($context) { - return \Monolog\Logger::error($message, $context); + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->shareContext($context); } /** - * Adds a log record at the CRITICAL level. + * The context shared across channels and stacks. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static + * @return array + * @static */ - public static function critical($message, $context = []) + public static function sharedContext() { - return \Monolog\Logger::critical($message, $context); + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->sharedContext(); } /** - * Adds a log record at the ALERT level. + * Flush the log context on all currently resolved channels. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static + * @return \Illuminate\Log\LogManager + * @static */ - public static function alert($message, $context = []) + public static function withoutContext() { - return \Monolog\Logger::alert($message, $context); + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->withoutContext(); } /** - * Adds a log record at the EMERGENCY level. + * Flush the shared context. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed - * @static + * @return \Illuminate\Log\LogManager + * @static + */ + public static function flushSharedContext() + { + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->flushSharedContext(); + } + + /** + * Get the default log driver name. + * + * @return string|null + * @static + */ + public static function getDefaultDriver() + { + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->getDefaultDriver(); + } + + /** + * Set the default log driver name. + * + * @param string $name + * @return void + * @static + */ + public static function setDefaultDriver($name) + { + /** @var \Illuminate\Log\LogManager $instance */ + $instance->setDefaultDriver($name); + } + + /** + * Register a custom driver creator Closure. + * + * @param string $driver + * @param \Closure $callback + * @return \Illuminate\Log\LogManager + * @static + */ + public static function extend($driver, $callback) + { + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->extend($driver, $callback); + } + + /** + * Unset the given channel instance. + * + * @param string|null $driver + * @return void + * @static + */ + public static function forgetChannel($driver = null) + { + /** @var \Illuminate\Log\LogManager $instance */ + $instance->forgetChannel($driver); + } + + /** + * Get all of the resolved log channels. + * + * @return array + * @static + */ + public static function getChannels() + { + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->getChannels(); + } + + /** + * System is unusable. + * + * @param string|\Stringable $message + * @param array $context + * @return void + * @static */ public static function emergency($message, $context = []) { - return \Monolog\Logger::emergency($message, $context); + /** @var \Illuminate\Log\LogManager $instance */ + $instance->emergency($message, $context); } /** - * Log a message to the logs. + * Action must be taken immediately. + * + * Example: Entire website down, database unavailable, etc. This should + * trigger the SMS alerts and wake you up. * - * @param string $level - * @param string $message + * @param string|\Stringable $message * @param array $context - * @return void - * @static + * @return void + * @static + */ + public static function alert($message, $context = []) + { + /** @var \Illuminate\Log\LogManager $instance */ + $instance->alert($message, $context); + } + + /** + * Critical conditions. + * + * Example: Application component unavailable, unexpected exception. + * + * @param string|\Stringable $message + * @param array $context + * @return void + * @static + */ + public static function critical($message, $context = []) + { + /** @var \Illuminate\Log\LogManager $instance */ + $instance->critical($message, $context); + } + + /** + * Runtime errors that do not require immediate action but should typically + * be logged and monitored. + * + * @param string|\Stringable $message + * @param array $context + * @return void + * @static + */ + public static function error($message, $context = []) + { + /** @var \Illuminate\Log\LogManager $instance */ + $instance->error($message, $context); + } + + /** + * Exceptional occurrences that are not errors. + * + * Example: Use of deprecated APIs, poor use of an API, undesirable things + * that are not necessarily wrong. + * + * @param string|\Stringable $message + * @param array $context + * @return void + * @static + */ + public static function warning($message, $context = []) + { + /** @var \Illuminate\Log\LogManager $instance */ + $instance->warning($message, $context); + } + + /** + * Normal but significant events. + * + * @param string|\Stringable $message + * @param array $context + * @return void + * @static + */ + public static function notice($message, $context = []) + { + /** @var \Illuminate\Log\LogManager $instance */ + $instance->notice($message, $context); + } + + /** + * Interesting events. + * + * Example: User logs in, SQL logs. + * + * @param string|\Stringable $message + * @param array $context + * @return void + * @static + */ + public static function info($message, $context = []) + { + /** @var \Illuminate\Log\LogManager $instance */ + $instance->info($message, $context); + } + + /** + * Detailed debug information. + * + * @param string|\Stringable $message + * @param array $context + * @return void + * @static + */ + public static function debug($message, $context = []) + { + /** @var \Illuminate\Log\LogManager $instance */ + $instance->debug($message, $context); + } + + /** + * Logs with an arbitrary level. + * + * @param mixed $level + * @param string|\Stringable $message + * @param array $context + * @return void + * @static */ public static function log($level, $message, $context = []) { - \Illuminate\Log\Writer::log($level, $message, $context); + /** @var \Illuminate\Log\LogManager $instance */ + $instance->log($level, $message, $context); } /** - * Dynamically pass log calls into the writer. + * Set the application instance used by the manager. * - * @param string $level - * @param string $message - * @param array $context - * @return void - * @static + * @param \Illuminate\Contracts\Foundation\Application $app + * @return \Illuminate\Log\LogManager + * @static */ - public static function write($level, $message, $context = []) + public static function setApplication($app) { - \Illuminate\Log\Writer::write($level, $message, $context); + /** @var \Illuminate\Log\LogManager $instance */ + return $instance->setApplication($app); } + } + /** + * + * + * @method static \Illuminate\Mail\Mailer driver(string|null $driver = null) + * @method static \Illuminate\Mail\Mailer build(array $config) + * @method static \Symfony\Component\Mailer\Transport\TransportInterface createSymfonyTransport(array $config) + * @method static string getDefaultDriver() + * @method static void setDefaultDriver(string $name) + * @method static void purge(string|null $name = null) + * @method static \Illuminate\Mail\MailManager extend(string $driver, \Closure $callback) + * @method static \Illuminate\Contracts\Foundation\Application getApplication() + * @method static \Illuminate\Mail\MailManager setApplication(\Illuminate\Contracts\Foundation\Application $app) + * @method static void alwaysFrom(string $address, string|null $name = null) + * @method static void alwaysReplyTo(string $address, string|null $name = null) + * @method static void alwaysReturnPath(string $address) + * @method static void alwaysTo(string $address, string|null $name = null) + * @method static \Illuminate\Mail\SentMessage|null html(string $html, mixed $callback) + * @method static \Illuminate\Mail\SentMessage|null plain(string $view, array $data, mixed $callback) + * @method static string render(string|array $view, array $data = []) + * @method static mixed onQueue(\BackedEnum|string|null $queue, \Illuminate\Contracts\Mail\Mailable $view) + * @method static mixed queueOn(string $queue, \Illuminate\Contracts\Mail\Mailable $view) + * @method static mixed laterOn(string $queue, \DateTimeInterface|\DateInterval|int $delay, \Illuminate\Contracts\Mail\Mailable $view) + * @method static \Symfony\Component\Mailer\Transport\TransportInterface getSymfonyTransport() + * @method static \Illuminate\Contracts\View\Factory getViewFactory() + * @method static void setSymfonyTransport(\Symfony\Component\Mailer\Transport\TransportInterface $transport) + * @method static \Illuminate\Mail\Mailer setQueue(\Illuminate\Contracts\Queue\Factory $queue) + * @method static void macro(string $name, object|callable $macro) + * @method static void mixin(object $mixin, bool $replace = true) + * @method static bool hasMacro(string $name) + * @method static void flushMacros() + * @see \Illuminate\Mail\MailManager + * @see \Illuminate\Support\Testing\Fakes\MailFake + */ + class Mail { /** - * Register a file log handler. + * Assert if a mailable was sent based on a truth-test callback. * - * @param string $path - * @param string $level - * @return void - * @static + * @param string|\Closure $mailable + * @param callable|array|string|int|null $callback + * @return void + * @static */ - public static function useFiles($path, $level = 'debug') + public static function assertSent($mailable, $callback = null) { - \Illuminate\Log\Writer::useFiles($path, $level); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->assertSent($mailable, $callback); } /** - * Register a daily file log handler. + * Determine if a mailable was not sent or queued to be sent based on a truth-test callback. * - * @param string $path - * @param int $days - * @param string $level - * @return void - * @static + * @param string|\Closure $mailable + * @param callable|null $callback + * @return void + * @static */ - public static function useDailyFiles($path, $days = 0, $level = 'debug') + public static function assertNotOutgoing($mailable, $callback = null) { - \Illuminate\Log\Writer::useDailyFiles($path, $days, $level); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->assertNotOutgoing($mailable, $callback); } /** - * Register a Syslog handler. + * Determine if a mailable was not sent based on a truth-test callback. * - * @param string $name - * @param string $level - * @return \Psr\Log\LoggerInterface - * @static + * @param string|\Closure $mailable + * @param callable|array|string|null $callback + * @return void + * @static */ - public static function useSyslog($name = 'laravel', $level = 'debug') + public static function assertNotSent($mailable, $callback = null) { - return \Illuminate\Log\Writer::useSyslog($name, $level); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->assertNotSent($mailable, $callback); } /** - * Register an error_log handler. + * Assert that no mailables were sent or queued to be sent. * - * @param string $level - * @param int $messageType - * @return void - * @static + * @return void + * @static */ - public static function useErrorLog($level = 'debug', $messageType = 0) + public static function assertNothingOutgoing() { - \Illuminate\Log\Writer::useErrorLog($level, $messageType); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->assertNothingOutgoing(); } /** - * Register a new callback handler for when a log event is triggered. + * Assert that no mailables were sent. * - * @param \Closure $callback - * @return void - * @throws \RuntimeException - * @static + * @return void + * @static */ - public static function listen($callback) + public static function assertNothingSent() { - \Illuminate\Log\Writer::listen($callback); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->assertNothingSent(); } /** - * Get the underlying Monolog instance. + * Assert if a mailable was queued based on a truth-test callback. * - * @return \Monolog\Logger - * @static + * @param string|\Closure $mailable + * @param callable|array|string|int|null $callback + * @return void + * @static */ - public static function getMonolog() + public static function assertQueued($mailable, $callback = null) { - return \Illuminate\Log\Writer::getMonolog(); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->assertQueued($mailable, $callback); } /** - * Get the event dispatcher instance. + * Determine if a mailable was not queued based on a truth-test callback. * - * @return \Illuminate\Contracts\Events\Dispatcher - * @static + * @param string|\Closure $mailable + * @param callable|array|string|null $callback + * @return void + * @static */ - public static function getEventDispatcher() + public static function assertNotQueued($mailable, $callback = null) { - return \Illuminate\Log\Writer::getEventDispatcher(); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->assertNotQueued($mailable, $callback); } /** - * Set the event dispatcher instance. + * Assert that no mailables were queued. * - * @param \Illuminate\Contracts\Events\Dispatcher $dispatcher - * @return void - * @static + * @return void + * @static */ - public static function setEventDispatcher($dispatcher) + public static function assertNothingQueued() { - \Illuminate\Log\Writer::setEventDispatcher($dispatcher); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->assertNothingQueued(); } - } - - class Mail extends \Illuminate\Support\Facades\Mail - { /** - * Set the global from address and name. + * Assert the total number of mailables that were sent. + * + * @param int $count + * @return void + * @static + */ + public static function assertSentCount($count) + { + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->assertSentCount($count); + } + + /** + * Assert the total number of mailables that were queued. + * + * @param int $count + * @return void + * @static + */ + public static function assertQueuedCount($count) + { + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->assertQueuedCount($count); + } + + /** + * Assert the total number of mailables that were sent or queued. + * + * @param int $count + * @return void + * @static + */ + public static function assertOutgoingCount($count) + { + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->assertOutgoingCount($count); + } + + /** + * Get all of the mailables matching a truth-test callback. + * + * @param string|\Closure $mailable + * @param callable|null $callback + * @return \Illuminate\Support\Collection + * @static + */ + public static function sent($mailable, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->sent($mailable, $callback); + } + + /** + * Determine if the given mailable has been sent. + * + * @param string $mailable + * @return bool + * @static + */ + public static function hasSent($mailable) + { + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->hasSent($mailable); + } + + /** + * Get all of the queued mailables matching a truth-test callback. + * + * @param string|\Closure $mailable + * @param callable|null $callback + * @return \Illuminate\Support\Collection + * @static + */ + public static function queued($mailable, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->queued($mailable, $callback); + } + + /** + * Determine if the given mailable has been queued. + * + * @param string $mailable + * @return bool + * @static + */ + public static function hasQueued($mailable) + { + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->hasQueued($mailable); + } + + /** + * Get a mailer instance by name. * - * @param string $address * @param string|null $name - * @return void - * @static + * @return \Illuminate\Contracts\Mail\Mailer + * @static */ - public static function alwaysFrom($address, $name = null) + public static function mailer($name = null) { - \Illuminate\Mail\Mailer::alwaysFrom($address, $name); - } - - /** - * Set the global reply-to address and name. - * - * @param string $address - * @param string|null $name - * @return void - * @static - */ - public static function alwaysReplyTo($address, $name = null) - { - \Illuminate\Mail\Mailer::alwaysReplyTo($address, $name); - } - - /** - * Set the global to address and name. - * - * @param string $address - * @param string|null $name - * @return void - * @static - */ - public static function alwaysTo($address, $name = null) - { - \Illuminate\Mail\Mailer::alwaysTo($address, $name); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->mailer($name); } /** * Begin the process of mailing a mailable class instance. * * @param mixed $users - * @return \Illuminate\Mail\PendingMail - * @static + * @return \Illuminate\Mail\PendingMail + * @static */ public static function to($users) { - return \Illuminate\Mail\Mailer::to($users); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->to($users); } /** * Begin the process of mailing a mailable class instance. * * @param mixed $users - * @return \Illuminate\Mail\PendingMail - * @static + * @return \Illuminate\Mail\PendingMail + * @static + */ + public static function cc($users) + { + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->cc($users); + } + + /** + * Begin the process of mailing a mailable class instance. + * + * @param mixed $users + * @return \Illuminate\Mail\PendingMail + * @static */ public static function bcc($users) { - return \Illuminate\Mail\Mailer::bcc($users); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->bcc($users); } /** - * Send a new message when only a raw text part. + * Send a new message with only a raw text part. * * @param string $text - * @param mixed $callback - * @return void - * @static + * @param \Closure|string $callback + * @return void + * @static */ public static function raw($text, $callback) { - \Illuminate\Mail\Mailer::raw($text, $callback); - } - - /** - * Send a new message when only a plain part. - * - * @param string $view - * @param array $data - * @param mixed $callback - * @return void - * @static - */ - public static function plain($view, $data, $callback) - { - \Illuminate\Mail\Mailer::plain($view, $data, $callback); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->raw($text, $callback); } /** * Send a new message using a view. * - * @param string|array $view + * @param \Illuminate\Contracts\Mail\Mailable|string|array $view * @param array $data - * @param \Closure|string $callback - * @return void - * @static + * @param \Closure|string|null $callback + * @return mixed|void + * @static */ public static function send($view, $data = [], $callback = null) { - \Illuminate\Mail\Mailer::send($view, $data, $callback); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->send($view, $data, $callback); } /** - * Queue a new e-mail message for sending. + * Send a new message synchronously using a view. * - * @param string|array $view + * @param \Illuminate\Contracts\Mail\Mailable|string|array $mailable * @param array $data - * @param \Closure|string $callback + * @param \Closure|string|null $callback + * @return void + * @static + */ + public static function sendNow($mailable, $data = [], $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + $instance->sendNow($mailable, $data, $callback); + } + + /** + * Queue a new message for sending. + * + * @param \Illuminate\Contracts\Mail\Mailable|string|array $view * @param string|null $queue - * @return mixed - * @static + * @return mixed + * @static */ - public static function queue($view, $data = [], $callback = null, $queue = null) + public static function queue($view, $queue = null) { - return \Illuminate\Mail\Mailer::queue($view, $data, $callback, $queue); - } - - /** - * Queue a new e-mail message for sending on the given queue. - * - * @param string $queue - * @param string|array $view - * @param array $data - * @param \Closure|string $callback - * @return mixed - * @static - */ - public static function onQueue($queue, $view, $data, $callback) - { - return \Illuminate\Mail\Mailer::onQueue($queue, $view, $data, $callback); - } - - /** - * Queue a new e-mail message for sending on the given queue. - * - * This method didn't match rest of framework's "onQueue" phrasing. Added "onQueue". - * - * @param string $queue - * @param string|array $view - * @param array $data - * @param \Closure|string $callback - * @return mixed - * @static - */ - public static function queueOn($queue, $view, $data, $callback) - { - return \Illuminate\Mail\Mailer::queueOn($queue, $view, $data, $callback); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->queue($view, $queue); } /** * Queue a new e-mail message for sending after (n) seconds. * - * @param int $delay - * @param string|array $view - * @param array $data - * @param \Closure|string $callback + * @param \DateTimeInterface|\DateInterval|int $delay + * @param \Illuminate\Contracts\Mail\Mailable|string|array $view * @param string|null $queue - * @return mixed - * @static + * @return mixed + * @static */ - public static function later($delay, $view, $data = [], $callback = null, $queue = null) + public static function later($delay, $view, $queue = null) { - return \Illuminate\Mail\Mailer::later($delay, $view, $data, $callback, $queue); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->later($delay, $view, $queue); } /** - * Queue a new e-mail message for sending after (n) seconds on the given queue. + * Forget all of the resolved mailer instances. * - * @param string $queue - * @param int $delay - * @param string|array $view - * @param array $data - * @param \Closure|string $callback - * @return mixed - * @static + * @return \Illuminate\Support\Testing\Fakes\MailFake + * @static */ - public static function laterOn($queue, $delay, $view, $data, $callback) + public static function forgetMailers() { - return \Illuminate\Mail\Mailer::laterOn($queue, $delay, $view, $data, $callback); + /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ + return $instance->forgetMailers(); + } + + } + /** + * + * + * @method static string getDefaultDriver() + * @method static string deliversVia() + * @method static void deliverVia(string $channel) + * @method static mixed driver(string|null $driver = null) + * @method static \Illuminate\Notifications\ChannelManager extend(string $driver, \Closure $callback) + * @method static array getDrivers() + * @method static \Illuminate\Contracts\Container\Container getContainer() + * @method static \Illuminate\Notifications\ChannelManager setContainer(\Illuminate\Contracts\Container\Container $container) + * @method static \Illuminate\Notifications\ChannelManager forgetDrivers() + * @see \Illuminate\Notifications\ChannelManager + * @see \Illuminate\Support\Testing\Fakes\NotificationFake + */ + class Notification { + /** + * Assert if a notification was sent on-demand based on a truth-test callback. + * + * @param string|\Closure $notification + * @param callable|null $callback + * @return void + * @throws \Exception + * @static + */ + public static function assertSentOnDemand($notification, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + $instance->assertSentOnDemand($notification, $callback); } /** - * Get the view factory instance. + * Assert if a notification was sent based on a truth-test callback. * - * @return \Illuminate\Contracts\View\Factory - * @static + * @param mixed $notifiable + * @param string|\Closure $notification + * @param callable|null $callback + * @return void + * @throws \Exception + * @static */ - public static function getViewFactory() + public static function assertSentTo($notifiable, $notification, $callback = null) { - return \Illuminate\Mail\Mailer::getViewFactory(); + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + $instance->assertSentTo($notifiable, $notification, $callback); } /** - * Get the Swift Mailer instance. + * Assert if a notification was sent on-demand a number of times. * - * @return \Swift_Mailer - * @static + * @param string $notification + * @param int $times + * @return void + * @static */ - public static function getSwiftMailer() + public static function assertSentOnDemandTimes($notification, $times = 1) { - return \Illuminate\Mail\Mailer::getSwiftMailer(); + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + $instance->assertSentOnDemandTimes($notification, $times); } /** - * Get the array of failed recipients. + * Assert if a notification was sent a number of times. * - * @return array - * @static + * @param mixed $notifiable + * @param string $notification + * @param int $times + * @return void + * @static */ - public static function failures() + public static function assertSentToTimes($notifiable, $notification, $times = 1) { - return \Illuminate\Mail\Mailer::failures(); + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + $instance->assertSentToTimes($notifiable, $notification, $times); } /** - * Set the Swift Mailer instance. + * Determine if a notification was sent based on a truth-test callback. * - * @param \Swift_Mailer $swift - * @return void - * @static + * @param mixed $notifiable + * @param string|\Closure $notification + * @param callable|null $callback + * @return void + * @throws \Exception + * @static */ - public static function setSwiftMailer($swift) + public static function assertNotSentTo($notifiable, $notification, $callback = null) { - \Illuminate\Mail\Mailer::setSwiftMailer($swift); + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + $instance->assertNotSentTo($notifiable, $notification, $callback); } /** - * Set the queue manager instance. + * Assert that no notifications were sent. * - * @param \Illuminate\Contracts\Queue\Factory $queue - * @return $this - * @static + * @return void + * @static */ - public static function setQueue($queue) + public static function assertNothingSent() { - return \Illuminate\Mail\Mailer::setQueue($queue); + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + $instance->assertNothingSent(); } - } + /** + * Assert that no notifications were sent to the given notifiable. + * + * @param mixed $notifiable + * @return void + * @throws \Exception + * @static + */ + public static function assertNothingSentTo($notifiable) + { + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + $instance->assertNothingSentTo($notifiable); + } + + /** + * Assert the total amount of times a notification was sent. + * + * @param string $notification + * @param int $expectedCount + * @return void + * @static + */ + public static function assertSentTimes($notification, $expectedCount) + { + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + $instance->assertSentTimes($notification, $expectedCount); + } + + /** + * Assert the total count of notification that were sent. + * + * @param int $expectedCount + * @return void + * @static + */ + public static function assertCount($expectedCount) + { + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + $instance->assertCount($expectedCount); + } + + /** + * Get all of the notifications matching a truth-test callback. + * + * @param mixed $notifiable + * @param string $notification + * @param callable|null $callback + * @return \Illuminate\Support\Collection + * @static + */ + public static function sent($notifiable, $notification, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + return $instance->sent($notifiable, $notification, $callback); + } + + /** + * Determine if there are more notifications left to inspect. + * + * @param mixed $notifiable + * @param string $notification + * @return bool + * @static + */ + public static function hasSent($notifiable, $notification) + { + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + return $instance->hasSent($notifiable, $notification); + } - class Notification extends \Illuminate\Support\Facades\Notification - { /** * Send the given notification to the given notifiable entities. * * @param \Illuminate\Support\Collection|array|mixed $notifiables * @param mixed $notification - * @return void - * @static + * @return void + * @static */ public static function send($notifiables, $notification) { - \Illuminate\Notifications\ChannelManager::send($notifiables, $notification); + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + $instance->send($notifiables, $notification); } /** @@ -7403,236 +11522,605 @@ namespace { * @param \Illuminate\Support\Collection|array|mixed $notifiables * @param mixed $notification * @param array|null $channels - * @return void - * @static + * @return void + * @static */ public static function sendNow($notifiables, $notification, $channels = null) { - \Illuminate\Notifications\ChannelManager::sendNow($notifiables, $notification, $channels); + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + $instance->sendNow($notifiables, $notification, $channels); } /** - * Get a channel instance. + * Get a channel instance by name. * * @param string|null $name - * @return mixed - * @static + * @return mixed + * @static */ public static function channel($name = null) { - return \Illuminate\Notifications\ChannelManager::channel($name); + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + return $instance->channel($name); } /** - * Get the default channel driver name. + * Set the locale of notifications. * - * @return string - * @static + * @param string $locale + * @return \Illuminate\Support\Testing\Fakes\NotificationFake + * @static */ - public static function getDefaultDriver() + public static function locale($locale) { - return \Illuminate\Notifications\ChannelManager::getDefaultDriver(); + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + return $instance->locale($locale); } /** - * Get the default channel driver name. + * Specify if notification should be serialized and restored when being "pushed" to the queue. * - * @return string - * @static + * @param bool $serializeAndRestore + * @return \Illuminate\Support\Testing\Fakes\NotificationFake + * @static */ - public static function deliversVia() + public static function serializeAndRestore($serializeAndRestore = true) { - return \Illuminate\Notifications\ChannelManager::deliversVia(); + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + return $instance->serializeAndRestore($serializeAndRestore); } /** - * Set the default channel driver name. + * Get the notifications that have been sent. * - * @param string $channel - * @return void - * @static + * @return array + * @static */ - public static function deliverVia($channel) + public static function sentNotifications() { - \Illuminate\Notifications\ChannelManager::deliverVia($channel); + /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ + return $instance->sentNotifications(); } /** - * Get a driver instance. + * Register a custom macro. * - * @param string $driver - * @return mixed - * @static + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static */ - public static function driver($driver = null) + public static function macro($name, $macro) { - //Method inherited from \Illuminate\Support\Manager - return \Illuminate\Notifications\ChannelManager::driver($driver); + \Illuminate\Support\Testing\Fakes\NotificationFake::macro($name, $macro); } /** - * Register a custom driver creator Closure. + * Mix another object into the class. * - * @param string $driver - * @param \Closure $callback - * @return $this - * @static + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static */ - public static function extend($driver, $callback) + public static function mixin($mixin, $replace = true) { - //Method inherited from \Illuminate\Support\Manager - return \Illuminate\Notifications\ChannelManager::extend($driver, $callback); + \Illuminate\Support\Testing\Fakes\NotificationFake::mixin($mixin, $replace); } /** - * Get all of the created "drivers". + * Checks if macro is registered. * - * @return array - * @static + * @param string $name + * @return bool + * @static */ - public static function getDrivers() + public static function hasMacro($name) { - //Method inherited from \Illuminate\Support\Manager - return \Illuminate\Notifications\ChannelManager::getDrivers(); + return \Illuminate\Support\Testing\Fakes\NotificationFake::hasMacro($name); } - } + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Support\Testing\Fakes\NotificationFake::flushMacros(); + } - class Password extends \Illuminate\Support\Facades\Password - { + } + /** + * + * + * @method static string sendResetLink(array $credentials, \Closure|null $callback = null) + * @method static mixed reset(array $credentials, \Closure $callback) + * @method static \Illuminate\Contracts\Auth\CanResetPassword|null getUser(array $credentials) + * @method static string createToken(\Illuminate\Contracts\Auth\CanResetPassword $user) + * @method static void deleteToken(\Illuminate\Contracts\Auth\CanResetPassword $user) + * @method static bool tokenExists(\Illuminate\Contracts\Auth\CanResetPassword $user, string $token) + * @method static \Illuminate\Auth\Passwords\TokenRepositoryInterface getRepository() + * @see \Illuminate\Auth\Passwords\PasswordBrokerManager + * @see \Illuminate\Auth\Passwords\PasswordBroker + */ + class Password { /** * Attempt to get the broker from the local cache. * - * @param string $name - * @return \Illuminate\Contracts\Auth\PasswordBroker - * @static + * @param string|null $name + * @return \Illuminate\Contracts\Auth\PasswordBroker + * @static */ public static function broker($name = null) { - return \Illuminate\Auth\Passwords\PasswordBrokerManager::broker($name); + /** @var \Illuminate\Auth\Passwords\PasswordBrokerManager $instance */ + return $instance->broker($name); } /** * Get the default password broker name. * - * @return string - * @static + * @return string + * @static */ public static function getDefaultDriver() { - return \Illuminate\Auth\Passwords\PasswordBrokerManager::getDefaultDriver(); + /** @var \Illuminate\Auth\Passwords\PasswordBrokerManager $instance */ + return $instance->getDefaultDriver(); } /** * Set the default password broker name. * * @param string $name - * @return void - * @static + * @return void + * @static */ public static function setDefaultDriver($name) { - \Illuminate\Auth\Passwords\PasswordBrokerManager::setDefaultDriver($name); + /** @var \Illuminate\Auth\Passwords\PasswordBrokerManager $instance */ + $instance->setDefaultDriver($name); } - } + } + /** + * + * + * @method static \Illuminate\Process\PendingProcess command(array|string $command) + * @method static \Illuminate\Process\PendingProcess path(string $path) + * @method static \Illuminate\Process\PendingProcess timeout(int $timeout) + * @method static \Illuminate\Process\PendingProcess idleTimeout(int $timeout) + * @method static \Illuminate\Process\PendingProcess forever() + * @method static \Illuminate\Process\PendingProcess env(array $environment) + * @method static \Illuminate\Process\PendingProcess input(\Traversable|resource|string|int|float|bool|null $input) + * @method static \Illuminate\Process\PendingProcess quietly() + * @method static \Illuminate\Process\PendingProcess tty(bool $tty = true) + * @method static \Illuminate\Process\PendingProcess options(array $options) + * @method static \Illuminate\Contracts\Process\ProcessResult run(array|string|null $command = null, callable|null $output = null) + * @method static \Illuminate\Process\InvokedProcess start(array|string|null $command = null, callable|null $output = null) + * @method static \Illuminate\Process\PendingProcess withFakeHandlers(array $fakeHandlers) + * @method static \Illuminate\Process\PendingProcess|mixed when(\Closure|mixed|null $value = null, callable|null $callback = null, callable|null $default = null) + * @method static \Illuminate\Process\PendingProcess|mixed unless(\Closure|mixed|null $value = null, callable|null $callback = null, callable|null $default = null) + * @see \Illuminate\Process\PendingProcess + * @see \Illuminate\Process\Factory + */ + class Process { + /** + * Create a new fake process response for testing purposes. + * + * @param array|string $output + * @param array|string $errorOutput + * @param int $exitCode + * @return \Illuminate\Process\FakeProcessResult + * @static + */ + public static function result($output = '', $errorOutput = '', $exitCode = 0) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->result($output, $errorOutput, $exitCode); + } - class Queue extends \Illuminate\Support\Facades\Queue - { + /** + * Begin describing a fake process lifecycle. + * + * @return \Illuminate\Process\FakeProcessDescription + * @static + */ + public static function describe() + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->describe(); + } + + /** + * Begin describing a fake process sequence. + * + * @param array $processes + * @return \Illuminate\Process\FakeProcessSequence + * @static + */ + public static function sequence($processes = []) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->sequence($processes); + } + + /** + * Indicate that the process factory should fake processes. + * + * @param \Closure|array|null $callback + * @return \Illuminate\Process\Factory + * @static + */ + public static function fake($callback = null) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->fake($callback); + } + + /** + * Determine if the process factory has fake process handlers and is recording processes. + * + * @return bool + * @static + */ + public static function isRecording() + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->isRecording(); + } + + /** + * Record the given process if processes should be recorded. + * + * @param \Illuminate\Process\PendingProcess $process + * @param \Illuminate\Contracts\Process\ProcessResult $result + * @return \Illuminate\Process\Factory + * @static + */ + public static function recordIfRecording($process, $result) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->recordIfRecording($process, $result); + } + + /** + * Record the given process. + * + * @param \Illuminate\Process\PendingProcess $process + * @param \Illuminate\Contracts\Process\ProcessResult $result + * @return \Illuminate\Process\Factory + * @static + */ + public static function record($process, $result) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->record($process, $result); + } + + /** + * Indicate that an exception should be thrown if any process is not faked. + * + * @param bool $prevent + * @return \Illuminate\Process\Factory + * @static + */ + public static function preventStrayProcesses($prevent = true) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->preventStrayProcesses($prevent); + } + + /** + * Determine if stray processes are being prevented. + * + * @return bool + * @static + */ + public static function preventingStrayProcesses() + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->preventingStrayProcesses(); + } + + /** + * Assert that a process was recorded matching a given truth test. + * + * @param \Closure|string $callback + * @return \Illuminate\Process\Factory + * @static + */ + public static function assertRan($callback) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->assertRan($callback); + } + + /** + * Assert that a process was recorded a given number of times matching a given truth test. + * + * @param \Closure|string $callback + * @param int $times + * @return \Illuminate\Process\Factory + * @static + */ + public static function assertRanTimes($callback, $times = 1) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->assertRanTimes($callback, $times); + } + + /** + * Assert that a process was not recorded matching a given truth test. + * + * @param \Closure|string $callback + * @return \Illuminate\Process\Factory + * @static + */ + public static function assertNotRan($callback) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->assertNotRan($callback); + } + + /** + * Assert that a process was not recorded matching a given truth test. + * + * @param \Closure|string $callback + * @return \Illuminate\Process\Factory + * @static + */ + public static function assertDidntRun($callback) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->assertDidntRun($callback); + } + + /** + * Assert that no processes were recorded. + * + * @return \Illuminate\Process\Factory + * @static + */ + public static function assertNothingRan() + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->assertNothingRan(); + } + + /** + * Start defining a pool of processes. + * + * @param callable $callback + * @return \Illuminate\Process\Pool + * @static + */ + public static function pool($callback) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->pool($callback); + } + + /** + * Start defining a series of piped processes. + * + * @param callable|array $callback + * @return \Illuminate\Contracts\Process\ProcessResult + * @static + */ + public static function pipe($callback, $output = null) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->pipe($callback, $output); + } + + /** + * Run a pool of processes and wait for them to finish executing. + * + * @param callable $callback + * @param callable|null $output + * @return \Illuminate\Process\ProcessPoolResults + * @static + */ + public static function concurrently($callback, $output = null) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->concurrently($callback, $output); + } + + /** + * Create a new pending process associated with this factory. + * + * @return \Illuminate\Process\PendingProcess + * @static + */ + public static function newPendingProcess() + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->newPendingProcess(); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Process\Factory::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Process\Factory::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Process\Factory::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Process\Factory::flushMacros(); + } + + /** + * Dynamically handle calls to the class. + * + * @param string $method + * @param array $parameters + * @return mixed + * @throws \BadMethodCallException + * @static + */ + public static function macroCall($method, $parameters) + { + /** @var \Illuminate\Process\Factory $instance */ + return $instance->macroCall($method, $parameters); + } + + } + /** + * + * + * @see \Illuminate\Queue\QueueManager + * @see \Illuminate\Queue\Queue + * @see \Illuminate\Support\Testing\Fakes\QueueFake + */ + class Queue { /** * Register an event listener for the before job event. * * @param mixed $callback - * @return void - * @static + * @return void + * @static */ public static function before($callback) { - \Illuminate\Queue\QueueManager::before($callback); + /** @var \Illuminate\Queue\QueueManager $instance */ + $instance->before($callback); } /** * Register an event listener for the after job event. * * @param mixed $callback - * @return void - * @static + * @return void + * @static */ public static function after($callback) { - \Illuminate\Queue\QueueManager::after($callback); + /** @var \Illuminate\Queue\QueueManager $instance */ + $instance->after($callback); } /** * Register an event listener for the exception occurred job event. * * @param mixed $callback - * @return void - * @static + * @return void + * @static */ public static function exceptionOccurred($callback) { - \Illuminate\Queue\QueueManager::exceptionOccurred($callback); + /** @var \Illuminate\Queue\QueueManager $instance */ + $instance->exceptionOccurred($callback); } /** * Register an event listener for the daemon queue loop. * * @param mixed $callback - * @return void - * @static + * @return void + * @static */ public static function looping($callback) { - \Illuminate\Queue\QueueManager::looping($callback); + /** @var \Illuminate\Queue\QueueManager $instance */ + $instance->looping($callback); } /** * Register an event listener for the failed job event. * * @param mixed $callback - * @return void - * @static + * @return void + * @static */ public static function failing($callback) { - \Illuminate\Queue\QueueManager::failing($callback); + /** @var \Illuminate\Queue\QueueManager $instance */ + $instance->failing($callback); } /** * Register an event listener for the daemon queue stopping. * * @param mixed $callback - * @return void - * @static + * @return void + * @static */ public static function stopping($callback) { - \Illuminate\Queue\QueueManager::stopping($callback); + /** @var \Illuminate\Queue\QueueManager $instance */ + $instance->stopping($callback); } /** * Determine if the driver is connected. * - * @param string $name - * @return bool - * @static + * @param string|null $name + * @return bool + * @static */ public static function connected($name = null) { - return \Illuminate\Queue\QueueManager::connected($name); + /** @var \Illuminate\Queue\QueueManager $instance */ + return $instance->connected($name); } /** * Resolve a queue connection instance. * - * @param string $name - * @return \Illuminate\Contracts\Queue\Queue - * @static + * @param string|null $name + * @return \Illuminate\Contracts\Queue\Queue + * @static */ public static function connection($name = null) { - return \Illuminate\Queue\QueueManager::connection($name); + /** @var \Illuminate\Queue\QueueManager $instance */ + return $instance->connection($name); } /** @@ -7640,12 +12128,13 @@ namespace { * * @param string $driver * @param \Closure $resolver - * @return void - * @static + * @return void + * @static */ public static function extend($driver, $resolver) { - \Illuminate\Queue\QueueManager::extend($driver, $resolver); + /** @var \Illuminate\Queue\QueueManager $instance */ + $instance->extend($driver, $resolver); } /** @@ -7653,157 +12142,355 @@ namespace { * * @param string $driver * @param \Closure $resolver - * @return void - * @static + * @return void + * @static */ public static function addConnector($driver, $resolver) { - \Illuminate\Queue\QueueManager::addConnector($driver, $resolver); + /** @var \Illuminate\Queue\QueueManager $instance */ + $instance->addConnector($driver, $resolver); } /** * Get the name of the default queue connection. * - * @return string - * @static + * @return string + * @static */ public static function getDefaultDriver() { - return \Illuminate\Queue\QueueManager::getDefaultDriver(); + /** @var \Illuminate\Queue\QueueManager $instance */ + return $instance->getDefaultDriver(); } /** * Set the name of the default queue connection. * * @param string $name - * @return void - * @static + * @return void + * @static */ public static function setDefaultDriver($name) { - \Illuminate\Queue\QueueManager::setDefaultDriver($name); + /** @var \Illuminate\Queue\QueueManager $instance */ + $instance->setDefaultDriver($name); } /** * Get the full name for the given connection. * - * @param string $connection - * @return string - * @static + * @param string|null $connection + * @return string + * @static */ public static function getName($connection = null) { - return \Illuminate\Queue\QueueManager::getName($connection); + /** @var \Illuminate\Queue\QueueManager $instance */ + return $instance->getName($connection); } /** - * Determine if the application is in maintenance mode. + * Get the application instance used by the manager. * - * @return bool - * @static + * @return \Illuminate\Contracts\Foundation\Application + * @static */ - public static function isDownForMaintenance() + public static function getApplication() { - return \Illuminate\Queue\QueueManager::isDownForMaintenance(); + /** @var \Illuminate\Queue\QueueManager $instance */ + return $instance->getApplication(); + } + + /** + * Set the application instance used by the manager. + * + * @param \Illuminate\Contracts\Foundation\Application $app + * @return \Illuminate\Queue\QueueManager + * @static + */ + public static function setApplication($app) + { + /** @var \Illuminate\Queue\QueueManager $instance */ + return $instance->setApplication($app); + } + + /** + * Specify the jobs that should be queued instead of faked. + * + * @param array|string $jobsToBeQueued + * @return \Illuminate\Support\Testing\Fakes\QueueFake + * @static + */ + public static function except($jobsToBeQueued) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->except($jobsToBeQueued); + } + + /** + * Assert if a job was pushed based on a truth-test callback. + * + * @param string|\Closure $job + * @param callable|int|null $callback + * @return void + * @static + */ + public static function assertPushed($job, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + $instance->assertPushed($job, $callback); + } + + /** + * Assert if a job was pushed based on a truth-test callback. + * + * @param string $queue + * @param string|\Closure $job + * @param callable|null $callback + * @return void + * @static + */ + public static function assertPushedOn($queue, $job, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + $instance->assertPushedOn($queue, $job, $callback); + } + + /** + * Assert if a job was pushed with chained jobs based on a truth-test callback. + * + * @param string $job + * @param array $expectedChain + * @param callable|null $callback + * @return void + * @static + */ + public static function assertPushedWithChain($job, $expectedChain = [], $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + $instance->assertPushedWithChain($job, $expectedChain, $callback); + } + + /** + * Assert if a job was pushed with an empty chain based on a truth-test callback. + * + * @param string $job + * @param callable|null $callback + * @return void + * @static + */ + public static function assertPushedWithoutChain($job, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + $instance->assertPushedWithoutChain($job, $callback); + } + + /** + * Assert if a closure was pushed based on a truth-test callback. + * + * @param callable|int|null $callback + * @return void + * @static + */ + public static function assertClosurePushed($callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + $instance->assertClosurePushed($callback); + } + + /** + * Assert that a closure was not pushed based on a truth-test callback. + * + * @param callable|null $callback + * @return void + * @static + */ + public static function assertClosureNotPushed($callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + $instance->assertClosureNotPushed($callback); + } + + /** + * Determine if a job was pushed based on a truth-test callback. + * + * @param string|\Closure $job + * @param callable|null $callback + * @return void + * @static + */ + public static function assertNotPushed($job, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + $instance->assertNotPushed($job, $callback); + } + + /** + * Assert the total count of jobs that were pushed. + * + * @param int $expectedCount + * @return void + * @static + */ + public static function assertCount($expectedCount) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + $instance->assertCount($expectedCount); + } + + /** + * Assert that no jobs were pushed. + * + * @return void + * @static + */ + public static function assertNothingPushed() + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + $instance->assertNothingPushed(); + } + + /** + * Get all of the jobs matching a truth-test callback. + * + * @param string $job + * @param callable|null $callback + * @return \Illuminate\Support\Collection + * @static + */ + public static function pushed($job, $callback = null) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->pushed($job, $callback); + } + + /** + * Determine if there are any stored jobs for a given class. + * + * @param string $job + * @return bool + * @static + */ + public static function hasPushed($job) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->hasPushed($job); } /** * Get the size of the queue. * - * @param string $queue - * @return int - * @static + * @param string|null $queue + * @return int + * @static */ public static function size($queue = null) { - return \Illuminate\Queue\SyncQueue::size($queue); + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->size($queue); } /** * Push a new job onto the queue. * - * @param string $job + * @param string|object $job * @param mixed $data - * @param string $queue - * @return mixed - * @throws \Exception|\Throwable - * @static + * @param string|null $queue + * @return mixed + * @static */ public static function push($job, $data = '', $queue = null) { - return \Illuminate\Queue\SyncQueue::push($job, $data, $queue); + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->push($job, $data, $queue); + } + + /** + * Determine if a job should be faked or actually dispatched. + * + * @param object $job + * @return bool + * @static + */ + public static function shouldFakeJob($job) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->shouldFakeJob($job); } /** * Push a raw payload onto the queue. * * @param string $payload - * @param string $queue + * @param string|null $queue * @param array $options - * @return mixed - * @static + * @return mixed + * @static */ public static function pushRaw($payload, $queue = null, $options = []) { - return \Illuminate\Queue\SyncQueue::pushRaw($payload, $queue, $options); + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->pushRaw($payload, $queue, $options); } /** - * Push a new job onto the queue after a delay. + * Push a new job onto the queue after (n) seconds. * - * @param \DateTime|int $delay - * @param string $job + * @param \DateTimeInterface|\DateInterval|int $delay + * @param string|object $job * @param mixed $data - * @param string $queue - * @return mixed - * @static + * @param string|null $queue + * @return mixed + * @static */ public static function later($delay, $job, $data = '', $queue = null) { - return \Illuminate\Queue\SyncQueue::later($delay, $job, $data, $queue); - } - - /** - * Pop the next job off of the queue. - * - * @param string $queue - * @return \Illuminate\Contracts\Queue\Job|null - * @static - */ - public static function pop($queue = null) - { - return \Illuminate\Queue\SyncQueue::pop($queue); + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->later($delay, $job, $data, $queue); } /** * Push a new job onto the queue. * * @param string $queue - * @param string $job + * @param string|object $job * @param mixed $data - * @return mixed - * @static + * @return mixed + * @static */ public static function pushOn($queue, $job, $data = '') { - //Method inherited from \Illuminate\Queue\Queue - return \Illuminate\Queue\SyncQueue::pushOn($queue, $job, $data); + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->pushOn($queue, $job, $data); } /** - * Push a new job onto the queue after a delay. + * Push a new job onto a specific queue after (n) seconds. * * @param string $queue - * @param \DateTime|int $delay - * @param string $job + * @param \DateTimeInterface|\DateInterval|int $delay + * @param string|object $job * @param mixed $data - * @return mixed - * @static + * @return mixed + * @static */ public static function laterOn($queue, $delay, $job, $data = '') { - //Method inherited from \Illuminate\Queue\Queue - return \Illuminate\Queue\SyncQueue::laterOn($queue, $delay, $job, $data); + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->laterOn($queue, $delay, $job, $data); + } + + /** + * Pop the next job off of the queue. + * + * @param string|null $queue + * @return \Illuminate\Contracts\Queue\Job|null + * @static + */ + public static function pop($queue = null) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->pop($queue); } /** @@ -7811,82 +12498,369 @@ namespace { * * @param array $jobs * @param mixed $data - * @param string $queue - * @return mixed - * @static + * @param string|null $queue + * @return mixed + * @static */ public static function bulk($jobs, $data = '', $queue = null) { - //Method inherited from \Illuminate\Queue\Queue - return \Illuminate\Queue\SyncQueue::bulk($jobs, $data, $queue); + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->bulk($jobs, $data, $queue); + } + + /** + * Get the jobs that have been pushed. + * + * @return array + * @static + */ + public static function pushedJobs() + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->pushedJobs(); + } + + /** + * Specify if jobs should be serialized and restored when being "pushed" to the queue. + * + * @param bool $serializeAndRestore + * @return \Illuminate\Support\Testing\Fakes\QueueFake + * @static + */ + public static function serializeAndRestore($serializeAndRestore = true) + { + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->serializeAndRestore($serializeAndRestore); } /** * Get the connection name for the queue. * - * @return string - * @static + * @return string + * @static */ public static function getConnectionName() { - //Method inherited from \Illuminate\Queue\Queue - return \Illuminate\Queue\SyncQueue::getConnectionName(); + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->getConnectionName(); } /** * Set the connection name for the queue. * * @param string $name - * @return $this - * @static + * @return \Illuminate\Support\Testing\Fakes\QueueFake + * @static */ public static function setConnectionName($name) { - //Method inherited from \Illuminate\Queue\Queue - return \Illuminate\Queue\SyncQueue::setConnectionName($name); + /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ + return $instance->setConnectionName($name); + } + + /** + * Get the maximum number of attempts for an object-based queue handler. + * + * @param mixed $job + * @return mixed + * @static + */ + public static function getJobTries($job) + { + //Method inherited from \Illuminate\Queue\Queue + /** @var \Illuminate\Queue\SyncQueue $instance */ + return $instance->getJobTries($job); + } + + /** + * Get the backoff for an object-based queue handler. + * + * @param mixed $job + * @return mixed + * @static + */ + public static function getJobBackoff($job) + { + //Method inherited from \Illuminate\Queue\Queue + /** @var \Illuminate\Queue\SyncQueue $instance */ + return $instance->getJobBackoff($job); + } + + /** + * Get the expiration timestamp for an object-based queue handler. + * + * @param mixed $job + * @return mixed + * @static + */ + public static function getJobExpiration($job) + { + //Method inherited from \Illuminate\Queue\Queue + /** @var \Illuminate\Queue\SyncQueue $instance */ + return $instance->getJobExpiration($job); + } + + /** + * Register a callback to be executed when creating job payloads. + * + * @param callable|null $callback + * @return void + * @static + */ + public static function createPayloadUsing($callback) + { + //Method inherited from \Illuminate\Queue\Queue + \Illuminate\Queue\SyncQueue::createPayloadUsing($callback); + } + + /** + * Get the container instance being used by the connection. + * + * @return \Illuminate\Container\Container + * @static + */ + public static function getContainer() + { + //Method inherited from \Illuminate\Queue\Queue + /** @var \Illuminate\Queue\SyncQueue $instance */ + return $instance->getContainer(); } /** * Set the IoC container instance. * * @param \Illuminate\Container\Container $container - * @return void - * @static + * @return void + * @static */ public static function setContainer($container) { - //Method inherited from \Illuminate\Queue\Queue - \Illuminate\Queue\SyncQueue::setContainer($container); + //Method inherited from \Illuminate\Queue\Queue + /** @var \Illuminate\Queue\SyncQueue $instance */ + $instance->setContainer($container); } - } - - class Redirect extends \Illuminate\Support\Facades\Redirect - { + } + /** + * + * + * @see \Illuminate\Cache\RateLimiter + */ + class RateLimiter { /** - * Create a new redirect response to the "home" route. + * Register a named limiter configuration. * - * @param int $status - * @return \Illuminate\Http\RedirectResponse - * @static + * @param \BackedEnum|\UnitEnum|string $name + * @param \Closure $callback + * @return \Illuminate\Cache\RateLimiter + * @static */ - public static function home($status = 302) + public static function for($name, $callback) { - return \Illuminate\Routing\Redirector::home($status); + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->for($name, $callback); } + /** + * Get the given named rate limiter. + * + * @param \BackedEnum|\UnitEnum|string $name + * @return \Closure|null + * @static + */ + public static function limiter($name) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->limiter($name); + } + + /** + * Attempts to execute a callback if it's not limited. + * + * @param string $key + * @param int $maxAttempts + * @param \Closure $callback + * @param int $decaySeconds + * @return mixed + * @static + */ + public static function attempt($key, $maxAttempts, $callback, $decaySeconds = 60) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->attempt($key, $maxAttempts, $callback, $decaySeconds); + } + + /** + * Determine if the given key has been "accessed" too many times. + * + * @param string $key + * @param int $maxAttempts + * @return bool + * @static + */ + public static function tooManyAttempts($key, $maxAttempts) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->tooManyAttempts($key, $maxAttempts); + } + + /** + * Increment (by 1) the counter for a given key for a given decay time. + * + * @param string $key + * @param int $decaySeconds + * @return int + * @static + */ + public static function hit($key, $decaySeconds = 60) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->hit($key, $decaySeconds); + } + + /** + * Increment the counter for a given key for a given decay time by a given amount. + * + * @param string $key + * @param int $decaySeconds + * @param int $amount + * @return int + * @static + */ + public static function increment($key, $decaySeconds = 60, $amount = 1) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->increment($key, $decaySeconds, $amount); + } + + /** + * Decrement the counter for a given key for a given decay time by a given amount. + * + * @param string $key + * @param int $decaySeconds + * @param int $amount + * @return int + * @static + */ + public static function decrement($key, $decaySeconds = 60, $amount = 1) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->decrement($key, $decaySeconds, $amount); + } + + /** + * Get the number of attempts for the given key. + * + * @param string $key + * @return mixed + * @static + */ + public static function attempts($key) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->attempts($key); + } + + /** + * Reset the number of attempts for the given key. + * + * @param string $key + * @return mixed + * @static + */ + public static function resetAttempts($key) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->resetAttempts($key); + } + + /** + * Get the number of retries left for the given key. + * + * @param string $key + * @param int $maxAttempts + * @return int + * @static + */ + public static function remaining($key, $maxAttempts) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->remaining($key, $maxAttempts); + } + + /** + * Get the number of retries left for the given key. + * + * @param string $key + * @param int $maxAttempts + * @return int + * @static + */ + public static function retriesLeft($key, $maxAttempts) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->retriesLeft($key, $maxAttempts); + } + + /** + * Clear the hits and lockout timer for the given key. + * + * @param string $key + * @return void + * @static + */ + public static function clear($key) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + $instance->clear($key); + } + + /** + * Get the number of seconds until the "key" is accessible again. + * + * @param string $key + * @return int + * @static + */ + public static function availableIn($key) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->availableIn($key); + } + + /** + * Clean the rate limiter key from unicode characters. + * + * @param string $key + * @return string + * @static + */ + public static function cleanRateLimiterKey($key) + { + /** @var \Illuminate\Cache\RateLimiter $instance */ + return $instance->cleanRateLimiterKey($key); + } + + } + /** + * + * + * @see \Illuminate\Routing\Redirector + */ + class Redirect { /** * Create a new redirect response to the previous location. * * @param int $status * @param array $headers * @param mixed $fallback - * @return \Illuminate\Http\RedirectResponse - * @static + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function back($status = 302, $headers = [], $fallback = false) { - return \Illuminate\Routing\Redirector::back($status, $headers, $fallback); + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->back($status, $headers, $fallback); } /** @@ -7894,12 +12868,13 @@ namespace { * * @param int $status * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function refresh($status = 302, $headers = []) { - return \Illuminate\Routing\Redirector::refresh($status, $headers); + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->refresh($status, $headers); } /** @@ -7908,28 +12883,30 @@ namespace { * @param string $path * @param int $status * @param array $headers - * @param bool $secure - * @return \Illuminate\Http\RedirectResponse - * @static + * @param bool|null $secure + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function guest($path, $status = 302, $headers = [], $secure = null) { - return \Illuminate\Routing\Redirector::guest($path, $status, $headers, $secure); + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->guest($path, $status, $headers, $secure); } /** * Create a new redirect response to the previously intended location. * - * @param string $default + * @param mixed $default * @param int $status * @param array $headers - * @param bool $secure - * @return \Illuminate\Http\RedirectResponse - * @static + * @param bool|null $secure + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function intended($default = '/', $status = 302, $headers = [], $secure = null) { - return \Illuminate\Routing\Redirector::intended($default, $status, $headers, $secure); + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->intended($default, $status, $headers, $secure); } /** @@ -7938,13 +12915,14 @@ namespace { * @param string $path * @param int $status * @param array $headers - * @param bool $secure - * @return \Illuminate\Http\RedirectResponse - * @static + * @param bool|null $secure + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function to($path, $status = 302, $headers = [], $secure = null) { - return \Illuminate\Routing\Redirector::to($path, $status, $headers, $secure); + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->to($path, $status, $headers, $secure); } /** @@ -7953,12 +12931,13 @@ namespace { * @param string $path * @param int $status * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function away($path, $status = 302, $headers = []) { - return \Illuminate\Routing\Redirector::away($path, $status, $headers); + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->away($path, $status, $headers); } /** @@ -7967,76 +12946,197 @@ namespace { * @param string $path * @param int $status * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function secure($path, $status = 302, $headers = []) { - return \Illuminate\Routing\Redirector::secure($path, $status, $headers); + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->secure($path, $status, $headers); } /** * Create a new redirect response to a named route. * - * @param string $route - * @param array $parameters + * @param \BackedEnum|string $route + * @param mixed $parameters * @param int $status * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function route($route, $parameters = [], $status = 302, $headers = []) { - return \Illuminate\Routing\Redirector::route($route, $parameters, $status, $headers); + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->route($route, $parameters, $status, $headers); + } + + /** + * Create a new redirect response to a signed named route. + * + * @param \BackedEnum|string $route + * @param mixed $parameters + * @param \DateTimeInterface|\DateInterval|int|null $expiration + * @param int $status + * @param array $headers + * @return \Illuminate\Http\RedirectResponse + * @static + */ + public static function signedRoute($route, $parameters = [], $expiration = null, $status = 302, $headers = []) + { + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->signedRoute($route, $parameters, $expiration, $status, $headers); + } + + /** + * Create a new redirect response to a signed named route. + * + * @param \BackedEnum|string $route + * @param \DateTimeInterface|\DateInterval|int|null $expiration + * @param mixed $parameters + * @param int $status + * @param array $headers + * @return \Illuminate\Http\RedirectResponse + * @static + */ + public static function temporarySignedRoute($route, $expiration, $parameters = [], $status = 302, $headers = []) + { + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->temporarySignedRoute($route, $expiration, $parameters, $status, $headers); } /** * Create a new redirect response to a controller action. * - * @param string $action - * @param array $parameters + * @param string|array $action + * @param mixed $parameters * @param int $status * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function action($action, $parameters = [], $status = 302, $headers = []) { - return \Illuminate\Routing\Redirector::action($action, $parameters, $status, $headers); + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->action($action, $parameters, $status, $headers); } /** * Get the URL generator instance. * - * @return \Illuminate\Routing\UrlGenerator - * @static + * @return \Illuminate\Routing\UrlGenerator + * @static */ public static function getUrlGenerator() { - return \Illuminate\Routing\Redirector::getUrlGenerator(); + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->getUrlGenerator(); } /** * Set the active session store. * * @param \Illuminate\Session\Store $session - * @return void - * @static + * @return void + * @static */ public static function setSession($session) { - \Illuminate\Routing\Redirector::setSession($session); + /** @var \Illuminate\Routing\Redirector $instance */ + $instance->setSession($session); } - } + /** + * Get the "intended" URL from the session. + * + * @return string|null + * @static + */ + public static function getIntendedUrl() + { + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->getIntendedUrl(); + } - class Request extends \Illuminate\Support\Facades\Request - { + /** + * Set the "intended" URL in the session. + * + * @param string $url + * @return \Illuminate\Routing\Redirector + * @static + */ + public static function setIntendedUrl($url) + { + /** @var \Illuminate\Routing\Redirector $instance */ + return $instance->setIntendedUrl($url); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Routing\Redirector::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Routing\Redirector::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Routing\Redirector::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Routing\Redirector::flushMacros(); + } + + } + /** + * + * + * @method static array validate(array $rules, ...$params) + * @method static array validateWithBag(string $errorBag, array $rules, ...$params) + * @method static bool hasValidSignature(bool $absolute = true) + * @see \Illuminate\Http\Request + */ + class Request { /** * Create a new Illuminate HTTP request from server variables. * - * @return static - * @static + * @return static + * @static */ public static function capture() { @@ -8046,90 +13146,123 @@ namespace { /** * Return the Request instance. * - * @return $this - * @static + * @return \Illuminate\Http\Request + * @static */ public static function instance() { - return \Illuminate\Http\Request::instance(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->instance(); } /** * Get the request method. * - * @return string - * @static + * @return string + * @static */ public static function method() { - return \Illuminate\Http\Request::method(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->method(); + } + + /** + * Get a URI instance for the request. + * + * @return \Illuminate\Support\Uri + * @static + */ + public static function uri() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->uri(); } /** * Get the root URL for the application. * - * @return string - * @static + * @return string + * @static */ public static function root() { - return \Illuminate\Http\Request::root(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->root(); } /** * Get the URL (no query string) for the request. * - * @return string - * @static + * @return string + * @static */ public static function url() { - return \Illuminate\Http\Request::url(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->url(); } /** * Get the full URL for the request. * - * @return string - * @static + * @return string + * @static */ public static function fullUrl() { - return \Illuminate\Http\Request::fullUrl(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->fullUrl(); } /** * Get the full URL for the request with the added query string parameters. * * @param array $query - * @return string - * @static + * @return string + * @static */ public static function fullUrlWithQuery($query) { - return \Illuminate\Http\Request::fullUrlWithQuery($query); + /** @var \Illuminate\Http\Request $instance */ + return $instance->fullUrlWithQuery($query); + } + + /** + * Get the full URL for the request without the given query string parameters. + * + * @param array|string $keys + * @return string + * @static + */ + public static function fullUrlWithoutQuery($keys) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->fullUrlWithoutQuery($keys); } /** * Get the current path info for the request. * - * @return string - * @static + * @return string + * @static */ public static function path() { - return \Illuminate\Http\Request::path(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->path(); } /** - * Get the current encoded path info for the request. + * Get the current decoded path info for the request. * - * @return string - * @static + * @return string + * @static */ public static function decodedPath() { - return \Illuminate\Http\Request::decodedPath(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->decodedPath(); } /** @@ -8137,145 +13270,274 @@ namespace { * * @param int $index * @param string|null $default - * @return string|null - * @static + * @return string|null + * @static */ public static function segment($index, $default = null) { - return \Illuminate\Http\Request::segment($index, $default); + /** @var \Illuminate\Http\Request $instance */ + return $instance->segment($index, $default); } /** * Get all of the segments for the request path. * - * @return array - * @static + * @return array + * @static */ public static function segments() { - return \Illuminate\Http\Request::segments(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->segments(); } /** * Determine if the current request URI matches a pattern. * - * @return bool - * @static + * @param mixed $patterns + * @return bool + * @static */ - public static function is() + public static function is(...$patterns) { - return \Illuminate\Http\Request::is(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->is(...$patterns); } /** - * Determine if the current request URL and query string matches a pattern. + * Determine if the route name matches a given pattern. * - * @return bool - * @static + * @param mixed $patterns + * @return bool + * @static */ - public static function fullUrlIs() + public static function routeIs(...$patterns) { - return \Illuminate\Http\Request::fullUrlIs(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->routeIs(...$patterns); + } + + /** + * Determine if the current request URL and query string match a pattern. + * + * @param mixed $patterns + * @return bool + * @static + */ + public static function fullUrlIs(...$patterns) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->fullUrlIs(...$patterns); + } + + /** + * Get the host name. + * + * @return string + * @static + */ + public static function host() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->host(); + } + + /** + * Get the HTTP host being requested. + * + * @return string + * @static + */ + public static function httpHost() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->httpHost(); + } + + /** + * Get the scheme and HTTP host. + * + * @return string + * @static + */ + public static function schemeAndHttpHost() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->schemeAndHttpHost(); } /** * Determine if the request is the result of an AJAX call. * - * @return bool - * @static + * @return bool + * @static */ public static function ajax() { - return \Illuminate\Http\Request::ajax(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->ajax(); } /** - * Determine if the request is the result of an PJAX call. + * Determine if the request is the result of a PJAX call. * - * @return bool - * @static + * @return bool + * @static */ public static function pjax() { - return \Illuminate\Http\Request::pjax(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->pjax(); + } + + /** + * Determine if the request is the result of a prefetch call. + * + * @return bool + * @static + */ + public static function prefetch() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->prefetch(); } /** * Determine if the request is over HTTPS. * - * @return bool - * @static + * @return bool + * @static */ public static function secure() { - return \Illuminate\Http\Request::secure(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->secure(); } /** - * Returns the client IP address. + * Get the client IP address. * - * @return string - * @static + * @return string|null + * @static */ public static function ip() { - return \Illuminate\Http\Request::ip(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->ip(); } /** - * Returns the client IP addresses. + * Get the client IP addresses. * - * @return array - * @static + * @return array + * @static */ public static function ips() { - return \Illuminate\Http\Request::ips(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->ips(); + } + + /** + * Get the client user agent. + * + * @return string|null + * @static + */ + public static function userAgent() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->userAgent(); } /** * Merge new input into the current request's input array. * * @param array $input - * @return void - * @static + * @return \Illuminate\Http\Request + * @static */ public static function merge($input) { - \Illuminate\Http\Request::merge($input); + /** @var \Illuminate\Http\Request $instance */ + return $instance->merge($input); } /** - * Replace the input for the current request. + * Merge new input into the request's input, but only when that key is missing from the request. * * @param array $input - * @return void - * @static + * @return \Illuminate\Http\Request + * @static + */ + public static function mergeIfMissing($input) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->mergeIfMissing($input); + } + + /** + * Replace the input values for the current request. + * + * @param array $input + * @return \Illuminate\Http\Request + * @static */ public static function replace($input) { - \Illuminate\Http\Request::replace($input); + /** @var \Illuminate\Http\Request $instance */ + return $instance->replace($input); + } + + /** + * This method belongs to Symfony HttpFoundation and is not usually needed when using Laravel. + * + * Instead, you may use the "input" method. + * + * @param string $key + * @param mixed $default + * @return mixed + * @static + */ + public static function get($key, $default = null) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->get($key, $default); } /** * Get the JSON payload for the request. * - * @param string $key + * @param string|null $key * @param mixed $default - * @return mixed - * @static + * @return \Symfony\Component\HttpFoundation\InputBag|mixed + * @static */ public static function json($key = null, $default = null) { - return \Illuminate\Http\Request::json($key, $default); + /** @var \Illuminate\Http\Request $instance */ + return $instance->json($key, $default); + } + + /** + * Create a new request instance from the given Laravel request. + * + * @param \Illuminate\Http\Request $from + * @param \Illuminate\Http\Request|null $to + * @return static + * @static + */ + public static function createFrom($from, $to = null) + { + return \Illuminate\Http\Request::createFrom($from, $to); } /** * Create an Illuminate request from a Symfony instance. * * @param \Symfony\Component\HttpFoundation\Request $request - * @return \Illuminate\Http\Request - * @static + * @return static + * @static */ public static function createFromBase($request) { @@ -8285,159 +13547,240 @@ namespace { /** * Clones a request and overrides some of its parameters. * - * @param array $query The GET parameters - * @param array $request The POST parameters - * @param array $attributes The request attributes (parameters parsed from the PATH_INFO, ...) - * @param array $cookies The COOKIE parameters - * @param array $files The FILES parameters - * @param array $server The SERVER parameters - * @return static - * @static + * @return static + * @param array|null $query The GET parameters + * @param array|null $request The POST parameters + * @param array|null $attributes The request attributes (parameters parsed from the PATH_INFO, ...) + * @param array|null $cookies The COOKIE parameters + * @param array|null $files The FILES parameters + * @param array|null $server The SERVER parameters + * @static */ public static function duplicate($query = null, $request = null, $attributes = null, $cookies = null, $files = null, $server = null) { - return \Illuminate\Http\Request::duplicate($query, $request, $attributes, $cookies, $files, $server); + /** @var \Illuminate\Http\Request $instance */ + return $instance->duplicate($query, $request, $attributes, $cookies, $files, $server); + } + + /** + * Whether the request contains a Session object. + * + * This method does not give any information about the state of the session object, + * like whether the session is started or not. It is just a way to check if this Request + * is associated with a Session instance. + * + * @param bool $skipIfUninitialized When true, ignores factories injected by `setSessionFactory` + * @static + */ + public static function hasSession($skipIfUninitialized = false) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->hasSession($skipIfUninitialized); + } + + /** + * Gets the Session. + * + * @throws SessionNotFoundException When session is not set properly + * @static + */ + public static function getSession() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->getSession(); } /** * Get the session associated with the request. * - * @return \Illuminate\Session\Store + * @return \Illuminate\Contracts\Session\Session * @throws \RuntimeException - * @static + * @static */ public static function session() { - return \Illuminate\Http\Request::session(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->session(); } /** * Set the session instance on the request. * * @param \Illuminate\Contracts\Session\Session $session - * @return void - * @static + * @return void + * @static */ public static function setLaravelSession($session) { - \Illuminate\Http\Request::setLaravelSession($session); + /** @var \Illuminate\Http\Request $instance */ + $instance->setLaravelSession($session); + } + + /** + * Set the locale for the request instance. + * + * @param string $locale + * @return void + * @static + */ + public static function setRequestLocale($locale) + { + /** @var \Illuminate\Http\Request $instance */ + $instance->setRequestLocale($locale); + } + + /** + * Set the default locale for the request instance. + * + * @param string $locale + * @return void + * @static + */ + public static function setDefaultRequestLocale($locale) + { + /** @var \Illuminate\Http\Request $instance */ + $instance->setDefaultRequestLocale($locale); } /** * Get the user making the request. * * @param string|null $guard - * @return mixed - * @static + * @return mixed + * @static */ public static function user($guard = null) { - return \Illuminate\Http\Request::user($guard); + /** @var \Illuminate\Http\Request $instance */ + return $instance->user($guard); } /** * Get the route handling the request. * * @param string|null $param - * @return \Illuminate\Routing\Route|object|string - * @static + * @param mixed $default + * @return \Illuminate\Routing\Route|object|string|null + * @static */ - public static function route($param = null) + public static function route($param = null, $default = null) { - return \Illuminate\Http\Request::route($param); + /** @var \Illuminate\Http\Request $instance */ + return $instance->route($param, $default); } /** * Get a unique fingerprint for the request / route / IP address. * - * @return string + * @return string * @throws \RuntimeException - * @static + * @static */ public static function fingerprint() { - return \Illuminate\Http\Request::fingerprint(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->fingerprint(); + } + + /** + * Set the JSON payload for the request. + * + * @param \Symfony\Component\HttpFoundation\InputBag $json + * @return \Illuminate\Http\Request + * @static + */ + public static function setJson($json) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->setJson($json); } /** * Get the user resolver callback. * - * @return \Closure - * @static + * @return \Closure + * @static */ public static function getUserResolver() { - return \Illuminate\Http\Request::getUserResolver(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->getUserResolver(); } /** * Set the user resolver callback. * * @param \Closure $callback - * @return $this - * @static + * @return \Illuminate\Http\Request + * @static */ public static function setUserResolver($callback) { - return \Illuminate\Http\Request::setUserResolver($callback); + /** @var \Illuminate\Http\Request $instance */ + return $instance->setUserResolver($callback); } /** * Get the route resolver callback. * - * @return \Closure - * @static + * @return \Closure + * @static */ public static function getRouteResolver() { - return \Illuminate\Http\Request::getRouteResolver(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->getRouteResolver(); } /** * Set the route resolver callback. * * @param \Closure $callback - * @return $this - * @static + * @return \Illuminate\Http\Request + * @static */ public static function setRouteResolver($callback) { - return \Illuminate\Http\Request::setRouteResolver($callback); + /** @var \Illuminate\Http\Request $instance */ + return $instance->setRouteResolver($callback); } /** * Get all of the input and files for the request. * - * @return array - * @static + * @return array + * @static */ public static function toArray() { - return \Illuminate\Http\Request::toArray(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->toArray(); } /** * Determine if the given offset exists. * * @param string $offset - * @return bool - * @static + * @return bool + * @static */ public static function offsetExists($offset) { - return \Illuminate\Http\Request::offsetExists($offset); + /** @var \Illuminate\Http\Request $instance */ + return $instance->offsetExists($offset); } /** * Get the value at the given offset. * * @param string $offset - * @return mixed - * @static + * @return mixed + * @static */ public static function offsetGet($offset) { - return \Illuminate\Http\Request::offsetGet($offset); + /** @var \Illuminate\Http\Request $instance */ + return $instance->offsetGet($offset); } /** @@ -8445,29 +13788,31 @@ namespace { * * @param string $offset * @param mixed $value - * @return void - * @static + * @return void + * @static */ public static function offsetSet($offset, $value) { - \Illuminate\Http\Request::offsetSet($offset, $value); + /** @var \Illuminate\Http\Request $instance */ + $instance->offsetSet($offset, $value); } /** * Remove the value at the given offset. * * @param string $offset - * @return void - * @static + * @return void + * @static */ public static function offsetUnset($offset) { - \Illuminate\Http\Request::offsetUnset($offset); + /** @var \Illuminate\Http\Request $instance */ + $instance->offsetUnset($offset); } /** * Sets the parameters for this request. - * + * * This method also re-initializes all properties. * * @param array $query The GET parameters @@ -8476,30 +13821,30 @@ namespace { * @param array $cookies The COOKIE parameters * @param array $files The FILES parameters * @param array $server The SERVER parameters - * @param string|resource $content The raw body data - * @static + * @param string|resource|null $content The raw body data + * @static */ public static function initialize($query = [], $request = [], $attributes = [], $cookies = [], $files = [], $server = [], $content = null) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::initialize($query, $request, $attributes, $cookies, $files, $server, $content); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->initialize($query, $request, $attributes, $cookies, $files, $server, $content); } /** * Creates a new request with values from PHP's super globals. * - * @return static - * @static + * @static */ public static function createFromGlobals() { - //Method inherited from \Symfony\Component\HttpFoundation\Request + //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::createFromGlobals(); } /** * Creates a Request based on a given URI and configuration. - * + * * The information contained in the URI always take precedence * over the other information (server and parameters). * @@ -8509,510 +13854,452 @@ namespace { * @param array $cookies The request cookies ($_COOKIE) * @param array $files The request files ($_FILES) * @param array $server The server parameters ($_SERVER) - * @param string $content The raw body data - * @return static - * @static + * @param string|resource|null $content The raw body data + * @throws BadRequestException When the URI is invalid + * @static */ public static function create($uri, $method = 'GET', $parameters = [], $cookies = [], $files = [], $server = [], $content = null) { - //Method inherited from \Symfony\Component\HttpFoundation\Request + //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::create($uri, $method, $parameters, $cookies, $files, $server, $content); } /** * Sets a callable able to create a Request instance. - * + * * This is mainly useful when you need to override the Request class * to keep BC with an existing system. It should not be used for any * other purpose. * - * @param callable|null $callable A PHP callable - * @static + * @static */ public static function setFactory($callable) { - //Method inherited from \Symfony\Component\HttpFoundation\Request + //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::setFactory($callable); } /** * Overrides the PHP global variables according to this request instance. - * + * * It overrides $_GET, $_POST, $_REQUEST, $_SERVER, $_COOKIE. * $_FILES is never overridden, see rfc1867 * - * @static + * @static */ public static function overrideGlobals() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::overrideGlobals(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->overrideGlobals(); } /** * Sets a list of trusted proxies. - * + * * You should only list the reverse proxies that you manage directly. * - * @param array $proxies A list of trusted proxies - * @static + * @param array $proxies A list of trusted proxies, the string 'REMOTE_ADDR' will be replaced with $_SERVER['REMOTE_ADDR'] and 'PRIVATE_SUBNETS' by IpUtils::PRIVATE_SUBNETS + * @param int-mask-of $trustedHeaderSet A bit field to set which headers to trust from your proxies + * @static */ - public static function setTrustedProxies($proxies) + public static function setTrustedProxies($proxies, $trustedHeaderSet) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setTrustedProxies($proxies); + //Method inherited from \Symfony\Component\HttpFoundation\Request + return \Illuminate\Http\Request::setTrustedProxies($proxies, $trustedHeaderSet); } /** * Gets the list of trusted proxies. * - * @return array An array of trusted proxies - * @static + * @return string[] + * @static */ public static function getTrustedProxies() { - //Method inherited from \Symfony\Component\HttpFoundation\Request + //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::getTrustedProxies(); } /** - * Sets a list of trusted host patterns. + * Gets the set of trusted headers from trusted proxies. * + * @return int A bit field of Request::HEADER_* that defines which headers are trusted from your proxies + * @static + */ + public static function getTrustedHeaderSet() + { + //Method inherited from \Symfony\Component\HttpFoundation\Request + return \Illuminate\Http\Request::getTrustedHeaderSet(); + } + + /** + * Sets a list of trusted host patterns. + * * You should only list the hosts you manage using regexs. * * @param array $hostPatterns A list of trusted host patterns - * @static + * @static */ public static function setTrustedHosts($hostPatterns) { - //Method inherited from \Symfony\Component\HttpFoundation\Request + //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::setTrustedHosts($hostPatterns); } /** * Gets the list of trusted host patterns. * - * @return array An array of trusted host patterns - * @static + * @return string[] + * @static */ public static function getTrustedHosts() { - //Method inherited from \Symfony\Component\HttpFoundation\Request + //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::getTrustedHosts(); } - /** - * Sets the name for trusted headers. - * - * The following header keys are supported: - * - * * Request::HEADER_CLIENT_IP: defaults to X-Forwarded-For (see getClientIp()) - * * Request::HEADER_CLIENT_HOST: defaults to X-Forwarded-Host (see getHost()) - * * Request::HEADER_CLIENT_PORT: defaults to X-Forwarded-Port (see getPort()) - * * Request::HEADER_CLIENT_PROTO: defaults to X-Forwarded-Proto (see getScheme() and isSecure()) - * - * Setting an empty value allows to disable the trusted header for the given key. - * - * @param string $key The header key - * @param string $value The header name - * @throws \InvalidArgumentException - * @static - */ - public static function setTrustedHeaderName($key, $value) - { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setTrustedHeaderName($key, $value); - } - - /** - * Gets the trusted proxy header name. - * - * @param string $key The header key - * @return string The header name - * @throws \InvalidArgumentException - * @static - */ - public static function getTrustedHeaderName($key) - { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getTrustedHeaderName($key); - } - /** * Normalizes a query string. - * + * * It builds a normalized query string, where keys/value pairs are alphabetized, * have consistent escaping and unneeded delimiters are removed. * - * @param string $qs Query string - * @return string A normalized query string for the Request - * @static + * @static */ public static function normalizeQueryString($qs) { - //Method inherited from \Symfony\Component\HttpFoundation\Request + //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::normalizeQueryString($qs); } /** * Enables support for the _method request parameter to determine the intended HTTP method. - * + * * Be warned that enabling this feature might lead to CSRF issues in your code. * Check that you are using CSRF tokens when required. * If the HTTP method parameter override is enabled, an html-form with method "POST" can be altered * and used to send a "PUT" or "DELETE" request via the _method request parameter. * If these methods are not protected against CSRF, this presents a possible vulnerability. - * + * * The HTTP method can only be overridden when the real HTTP method is POST. * - * @static + * @static */ public static function enableHttpMethodParameterOverride() { - //Method inherited from \Symfony\Component\HttpFoundation\Request + //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::enableHttpMethodParameterOverride(); } /** * Checks whether support for the _method request parameter is enabled. * - * @return bool True when the _method request parameter is enabled, false otherwise - * @static + * @static */ public static function getHttpMethodParameterOverride() { - //Method inherited from \Symfony\Component\HttpFoundation\Request + //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::getHttpMethodParameterOverride(); } - /** - * Gets a "parameter" value from any bag. - * - * This method is mainly useful for libraries that want to provide some flexibility. If you don't need the - * flexibility in controllers, it is better to explicitly get request parameters from the appropriate - * public property instead (attributes, query, request). - * - * Order of precedence: PATH (routing placeholders or custom attributes), GET, BODY - * - * @param string $key the key - * @param mixed $default the default value if the parameter key does not exist - * @return mixed - * @static - */ - public static function get($key, $default = null) - { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::get($key, $default); - } - - /** - * Gets the Session. - * - * @return \Symfony\Component\HttpFoundation\SessionInterface|null The session - * @static - */ - public static function getSession() - { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getSession(); - } - /** * Whether the request contains a Session which was started in one of the * previous requests. * - * @return bool - * @static + * @static */ public static function hasPreviousSession() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::hasPreviousSession(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->hasPreviousSession(); } /** - * Whether the request contains a Session object. + * * - * This method does not give any information about the state of the session object, - * like whether the session is started or not. It is just a way to check if this Request - * is associated with a Session instance. - * - * @return bool true when the Request contains a Session object, false otherwise - * @static - */ - public static function hasSession() - { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::hasSession(); - } - - /** - * Sets the Session. - * - * @param \Symfony\Component\HttpFoundation\SessionInterface $session The Session - * @static + * @static */ public static function setSession($session) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setSession($session); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->setSession($session); + } + + /** + * + * + * @internal + * @param \Symfony\Component\HttpFoundation\callable(): SessionInterface $factory + * @static + */ + public static function setSessionFactory($factory) + { + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->setSessionFactory($factory); } /** * Returns the client IP addresses. - * + * * In the returned array the most trusted IP address is first, and the * least trusted one last. The "real" client IP address is the last one, * but this is also the least trusted one. Trusted proxies are stripped. - * + * * Use this method carefully; you should use getClientIp() instead. * - * @return array The client IP addresses * @see getClientIp() - * @static + * @static */ public static function getClientIps() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getClientIps(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getClientIps(); } /** * Returns the client IP address. - * + * * This method can read the client IP address from the "X-Forwarded-For" header * when trusted proxies were set via "setTrustedProxies()". The "X-Forwarded-For" * header value is a comma+space separated list of IP addresses, the left-most * being the original client, and each successive proxy that passed the request * adding the IP address where it received the request from. - * + * * If your reverse proxy uses a different header name than "X-Forwarded-For", - * ("Client-Ip" for instance), configure it via "setTrustedHeaderName()" with - * the "client-ip" key. + * ("Client-Ip" for instance), configure it via the $trustedHeaderSet + * argument of the Request::setTrustedProxies() method instead. * - * @return string The client IP address * @see getClientIps() - * @see http://en.wikipedia.org/wiki/X-Forwarded-For - * @static + * @see https://wikipedia.org/wiki/X-Forwarded-For + * @static */ public static function getClientIp() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getClientIp(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getClientIp(); } /** * Returns current script name. * - * @return string - * @static + * @static */ public static function getScriptName() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getScriptName(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getScriptName(); } /** * Returns the path being requested relative to the executed script. - * + * * The path info always starts with a /. - * + * * Suppose this request is instantiated from /mysite on localhost: - * + * * * http://localhost/mysite returns an empty string * * http://localhost/mysite/about returns '/about' * * http://localhost/mysite/enco%20ded returns '/enco%20ded' * * http://localhost/mysite/about?var=1 returns '/about' * * @return string The raw path (i.e. not urldecoded) - * @static + * @static */ public static function getPathInfo() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getPathInfo(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getPathInfo(); } /** * Returns the root path from which this request is executed. - * + * * Suppose that an index.php file instantiates this request object: - * + * * * http://localhost/index.php returns an empty string * * http://localhost/index.php/page returns an empty string * * http://localhost/web/index.php returns '/web' * * http://localhost/we%20b/index.php returns '/we%20b' * * @return string The raw path (i.e. not urldecoded) - * @static + * @static */ public static function getBasePath() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getBasePath(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getBasePath(); } /** * Returns the root URL from which this request is executed. - * + * * The base URL never ends with a /. - * + * * This is similar to getBasePath(), except that it also includes the * script filename (e.g. index.php) if one exists. * * @return string The raw URL (i.e. not urldecoded) - * @static + * @static */ public static function getBaseUrl() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getBaseUrl(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getBaseUrl(); } /** * Gets the request's scheme. * - * @return string - * @static + * @static */ public static function getScheme() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getScheme(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getScheme(); } /** * Returns the port on which the request is made. - * + * * This method can read the client port from the "X-Forwarded-Port" header * when trusted proxies were set via "setTrustedProxies()". - * + * * The "X-Forwarded-Port" header must contain the client port. * - * If your reverse proxy uses a different header name than "X-Forwarded-Port", - * configure it via "setTrustedHeaderName()" with the "client-port" key. - * - * @return string - * @static + * @return int|string|null Can be a string if fetched from the server bag + * @static */ public static function getPort() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getPort(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getPort(); } /** * Returns the user. * - * @return string|null - * @static + * @static */ public static function getUser() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getUser(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getUser(); } /** * Returns the password. * - * @return string|null - * @static + * @static */ public static function getPassword() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getPassword(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getPassword(); } /** * Gets the user info. * - * @return string A user name and, optionally, scheme-specific information about how to gain authorization to access the server - * @static + * @return string|null A user name if any and, optionally, scheme-specific information about how to gain authorization to access the server + * @static */ public static function getUserInfo() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getUserInfo(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getUserInfo(); } /** * Returns the HTTP host being requested. - * + * * The port name will be appended to the host if it's non-standard. * - * @return string - * @static + * @static */ public static function getHttpHost() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getHttpHost(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getHttpHost(); } /** * Returns the requested URI (path and query string). * * @return string The raw URI (i.e. not URI decoded) - * @static + * @static */ public static function getRequestUri() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getRequestUri(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getRequestUri(); } /** * Gets the scheme and HTTP host. - * + * * If the URL was called with basic authentication, the user * and the password are not added to the generated string. * - * @return string The scheme and HTTP host - * @static + * @static */ public static function getSchemeAndHttpHost() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getSchemeAndHttpHost(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getSchemeAndHttpHost(); } /** * Generates a normalized URI (URL) for the Request. * - * @return string A normalized URI (URL) for the Request * @see getQueryString() - * @static + * @static */ public static function getUri() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getUri(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getUri(); } /** * Generates a normalized URI for the given path. * * @param string $path A path to use instead of the current one - * @return string The normalized URI for the path - * @static + * @static */ public static function getUriForPath($path) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getUriForPath($path); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getUriForPath($path); } /** * Returns the path as relative reference from the current Request path. - * + * * Only the URIs path component (no schema, host etc.) is relevant and must be given. * Both paths must be absolute and not contain relative parts. * Relative URLs from one resource to another are useful when generating self-contained downloadable document archives. * Furthermore, they can be used to reduce the link size in documents. - * + * * Example target paths, given a base path of "/a/b/c/d": * - "/a/b/c/d" -> "" * - "/a/b/c/" -> "./" @@ -9020,442 +14307,632 @@ namespace { * - "/a/b/c/other" -> "other" * - "/a/x/y" -> "../../x/y" * - * @param string $path The target path - * @return string The relative target path - * @static + * @static */ public static function getRelativeUriForPath($path) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getRelativeUriForPath($path); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getRelativeUriForPath($path); } /** * Generates the normalized query string for the Request. - * + * * It builds a normalized query string, where keys/value pairs are alphabetized * and have consistent escaping. * - * @return string|null A normalized query string for the Request - * @static + * @static */ public static function getQueryString() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getQueryString(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getQueryString(); } /** * Checks whether the request is secure or not. - * + * * This method can read the client protocol from the "X-Forwarded-Proto" header * when trusted proxies were set via "setTrustedProxies()". - * + * * The "X-Forwarded-Proto" header must contain the protocol: "https" or "http". * - * If your reverse proxy uses a different header name than "X-Forwarded-Proto" - * ("SSL_HTTPS" for instance), configure it via "setTrustedHeaderName()" with - * the "client-proto" key. - * - * @return bool - * @static + * @static */ public static function isSecure() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isSecure(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->isSecure(); } /** * Returns the host name. - * + * * This method can read the client host name from the "X-Forwarded-Host" header * when trusted proxies were set via "setTrustedProxies()". - * + * * The "X-Forwarded-Host" header must contain the client host name. * - * If your reverse proxy uses a different header name than "X-Forwarded-Host", - * configure it via "setTrustedHeaderName()" with the "client-host" key. - * - * @return string - * @throws \UnexpectedValueException when the host name is invalid - * @static + * @throws SuspiciousOperationException when the host name is invalid or not trusted + * @static */ public static function getHost() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getHost(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getHost(); } /** * Sets the request method. * - * @param string $method - * @static + * @static */ public static function setMethod($method) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setMethod($method); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->setMethod($method); } /** * Gets the request "intended" method. - * + * * If the X-HTTP-Method-Override header is set, and if the method is a POST, * then it is used to determine the "real" intended HTTP method. - * + * * The _method request parameter can also be used to determine the HTTP method, * but only if enableHttpMethodParameterOverride() has been called. - * + * * The method is always an uppercased string. * - * @return string The request method * @see getRealMethod() - * @static + * @static */ public static function getMethod() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getMethod(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getMethod(); } /** * Gets the "real" request method. * - * @return string The request method * @see getMethod() - * @static + * @static */ public static function getRealMethod() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getRealMethod(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getRealMethod(); } /** * Gets the mime type associated with the format. * - * @param string $format The format - * @return string The associated mime type (null if not found) - * @static + * @static */ public static function getMimeType($format) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getMimeType($format); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getMimeType($format); } /** * Gets the mime types associated with the format. * - * @param string $format The format - * @return array The associated mime types - * @static + * @return string[] + * @static */ public static function getMimeTypes($format) { - //Method inherited from \Symfony\Component\HttpFoundation\Request + //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::getMimeTypes($format); } /** * Gets the format associated with the mime type. * - * @param string $mimeType The associated mime type - * @return string|null The format (null if not found) - * @static + * @static */ public static function getFormat($mimeType) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getFormat($mimeType); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getFormat($mimeType); } /** * Associates a format with mime types. * - * @param string $format The format - * @param string|array $mimeTypes The associated mime types (the preferred one must be the first as it will be used as the content type) - * @static + * @param string|string[] $mimeTypes The associated mime types (the preferred one must be the first as it will be used as the content type) + * @static */ public static function setFormat($format, $mimeTypes) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setFormat($format, $mimeTypes); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->setFormat($format, $mimeTypes); } /** * Gets the request format. - * + * * Here is the process to determine the format: - * + * * * format defined by the user (with setRequestFormat()) * * _format request attribute * * $default * - * @param string $default The default format - * @return string The request format - * @static + * @see getPreferredFormat + * @static */ public static function getRequestFormat($default = 'html') { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getRequestFormat($default); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getRequestFormat($default); } /** * Sets the request format. * - * @param string $format The request format - * @static + * @static */ public static function setRequestFormat($format) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setRequestFormat($format); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->setRequestFormat($format); } /** - * Gets the format associated with the request. + * Gets the usual name of the format associated with the request's media type (provided in the Content-Type header). * - * @return string|null The format (null if no content type is present) - * @static + * @see Request::$formats + * @static */ - public static function getContentType() + public static function getContentTypeFormat() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getContentType(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getContentTypeFormat(); } /** * Sets the default locale. * - * @param string $locale - * @static + * @static */ public static function setDefaultLocale($locale) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setDefaultLocale($locale); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->setDefaultLocale($locale); } /** * Get the default locale. * - * @return string - * @static + * @static */ public static function getDefaultLocale() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getDefaultLocale(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getDefaultLocale(); } /** * Sets the locale. * - * @param string $locale - * @static + * @static */ public static function setLocale($locale) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::setLocale($locale); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->setLocale($locale); } /** * Get the locale. * - * @return string - * @static + * @static */ public static function getLocale() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getLocale(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getLocale(); } /** * Checks if the request method is of specified type. * * @param string $method Uppercase request method (GET, POST etc) - * @return bool - * @static + * @static */ public static function isMethod($method) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isMethod($method); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->isMethod($method); } /** * Checks whether or not the method is safe. * * @see https://tools.ietf.org/html/rfc7231#section-4.2.1 - * @param bool $andCacheable Adds the additional condition that the method should be cacheable. True by default. - * @return bool - * @static + * @static */ public static function isMethodSafe() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isMethodSafe(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->isMethodSafe(); } /** * Checks whether or not the method is idempotent. * - * @return bool - * @static + * @static */ public static function isMethodIdempotent() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isMethodIdempotent(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->isMethodIdempotent(); } /** * Checks whether the method is cacheable or not. * * @see https://tools.ietf.org/html/rfc7231#section-4.2.3 - * @return bool - * @static + * @static */ public static function isMethodCacheable() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isMethodCacheable(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->isMethodCacheable(); + } + + /** + * Returns the protocol version. + * + * If the application is behind a proxy, the protocol version used in the + * requests between the client and the proxy and between the proxy and the + * server might be different. This returns the former (from the "Via" header) + * if the proxy is trusted (see "setTrustedProxies()"), otherwise it returns + * the latter (from the "SERVER_PROTOCOL" server parameter). + * + * @static + */ + public static function getProtocolVersion() + { + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getProtocolVersion(); } /** * Returns the request body content. * * @param bool $asResource If true, a resource will be returned - * @return string|resource The request body content or a resource to read the body stream - * @throws \LogicException - * @static + * @return string|resource + * @psalm-return ($asResource is true ? resource : string) + * @static */ public static function getContent($asResource = false) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getContent($asResource); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getContent($asResource); + } + + /** + * Gets the decoded form or json request body. + * + * @throws JsonException When the body cannot be decoded to an array + * @static + */ + public static function getPayload() + { + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getPayload(); } /** * Gets the Etags. * - * @return array The entity tags - * @static + * @static */ public static function getETags() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getETags(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getETags(); } /** + * * - * - * @return bool - * @static + * @static */ public static function isNoCache() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isNoCache(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->isNoCache(); + } + + /** + * Gets the preferred format for the response by inspecting, in the following order: + * * the request format set using setRequestFormat; + * * the values of the Accept HTTP header. + * + * Note that if you use this method, you should send the "Vary: Accept" header + * in the response to prevent any issues with intermediary HTTP caches. + * + * @static + */ + public static function getPreferredFormat($default = 'html') + { + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getPreferredFormat($default); } /** * Returns the preferred language. * - * @param array $locales An array of ordered available locales - * @return string|null The preferred locale - * @static + * @param string[] $locales An array of ordered available locales + * @static */ public static function getPreferredLanguage($locales = null) { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getPreferredLanguage($locales); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getPreferredLanguage($locales); } /** - * Gets a list of languages acceptable by the client browser. + * Gets a list of languages acceptable by the client browser ordered in the user browser preferences. * - * @return array Languages ordered in the user browser preferences - * @static + * @return string[] + * @static */ public static function getLanguages() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getLanguages(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getLanguages(); } /** - * Gets a list of charsets acceptable by the client browser. + * Gets a list of charsets acceptable by the client browser in preferable order. * - * @return array List of charsets in preferable order - * @static + * @return string[] + * @static */ public static function getCharsets() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getCharsets(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getCharsets(); } /** - * Gets a list of encodings acceptable by the client browser. + * Gets a list of encodings acceptable by the client browser in preferable order. * - * @return array List of encodings in preferable order - * @static + * @return string[] + * @static */ public static function getEncodings() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getEncodings(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getEncodings(); } /** - * Gets a list of content types acceptable by the client browser. + * Gets a list of content types acceptable by the client browser in preferable order. * - * @return array List of content types in preferable order - * @static + * @return string[] + * @static */ public static function getAcceptableContentTypes() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getAcceptableContentTypes(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->getAcceptableContentTypes(); } /** - * Returns true if the request is a XMLHttpRequest. - * + * Returns true if the request is an XMLHttpRequest. + * * It works if your JavaScript library sets an X-Requested-With HTTP header. * It is known to work with common JavaScript frameworks: * - * @see http://en.wikipedia.org/wiki/List_of_Ajax_frameworks#JavaScript - * @return bool true if the request is an XMLHttpRequest, false otherwise - * @static + * @see https://wikipedia.org/wiki/List_of_Ajax_frameworks#JavaScript + * @static */ public static function isXmlHttpRequest() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isXmlHttpRequest(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->isXmlHttpRequest(); + } + + /** + * Checks whether the client browser prefers safe content or not according to RFC8674. + * + * @see https://tools.ietf.org/html/rfc8674 + * @static + */ + public static function preferSafeContent() + { + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->preferSafeContent(); } /** * Indicates whether this request originated from a trusted proxy. - * + * * This can be useful to determine whether or not to trust the * contents of a proxy-specific header. * - * @return bool true if the request came from a trusted proxy, false otherwise - * @static + * @static */ public static function isFromTrustedProxy() { - //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::isFromTrustedProxy(); + //Method inherited from \Symfony\Component\HttpFoundation\Request + /** @var \Illuminate\Http\Request $instance */ + return $instance->isFromTrustedProxy(); + } + + /** + * Filter the given array of rules into an array of rules that are included in precognitive headers. + * + * @param array $rules + * @return array + * @static + */ + public static function filterPrecognitiveRules($rules) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->filterPrecognitiveRules($rules); + } + + /** + * Determine if the request is attempting to be precognitive. + * + * @return bool + * @static + */ + public static function isAttemptingPrecognition() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->isAttemptingPrecognition(); + } + + /** + * Determine if the request is precognitive. + * + * @return bool + * @static + */ + public static function isPrecognitive() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->isPrecognitive(); + } + + /** + * Determine if the request is sending JSON. + * + * @return bool + * @static + */ + public static function isJson() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->isJson(); + } + + /** + * Determine if the current request probably expects a JSON response. + * + * @return bool + * @static + */ + public static function expectsJson() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->expectsJson(); + } + + /** + * Determine if the current request is asking for JSON. + * + * @return bool + * @static + */ + public static function wantsJson() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->wantsJson(); + } + + /** + * Determines whether the current requests accepts a given content type. + * + * @param string|array $contentTypes + * @return bool + * @static + */ + public static function accepts($contentTypes) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->accepts($contentTypes); + } + + /** + * Return the most suitable content type from the given array based on content negotiation. + * + * @param string|array $contentTypes + * @return string|null + * @static + */ + public static function prefers($contentTypes) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->prefers($contentTypes); + } + + /** + * Determine if the current request accepts any content type. + * + * @return bool + * @static + */ + public static function acceptsAnyContentType() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->acceptsAnyContentType(); + } + + /** + * Determines whether a request accepts JSON. + * + * @return bool + * @static + */ + public static function acceptsJson() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->acceptsJson(); + } + + /** + * Determines whether a request accepts HTML. + * + * @return bool + * @static + */ + public static function acceptsHtml() + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->acceptsHtml(); } /** @@ -9463,487 +14940,841 @@ namespace { * * @param string $actual * @param string $type - * @return bool - * @static + * @return bool + * @static */ public static function matchesType($actual, $type) { return \Illuminate\Http\Request::matchesType($actual, $type); } - /** - * Determine if the request is sending JSON. - * - * @return bool - * @static - */ - public static function isJson() - { - return \Illuminate\Http\Request::isJson(); - } - - /** - * Determine if the current request probably expects a JSON response. - * - * @return bool - * @static - */ - public static function expectsJson() - { - return \Illuminate\Http\Request::expectsJson(); - } - - /** - * Determine if the current request is asking for JSON in return. - * - * @return bool - * @static - */ - public static function wantsJson() - { - return \Illuminate\Http\Request::wantsJson(); - } - - /** - * Determines whether the current requests accepts a given content type. - * - * @param string|array $contentTypes - * @return bool - * @static - */ - public static function accepts($contentTypes) - { - return \Illuminate\Http\Request::accepts($contentTypes); - } - - /** - * Return the most suitable content type from the given array based on content negotiation. - * - * @param string|array $contentTypes - * @return string|null - * @static - */ - public static function prefers($contentTypes) - { - return \Illuminate\Http\Request::prefers($contentTypes); - } - - /** - * Determines whether a request accepts JSON. - * - * @return bool - * @static - */ - public static function acceptsJson() - { - return \Illuminate\Http\Request::acceptsJson(); - } - - /** - * Determines whether a request accepts HTML. - * - * @return bool - * @static - */ - public static function acceptsHtml() - { - return \Illuminate\Http\Request::acceptsHtml(); - } - /** * Get the data format expected in the response. * * @param string $default - * @return string - * @static + * @return string + * @static */ public static function format($default = 'html') { - return \Illuminate\Http\Request::format($default); + /** @var \Illuminate\Http\Request $instance */ + return $instance->format($default); } /** * Retrieve an old input item. * - * @param string $key - * @param string|array|null $default - * @return string|array - * @static + * @param string|null $key + * @param \Illuminate\Database\Eloquent\Model|string|array|null $default + * @return string|array|null + * @static */ public static function old($key = null, $default = null) { - return \Illuminate\Http\Request::old($key, $default); + /** @var \Illuminate\Http\Request $instance */ + return $instance->old($key, $default); } /** * Flash the input for the current request to the session. * - * @return void - * @static + * @return void + * @static */ public static function flash() { - \Illuminate\Http\Request::flash(); + /** @var \Illuminate\Http\Request $instance */ + $instance->flash(); } /** * Flash only some of the input to the session. * * @param array|mixed $keys - * @return void - * @static + * @return void + * @static */ public static function flashOnly($keys) { - \Illuminate\Http\Request::flashOnly($keys); + /** @var \Illuminate\Http\Request $instance */ + $instance->flashOnly($keys); } /** * Flash only some of the input to the session. * * @param array|mixed $keys - * @return void - * @static + * @return void + * @static */ public static function flashExcept($keys) { - \Illuminate\Http\Request::flashExcept($keys); + /** @var \Illuminate\Http\Request $instance */ + $instance->flashExcept($keys); } /** * Flush all of the old input from the session. * - * @return void - * @static + * @return void + * @static */ public static function flush() { - \Illuminate\Http\Request::flush(); + /** @var \Illuminate\Http\Request $instance */ + $instance->flush(); } /** * Retrieve a server variable from the request. * - * @param string $key + * @param string|null $key * @param string|array|null $default - * @return string|array - * @static + * @return string|array|null + * @static */ public static function server($key = null, $default = null) { - return \Illuminate\Http\Request::server($key, $default); + /** @var \Illuminate\Http\Request $instance */ + return $instance->server($key, $default); } /** * Determine if a header is set on the request. * * @param string $key - * @return bool - * @static + * @return bool + * @static */ public static function hasHeader($key) { - return \Illuminate\Http\Request::hasHeader($key); + /** @var \Illuminate\Http\Request $instance */ + return $instance->hasHeader($key); } /** * Retrieve a header from the request. * - * @param string $key + * @param string|null $key * @param string|array|null $default - * @return string|array - * @static + * @return string|array|null + * @static */ public static function header($key = null, $default = null) { - return \Illuminate\Http\Request::header($key, $default); + /** @var \Illuminate\Http\Request $instance */ + return $instance->header($key, $default); } /** * Get the bearer token from the request headers. * - * @return string|null - * @static + * @return string|null + * @static */ public static function bearerToken() { - return \Illuminate\Http\Request::bearerToken(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->bearerToken(); } /** - * Determine if the request contains a given input item key. + * Get the keys for all of the input and files. * - * @param string|array $key - * @return bool - * @static + * @return array + * @static */ - public static function exists($key) + public static function keys() { - return \Illuminate\Http\Request::exists($key); - } - - /** - * Determine if the request contains a non-empty value for an input item. - * - * @param string|array $key - * @return bool - * @static - */ - public static function has($key) - { - return \Illuminate\Http\Request::has($key); + /** @var \Illuminate\Http\Request $instance */ + return $instance->keys(); } /** * Get all of the input and files for the request. * - * @return array - * @static + * @param array|mixed|null $keys + * @return array + * @static */ - public static function all() + public static function all($keys = null) { - return \Illuminate\Http\Request::all(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->all($keys); } /** * Retrieve an input item from the request. * - * @param string $key - * @param string|array|null $default - * @return string|array - * @static + * @param string|null $key + * @param mixed $default + * @return mixed + * @static */ public static function input($key = null, $default = null) { - return \Illuminate\Http\Request::input($key, $default); + /** @var \Illuminate\Http\Request $instance */ + return $instance->input($key, $default); } /** - * Get a subset containing the provided keys with values from the input data. + * Retrieve input from the request as a Fluent object instance. * - * @param array|mixed $keys - * @return array - * @static + * @param array|string|null $key + * @return \Illuminate\Support\Fluent + * @static */ - public static function only($keys) + public static function fluent($key = null) { - return \Illuminate\Http\Request::only($keys); - } - - /** - * Get all of the input except for a specified array of items. - * - * @param array|mixed $keys - * @return array - * @static - */ - public static function except($keys) - { - return \Illuminate\Http\Request::except($keys); - } - - /** - * Intersect an array of items with the input data. - * - * @param array|mixed $keys - * @return array - * @static - */ - public static function intersect($keys) - { - return \Illuminate\Http\Request::intersect($keys); + /** @var \Illuminate\Http\Request $instance */ + return $instance->fluent($key); } /** * Retrieve a query string item from the request. * - * @param string $key + * @param string|null $key * @param string|array|null $default - * @return string|array - * @static + * @return string|array|null + * @static */ public static function query($key = null, $default = null) { - return \Illuminate\Http\Request::query($key, $default); + /** @var \Illuminate\Http\Request $instance */ + return $instance->query($key, $default); + } + + /** + * Retrieve a request payload item from the request. + * + * @param string|null $key + * @param string|array|null $default + * @return string|array|null + * @static + */ + public static function post($key = null, $default = null) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->post($key, $default); } /** * Determine if a cookie is set on the request. * * @param string $key - * @return bool - * @static + * @return bool + * @static */ public static function hasCookie($key) { - return \Illuminate\Http\Request::hasCookie($key); + /** @var \Illuminate\Http\Request $instance */ + return $instance->hasCookie($key); } /** * Retrieve a cookie from the request. * - * @param string $key + * @param string|null $key * @param string|array|null $default - * @return string|array - * @static + * @return string|array|null + * @static */ public static function cookie($key = null, $default = null) { - return \Illuminate\Http\Request::cookie($key, $default); + /** @var \Illuminate\Http\Request $instance */ + return $instance->cookie($key, $default); } /** * Get an array of all of the files on the request. * - * @return array - * @static + * @return array + * @static */ public static function allFiles() { - return \Illuminate\Http\Request::allFiles(); + /** @var \Illuminate\Http\Request $instance */ + return $instance->allFiles(); } /** * Determine if the uploaded data contains a file. * * @param string $key - * @return bool - * @static + * @return bool + * @static */ public static function hasFile($key) { - return \Illuminate\Http\Request::hasFile($key); + /** @var \Illuminate\Http\Request $instance */ + return $instance->hasFile($key); } /** * Retrieve a file from the request. * - * @param string $key + * @param string|null $key * @param mixed $default - * @return \Illuminate\Http\UploadedFile|array|null - * @static + * @return \Illuminate\Http\UploadedFile|\Illuminate\Http\UploadedFile[]|array|null + * @static */ public static function file($key = null, $default = null) { - return \Illuminate\Http\Request::file($key, $default); + /** @var \Illuminate\Http\Request $instance */ + return $instance->file($key, $default); + } + + /** + * Dump the items. + * + * @param mixed $keys + * @return \Illuminate\Http\Request + * @static + */ + public static function dump($keys = []) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->dump($keys); + } + + /** + * Dump the given arguments and terminate execution. + * + * @param mixed $args + * @return never + * @static + */ + public static function dd(...$args) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->dd(...$args); + } + + /** + * Determine if the data contains a given key. + * + * @param string|array $key + * @return bool + * @static + */ + public static function exists($key) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->exists($key); + } + + /** + * Determine if the data contains a given key. + * + * @param string|array $key + * @return bool + * @static + */ + public static function has($key) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->has($key); + } + + /** + * Determine if the instance contains any of the given keys. + * + * @param string|array $keys + * @return bool + * @static + */ + public static function hasAny($keys) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->hasAny($keys); + } + + /** + * Apply the callback if the instance contains the given key. + * + * @param string $key + * @param callable $callback + * @param callable|null $default + * @return $this|mixed + * @static + */ + public static function whenHas($key, $callback, $default = null) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->whenHas($key, $callback, $default); + } + + /** + * Determine if the instance contains a non-empty value for the given key. + * + * @param string|array $key + * @return bool + * @static + */ + public static function filled($key) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->filled($key); + } + + /** + * Determine if the instance contains an empty value for the given key. + * + * @param string|array $key + * @return bool + * @static + */ + public static function isNotFilled($key) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->isNotFilled($key); + } + + /** + * Determine if the instance contains a non-empty value for any of the given keys. + * + * @param string|array $keys + * @return bool + * @static + */ + public static function anyFilled($keys) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->anyFilled($keys); + } + + /** + * Apply the callback if the instance contains a non-empty value for the given key. + * + * @param string $key + * @param callable $callback + * @param callable|null $default + * @return $this|mixed + * @static + */ + public static function whenFilled($key, $callback, $default = null) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->whenFilled($key, $callback, $default); + } + + /** + * Determine if the instance is missing a given key. + * + * @param string|array $key + * @return bool + * @static + */ + public static function missing($key) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->missing($key); + } + + /** + * Apply the callback if the instance is missing the given key. + * + * @param string $key + * @param callable $callback + * @param callable|null $default + * @return $this|mixed + * @static + */ + public static function whenMissing($key, $callback, $default = null) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->whenMissing($key, $callback, $default); + } + + /** + * Retrieve data from the instnce as a Stringable instance. + * + * @param string $key + * @param mixed $default + * @return \Illuminate\Support\Stringable + * @static + */ + public static function str($key, $default = null) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->str($key, $default); + } + + /** + * Retrieve data from the instance as a Stringable instance. + * + * @param string $key + * @param mixed $default + * @return \Illuminate\Support\Stringable + * @static + */ + public static function string($key, $default = null) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->string($key, $default); + } + + /** + * Retrieve data as a boolean value. + * + * Returns true when value is "1", "true", "on", and "yes". Otherwise, returns false. + * + * @param string|null $key + * @param bool $default + * @return bool + * @static + */ + public static function boolean($key = null, $default = false) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->boolean($key, $default); + } + + /** + * Retrieve data as an integer value. + * + * @param string $key + * @param int $default + * @return int + * @static + */ + public static function integer($key, $default = 0) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->integer($key, $default); + } + + /** + * Retrieve data as a float value. + * + * @param string $key + * @param float $default + * @return float + * @static + */ + public static function float($key, $default = 0.0) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->float($key, $default); + } + + /** + * Retrieve data from the instance as a Carbon instance. + * + * @param string $key + * @param string|null $format + * @param string|null $tz + * @return \Illuminate\Support\Carbon|null + * @throws \Carbon\Exceptions\InvalidFormatException + * @static + */ + public static function date($key, $format = null, $tz = null) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->date($key, $format, $tz); + } + + /** + * Retrieve data from the instance as an enum. + * + * @template TEnum of \BackedEnum + * @param string $key + * @param class-string $enumClass + * @return TEnum|null + * @static + */ + public static function enum($key, $enumClass) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->enum($key, $enumClass); + } + + /** + * Retrieve data from the instance as an array of enums. + * + * @template TEnum of \BackedEnum + * @param string $key + * @param class-string $enumClass + * @return TEnum[] + * @static + */ + public static function enums($key, $enumClass) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->enums($key, $enumClass); + } + + /** + * Retrieve data from the instance as a collection. + * + * @param array|string|null $key + * @return \Illuminate\Support\Collection + * @static + */ + public static function collect($key = null) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->collect($key); + } + + /** + * Get a subset containing the provided keys with values from the instance data. + * + * @param array|mixed $keys + * @return array + * @static + */ + public static function only($keys) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->only($keys); + } + + /** + * Get all of the data except for a specified array of items. + * + * @param array|mixed $keys + * @return array + * @static + */ + public static function except($keys) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->except($keys); + } + + /** + * Apply the callback if the given "value" is (or resolves to) truthy. + * + * @template TWhenParameter + * @template TWhenReturnType + * @param (\Closure($this): TWhenParameter)|TWhenParameter|null $value + * @param (callable($this, TWhenParameter): TWhenReturnType)|null $callback + * @param (callable($this, TWhenParameter): TWhenReturnType)|null $default + * @return $this|TWhenReturnType + * @static + */ + public static function when($value = null, $callback = null, $default = null) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->when($value, $callback, $default); + } + + /** + * Apply the callback if the given "value" is (or resolves to) falsy. + * + * @template TUnlessParameter + * @template TUnlessReturnType + * @param (\Closure($this): TUnlessParameter)|TUnlessParameter|null $value + * @param (callable($this, TUnlessParameter): TUnlessReturnType)|null $callback + * @param (callable($this, TUnlessParameter): TUnlessReturnType)|null $default + * @return $this|TUnlessReturnType + * @static + */ + public static function unless($value = null, $callback = null, $default = null) + { + /** @var \Illuminate\Http\Request $instance */ + return $instance->unless($value, $callback, $default); } /** * Register a custom macro. * * @param string $name - * @param callable $macro - * @return void - * @static + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static */ public static function macro($name, $macro) { \Illuminate\Http\Request::macro($name, $macro); } + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Http\Request::mixin($mixin, $replace); + } + /** * Checks if macro is registered. * * @param string $name - * @return bool - * @static + * @return bool + * @static */ public static function hasMacro($name) { return \Illuminate\Http\Request::hasMacro($name); } - } - - class Response extends \Illuminate\Support\Facades\Response - { /** - * Return a new response from the application. + * Flush the existing macros. * - * @param string $content + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Http\Request::flushMacros(); + } + + } + /** + * + * + * @see \Illuminate\Routing\ResponseFactory + */ + class Response { + /** + * Create a new response instance. + * + * @param mixed $content * @param int $status * @param array $headers - * @return \Illuminate\Http\Response - * @static + * @return \Illuminate\Http\Response + * @static */ public static function make($content = '', $status = 200, $headers = []) { - return \Illuminate\Routing\ResponseFactory::make($content, $status, $headers); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->make($content, $status, $headers); } /** - * Return a new view response from the application. + * Create a new "no content" response. * - * @param string $view + * @param int $status + * @param array $headers + * @return \Illuminate\Http\Response + * @static + */ + public static function noContent($status = 204, $headers = []) + { + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->noContent($status, $headers); + } + + /** + * Create a new response for a given view. + * + * @param string|array $view * @param array $data * @param int $status * @param array $headers - * @return \Illuminate\Http\Response - * @static + * @return \Illuminate\Http\Response + * @static */ public static function view($view, $data = [], $status = 200, $headers = []) { - return \Illuminate\Routing\ResponseFactory::view($view, $data, $status, $headers); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->view($view, $data, $status, $headers); } /** - * Return a new JSON response from the application. + * Create a new JSON response instance. * * @param mixed $data * @param int $status * @param array $headers * @param int $options - * @return \Illuminate\Http\JsonResponse - * @static + * @return \Illuminate\Http\JsonResponse + * @static */ public static function json($data = [], $status = 200, $headers = [], $options = 0) { - return \Illuminate\Routing\ResponseFactory::json($data, $status, $headers, $options); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->json($data, $status, $headers, $options); } /** - * Return a new JSONP response from the application. + * Create a new JSONP response instance. * * @param string $callback * @param mixed $data * @param int $status * @param array $headers * @param int $options - * @return \Illuminate\Http\JsonResponse - * @static + * @return \Illuminate\Http\JsonResponse + * @static */ public static function jsonp($callback, $data = [], $status = 200, $headers = [], $options = 0) { - return \Illuminate\Routing\ResponseFactory::jsonp($callback, $data, $status, $headers, $options); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->jsonp($callback, $data, $status, $headers, $options); } /** - * Return a new streamed response from the application. + * Create a new streamed response instance. * - * @param \Closure $callback + * @param callable $callback * @param int $status * @param array $headers - * @return \Symfony\Component\HttpFoundation\StreamedResponse - * @static + * @return \Symfony\Component\HttpFoundation\StreamedResponse + * @static */ public static function stream($callback, $status = 200, $headers = []) { - return \Illuminate\Routing\ResponseFactory::stream($callback, $status, $headers); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->stream($callback, $status, $headers); + } + + /** + * Create a new streamed response instance. + * + * @param array $data + * @param int $status + * @param array $headers + * @param int $encodingOptions + * @return \Symfony\Component\HttpFoundation\StreamedJsonResponse + * @static + */ + public static function streamJson($data, $status = 200, $headers = [], $encodingOptions = 15) + { + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->streamJson($data, $status, $headers, $encodingOptions); + } + + /** + * Create a new streamed response instance as a file download. + * + * @param callable $callback + * @param string|null $name + * @param array $headers + * @param string|null $disposition + * @return \Symfony\Component\HttpFoundation\StreamedResponse + * @throws \Illuminate\Routing\Exceptions\StreamedResponseException + * @static + */ + public static function streamDownload($callback, $name = null, $headers = [], $disposition = 'attachment') + { + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->streamDownload($callback, $name, $headers, $disposition); } /** * Create a new file download response. * * @param \SplFileInfo|string $file - * @param string $name + * @param string|null $name * @param array $headers * @param string|null $disposition - * @return \Symfony\Component\HttpFoundation\BinaryFileResponse - * @static + * @return \Symfony\Component\HttpFoundation\BinaryFileResponse + * @static */ public static function download($file, $name = null, $headers = [], $disposition = 'attachment') { - return \Illuminate\Routing\ResponseFactory::download($file, $name, $headers, $disposition); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->download($file, $name, $headers, $disposition); } /** @@ -9951,12 +15782,13 @@ namespace { * * @param \SplFileInfo|string $file * @param array $headers - * @return \Symfony\Component\HttpFoundation\BinaryFileResponse - * @static + * @return \Symfony\Component\HttpFoundation\BinaryFileResponse + * @static */ public static function file($file, $headers = []) { - return \Illuminate\Routing\ResponseFactory::file($file, $headers); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->file($file, $headers); } /** @@ -9966,42 +15798,45 @@ namespace { * @param int $status * @param array $headers * @param bool|null $secure - * @return \Illuminate\Http\RedirectResponse - * @static + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function redirectTo($path, $status = 302, $headers = [], $secure = null) { - return \Illuminate\Routing\ResponseFactory::redirectTo($path, $status, $headers, $secure); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->redirectTo($path, $status, $headers, $secure); } /** * Create a new redirect response to a named route. * - * @param string $route - * @param array $parameters + * @param \BackedEnum|string $route + * @param mixed $parameters * @param int $status * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function redirectToRoute($route, $parameters = [], $status = 302, $headers = []) { - return \Illuminate\Routing\ResponseFactory::redirectToRoute($route, $parameters, $status, $headers); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->redirectToRoute($route, $parameters, $status, $headers); } /** * Create a new redirect response to a controller action. * - * @param string $action - * @param array $parameters + * @param array|string $action + * @param mixed $parameters * @param int $status * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function redirectToAction($action, $parameters = [], $status = 302, $headers = []) { - return \Illuminate\Routing\ResponseFactory::redirectToAction($action, $parameters, $status, $headers); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->redirectToAction($action, $parameters, $status, $headers); } /** @@ -10011,12 +15846,13 @@ namespace { * @param int $status * @param array $headers * @param bool|null $secure - * @return \Illuminate\Http\RedirectResponse - * @static + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function redirectGuest($path, $status = 302, $headers = [], $secure = null) { - return \Illuminate\Routing\ResponseFactory::redirectGuest($path, $status, $headers, $secure); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->redirectGuest($path, $status, $headers, $secure); } /** @@ -10026,132 +15862,247 @@ namespace { * @param int $status * @param array $headers * @param bool|null $secure - * @return \Illuminate\Http\RedirectResponse - * @static + * @return \Illuminate\Http\RedirectResponse + * @static */ public static function redirectToIntended($default = '/', $status = 302, $headers = [], $secure = null) { - return \Illuminate\Routing\ResponseFactory::redirectToIntended($default, $status, $headers, $secure); + /** @var \Illuminate\Routing\ResponseFactory $instance */ + return $instance->redirectToIntended($default, $status, $headers, $secure); } /** * Register a custom macro. * * @param string $name - * @param callable $macro - * @return void - * @static + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static */ public static function macro($name, $macro) { \Illuminate\Routing\ResponseFactory::macro($name, $macro); } + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Routing\ResponseFactory::mixin($mixin, $replace); + } + /** * Checks if macro is registered. * * @param string $name - * @return bool - * @static + * @return bool + * @static */ public static function hasMacro($name) { return \Illuminate\Routing\ResponseFactory::hasMacro($name); } - } + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Routing\ResponseFactory::flushMacros(); + } - class Route extends \Illuminate\Support\Facades\Route - { + } + /** + * + * + * @method static \Illuminate\Routing\RouteRegistrar attribute(string $key, mixed $value) + * @method static \Illuminate\Routing\RouteRegistrar whereAlpha(array|string $parameters) + * @method static \Illuminate\Routing\RouteRegistrar whereAlphaNumeric(array|string $parameters) + * @method static \Illuminate\Routing\RouteRegistrar whereNumber(array|string $parameters) + * @method static \Illuminate\Routing\RouteRegistrar whereUlid(array|string $parameters) + * @method static \Illuminate\Routing\RouteRegistrar whereUuid(array|string $parameters) + * @method static \Illuminate\Routing\RouteRegistrar whereIn(array|string $parameters, array $values) + * @method static \Illuminate\Routing\RouteRegistrar as(string $value) + * @method static \Illuminate\Routing\RouteRegistrar controller(string $controller) + * @method static \Illuminate\Routing\RouteRegistrar domain(\BackedEnum|string $value) + * @method static \Illuminate\Routing\RouteRegistrar middleware(array|string|null $middleware) + * @method static \Illuminate\Routing\RouteRegistrar missing(\Closure $missing) + * @method static \Illuminate\Routing\RouteRegistrar name(\BackedEnum|string $value) + * @method static \Illuminate\Routing\RouteRegistrar namespace(string|null $value) + * @method static \Illuminate\Routing\RouteRegistrar prefix(string $prefix) + * @method static \Illuminate\Routing\RouteRegistrar scopeBindings() + * @method static \Illuminate\Routing\RouteRegistrar where(array $where) + * @method static \Illuminate\Routing\RouteRegistrar withoutMiddleware(array|string $middleware) + * @method static \Illuminate\Routing\RouteRegistrar withoutScopedBindings() + * @see \Illuminate\Routing\Router + */ + class Route { /** * Register a new GET route with the router. * * @param string $uri - * @param \Closure|array|string|null $action - * @return \Illuminate\Routing\Route - * @static + * @param array|string|callable|null $action + * @return \Illuminate\Routing\Route + * @static */ public static function get($uri, $action = null) { - return \Illuminate\Routing\Router::get($uri, $action); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->get($uri, $action); } /** * Register a new POST route with the router. * * @param string $uri - * @param \Closure|array|string|null $action - * @return \Illuminate\Routing\Route - * @static + * @param array|string|callable|null $action + * @return \Illuminate\Routing\Route + * @static */ public static function post($uri, $action = null) { - return \Illuminate\Routing\Router::post($uri, $action); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->post($uri, $action); } /** * Register a new PUT route with the router. * * @param string $uri - * @param \Closure|array|string|null $action - * @return \Illuminate\Routing\Route - * @static + * @param array|string|callable|null $action + * @return \Illuminate\Routing\Route + * @static */ public static function put($uri, $action = null) { - return \Illuminate\Routing\Router::put($uri, $action); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->put($uri, $action); } /** * Register a new PATCH route with the router. * * @param string $uri - * @param \Closure|array|string|null $action - * @return \Illuminate\Routing\Route - * @static + * @param array|string|callable|null $action + * @return \Illuminate\Routing\Route + * @static */ public static function patch($uri, $action = null) { - return \Illuminate\Routing\Router::patch($uri, $action); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->patch($uri, $action); } /** * Register a new DELETE route with the router. * * @param string $uri - * @param \Closure|array|string|null $action - * @return \Illuminate\Routing\Route - * @static + * @param array|string|callable|null $action + * @return \Illuminate\Routing\Route + * @static */ public static function delete($uri, $action = null) { - return \Illuminate\Routing\Router::delete($uri, $action); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->delete($uri, $action); } /** * Register a new OPTIONS route with the router. * * @param string $uri - * @param \Closure|array|string|null $action - * @return \Illuminate\Routing\Route - * @static + * @param array|string|callable|null $action + * @return \Illuminate\Routing\Route + * @static */ public static function options($uri, $action = null) { - return \Illuminate\Routing\Router::options($uri, $action); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->options($uri, $action); } /** * Register a new route responding to all verbs. * * @param string $uri - * @param \Closure|array|string|null $action - * @return \Illuminate\Routing\Route - * @static + * @param array|string|callable|null $action + * @return \Illuminate\Routing\Route + * @static */ public static function any($uri, $action = null) { - return \Illuminate\Routing\Router::any($uri, $action); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->any($uri, $action); + } + + /** + * Register a new fallback route with the router. + * + * @param array|string|callable|null $action + * @return \Illuminate\Routing\Route + * @static + */ + public static function fallback($action) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->fallback($action); + } + + /** + * Create a redirect from one URI to another. + * + * @param string $uri + * @param string $destination + * @param int $status + * @return \Illuminate\Routing\Route + * @static + */ + public static function redirect($uri, $destination, $status = 302) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->redirect($uri, $destination, $status); + } + + /** + * Create a permanent redirect from one URI to another. + * + * @param string $uri + * @param string $destination + * @return \Illuminate\Routing\Route + * @static + */ + public static function permanentRedirect($uri, $destination) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->permanentRedirect($uri, $destination); + } + + /** + * Register a new route that returns a view. + * + * @param string $uri + * @param string $view + * @param array $data + * @param int|array $status + * @param array $headers + * @return \Illuminate\Routing\Route + * @static + */ + public static function view($uri, $view, $data = [], $status = 200, $headers = []) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->view($uri, $view, $data, $status, $headers); } /** @@ -10159,25 +16110,28 @@ namespace { * * @param array|string $methods * @param string $uri - * @param \Closure|array|string|null $action - * @return \Illuminate\Routing\Route - * @static + * @param array|string|callable|null $action + * @return \Illuminate\Routing\Route + * @static */ public static function match($methods, $uri, $action = null) { - return \Illuminate\Routing\Router::match($methods, $uri, $action); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->match($methods, $uri, $action); } /** * Register an array of resource controllers. * * @param array $resources - * @return void - * @static + * @param array $options + * @return void + * @static */ - public static function resources($resources) + public static function resources($resources, $options = []) { - \Illuminate\Routing\Router::resources($resources); + /** @var \Illuminate\Routing\Router $instance */ + $instance->resources($resources, $options); } /** @@ -10186,84 +16140,236 @@ namespace { * @param string $name * @param string $controller * @param array $options - * @return void - * @static + * @return \Illuminate\Routing\PendingResourceRegistration + * @static */ public static function resource($name, $controller, $options = []) { - \Illuminate\Routing\Router::resource($name, $controller, $options); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->resource($name, $controller, $options); + } + + /** + * Register an array of API resource controllers. + * + * @param array $resources + * @param array $options + * @return void + * @static + */ + public static function apiResources($resources, $options = []) + { + /** @var \Illuminate\Routing\Router $instance */ + $instance->apiResources($resources, $options); + } + + /** + * Route an API resource to a controller. + * + * @param string $name + * @param string $controller + * @param array $options + * @return \Illuminate\Routing\PendingResourceRegistration + * @static + */ + public static function apiResource($name, $controller, $options = []) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->apiResource($name, $controller, $options); + } + + /** + * Register an array of singleton resource controllers. + * + * @param array $singletons + * @param array $options + * @return void + * @static + */ + public static function singletons($singletons, $options = []) + { + /** @var \Illuminate\Routing\Router $instance */ + $instance->singletons($singletons, $options); + } + + /** + * Route a singleton resource to a controller. + * + * @param string $name + * @param string $controller + * @param array $options + * @return \Illuminate\Routing\PendingSingletonResourceRegistration + * @static + */ + public static function singleton($name, $controller, $options = []) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->singleton($name, $controller, $options); + } + + /** + * Register an array of API singleton resource controllers. + * + * @param array $singletons + * @param array $options + * @return void + * @static + */ + public static function apiSingletons($singletons, $options = []) + { + /** @var \Illuminate\Routing\Router $instance */ + $instance->apiSingletons($singletons, $options); + } + + /** + * Route an API singleton resource to a controller. + * + * @param string $name + * @param string $controller + * @param array $options + * @return \Illuminate\Routing\PendingSingletonResourceRegistration + * @static + */ + public static function apiSingleton($name, $controller, $options = []) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->apiSingleton($name, $controller, $options); } /** * Create a route group with shared attributes. * * @param array $attributes - * @param \Closure|string $routes - * @return void - * @static + * @param \Closure|array|string $routes + * @return \Illuminate\Routing\Router + * @static */ public static function group($attributes, $routes) { - \Illuminate\Routing\Router::group($attributes, $routes); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->group($attributes, $routes); } /** * Merge the given array with the last group stack. * * @param array $new - * @return array - * @static + * @param bool $prependExistingPrefix + * @return array + * @static */ - public static function mergeWithLastGroup($new) + public static function mergeWithLastGroup($new, $prependExistingPrefix = true) { - return \Illuminate\Routing\Router::mergeWithLastGroup($new); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->mergeWithLastGroup($new, $prependExistingPrefix); } /** * Get the prefix from the last group on the stack. * - * @return string - * @static + * @return string + * @static */ public static function getLastGroupPrefix() { - return \Illuminate\Routing\Router::getLastGroupPrefix(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->getLastGroupPrefix(); + } + + /** + * Add a route to the underlying route collection. + * + * @param array|string $methods + * @param string $uri + * @param array|string|callable|null $action + * @return \Illuminate\Routing\Route + * @static + */ + public static function addRoute($methods, $uri, $action) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->addRoute($methods, $uri, $action); + } + + /** + * Create a new Route object. + * + * @param array|string $methods + * @param string $uri + * @param mixed $action + * @return \Illuminate\Routing\Route + * @static + */ + public static function newRoute($methods, $uri, $action) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->newRoute($methods, $uri, $action); + } + + /** + * Return the response returned by the given route. + * + * @param string $name + * @return \Symfony\Component\HttpFoundation\Response + * @static + */ + public static function respondWithRoute($name) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->respondWithRoute($name); } /** * Dispatch the request to the application. * * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - * @static + * @return \Symfony\Component\HttpFoundation\Response + * @static */ public static function dispatch($request) { - return \Illuminate\Routing\Router::dispatch($request); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->dispatch($request); } /** * Dispatch the request to a route and return the response. * * @param \Illuminate\Http\Request $request - * @return mixed - * @static + * @return \Symfony\Component\HttpFoundation\Response + * @static */ public static function dispatchToRoute($request) { - return \Illuminate\Routing\Router::dispatchToRoute($request); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->dispatchToRoute($request); } /** * Gather the middleware for the given route with resolved class names. * * @param \Illuminate\Routing\Route $route - * @return array - * @static + * @return array + * @static */ public static function gatherRouteMiddleware($route) { - return \Illuminate\Routing\Router::gatherRouteMiddleware($route); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->gatherRouteMiddleware($route); + } + + /** + * Resolve a flat array of middleware classes from the provided array. + * + * @param array $middleware + * @param array $excluded + * @return array + * @static + */ + public static function resolveMiddleware($middleware, $excluded = []) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->resolveMiddleware($middleware, $excluded); } /** @@ -10271,59 +16377,94 @@ namespace { * * @param \Symfony\Component\HttpFoundation\Request $request * @param mixed $response - * @return \Illuminate\Http\Response - * @static + * @return \Symfony\Component\HttpFoundation\Response + * @static */ public static function prepareResponse($request, $response) { - return \Illuminate\Routing\Router::prepareResponse($request, $response); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->prepareResponse($request, $response); + } + + /** + * Static version of prepareResponse. + * + * @param \Symfony\Component\HttpFoundation\Request $request + * @param mixed $response + * @return \Symfony\Component\HttpFoundation\Response + * @static + */ + public static function toResponse($request, $response) + { + return \Illuminate\Routing\Router::toResponse($request, $response); } /** * Substitute the route bindings onto the route. * * @param \Illuminate\Routing\Route $route - * @return \Illuminate\Routing\Route - * @static + * @return \Illuminate\Routing\Route + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException<\Illuminate\Database\Eloquent\Model> + * @throws \Illuminate\Routing\Exceptions\BackedEnumCaseNotFoundException + * @static */ public static function substituteBindings($route) { - return \Illuminate\Routing\Router::substituteBindings($route); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->substituteBindings($route); } /** - * Substitute the implicit Eloquent model bindings for the route. + * Substitute the implicit route bindings for the given route. * * @param \Illuminate\Routing\Route $route - * @return void - * @static + * @return void + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException<\Illuminate\Database\Eloquent\Model> + * @throws \Illuminate\Routing\Exceptions\BackedEnumCaseNotFoundException + * @static */ public static function substituteImplicitBindings($route) { - \Illuminate\Routing\Router::substituteImplicitBindings($route); + /** @var \Illuminate\Routing\Router $instance */ + $instance->substituteImplicitBindings($route); + } + + /** + * Register a callback to run after implicit bindings are substituted. + * + * @param callable $callback + * @return \Illuminate\Routing\Router + * @static + */ + public static function substituteImplicitBindingsUsing($callback) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->substituteImplicitBindingsUsing($callback); } /** * Register a route matched event listener. * * @param string|callable $callback - * @return void - * @static + * @return void + * @static */ public static function matched($callback) { - \Illuminate\Routing\Router::matched($callback); + /** @var \Illuminate\Routing\Router $instance */ + $instance->matched($callback); } /** * Get all of the defined middleware short-hand names. * - * @return array - * @static + * @return array + * @static */ public static function getMiddleware() { - return \Illuminate\Routing\Router::getMiddleware(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->getMiddleware(); } /** @@ -10331,35 +16472,38 @@ namespace { * * @param string $name * @param string $class - * @return $this - * @static + * @return \Illuminate\Routing\Router + * @static */ public static function aliasMiddleware($name, $class) { - return \Illuminate\Routing\Router::aliasMiddleware($name, $class); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->aliasMiddleware($name, $class); } /** * Check if a middlewareGroup with the given name exists. * * @param string $name - * @return bool - * @static + * @return bool + * @static */ public static function hasMiddlewareGroup($name) { - return \Illuminate\Routing\Router::hasMiddlewareGroup($name); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->hasMiddlewareGroup($name); } /** * Get all of the defined middleware groups. * - * @return array - * @static + * @return array + * @static */ public static function getMiddlewareGroups() { - return \Illuminate\Routing\Router::getMiddlewareGroups(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->getMiddlewareGroups(); } /** @@ -10367,42 +16511,71 @@ namespace { * * @param string $name * @param array $middleware - * @return $this - * @static + * @return \Illuminate\Routing\Router + * @static */ public static function middlewareGroup($name, $middleware) { - return \Illuminate\Routing\Router::middlewareGroup($name, $middleware); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->middlewareGroup($name, $middleware); } /** * Add a middleware to the beginning of a middleware group. - * + * * If the middleware is already in the group, it will not be added again. * * @param string $group * @param string $middleware - * @return $this - * @static + * @return \Illuminate\Routing\Router + * @static */ public static function prependMiddlewareToGroup($group, $middleware) { - return \Illuminate\Routing\Router::prependMiddlewareToGroup($group, $middleware); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->prependMiddlewareToGroup($group, $middleware); } /** * Add a middleware to the end of a middleware group. - * + * * If the middleware is already in the group, it will not be added again. * * @param string $group * @param string $middleware - * @return $this - * @static + * @return \Illuminate\Routing\Router + * @static */ public static function pushMiddlewareToGroup($group, $middleware) { - return \Illuminate\Routing\Router::pushMiddlewareToGroup($group, $middleware); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->pushMiddlewareToGroup($group, $middleware); + } + + /** + * Remove the given middleware from the specified group. + * + * @param string $group + * @param string $middleware + * @return \Illuminate\Routing\Router + * @static + */ + public static function removeMiddlewareFromGroup($group, $middleware) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->removeMiddlewareFromGroup($group, $middleware); + } + + /** + * Flush the router's middleware groups. + * + * @return \Illuminate\Routing\Router + * @static + */ + public static function flushMiddlewareGroups() + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->flushMiddlewareGroups(); } /** @@ -10410,12 +16583,13 @@ namespace { * * @param string $key * @param string|callable $binder - * @return void - * @static + * @return void + * @static */ public static function bind($key, $binder) { - \Illuminate\Routing\Router::bind($key, $binder); + /** @var \Illuminate\Routing\Router $instance */ + $instance->bind($key, $binder); } /** @@ -10424,36 +16598,38 @@ namespace { * @param string $key * @param string $class * @param \Closure|null $callback - * @return void - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException - * @static + * @return void + * @static */ public static function model($key, $class, $callback = null) { - \Illuminate\Routing\Router::model($key, $class, $callback); + /** @var \Illuminate\Routing\Router $instance */ + $instance->model($key, $class, $callback); } /** * Get the binding callback for a given binding. * * @param string $key - * @return \Closure|null - * @static + * @return \Closure|null + * @static */ public static function getBindingCallback($key) { - return \Illuminate\Routing\Router::getBindingCallback($key); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->getBindingCallback($key); } /** * Get the global "where" patterns. * - * @return array - * @static + * @return array + * @static */ public static function getPatterns() { - return \Illuminate\Routing\Router::getPatterns(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->getPatterns(); } /** @@ -10461,322 +16637,893 @@ namespace { * * @param string $key * @param string $pattern - * @return void - * @static + * @return void + * @static */ public static function pattern($key, $pattern) { - \Illuminate\Routing\Router::pattern($key, $pattern); + /** @var \Illuminate\Routing\Router $instance */ + $instance->pattern($key, $pattern); } /** * Set a group of global where patterns on all routes. * * @param array $patterns - * @return void - * @static + * @return void + * @static */ public static function patterns($patterns) { - \Illuminate\Routing\Router::patterns($patterns); + /** @var \Illuminate\Routing\Router $instance */ + $instance->patterns($patterns); } /** * Determine if the router currently has a group stack. * - * @return bool - * @static + * @return bool + * @static */ public static function hasGroupStack() { - return \Illuminate\Routing\Router::hasGroupStack(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->hasGroupStack(); } /** * Get the current group stack for the router. * - * @return array - * @static + * @return array + * @static */ public static function getGroupStack() { - return \Illuminate\Routing\Router::getGroupStack(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->getGroupStack(); } /** * Get a route parameter for the current route. * * @param string $key - * @param string $default - * @return mixed - * @static + * @param string|null $default + * @return mixed + * @static */ public static function input($key, $default = null) { - return \Illuminate\Routing\Router::input($key, $default); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->input($key, $default); } /** * Get the request currently being dispatched. * - * @return \Illuminate\Http\Request - * @static + * @return \Illuminate\Http\Request + * @static */ public static function getCurrentRequest() { - return \Illuminate\Routing\Router::getCurrentRequest(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->getCurrentRequest(); } /** * Get the currently dispatched route instance. * - * @return \Illuminate\Routing\Route - * @static + * @return \Illuminate\Routing\Route|null + * @static */ public static function getCurrentRoute() { - return \Illuminate\Routing\Router::getCurrentRoute(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->getCurrentRoute(); } /** * Get the currently dispatched route instance. * - * @return \Illuminate\Routing\Route - * @static + * @return \Illuminate\Routing\Route|null + * @static */ public static function current() { - return \Illuminate\Routing\Router::current(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->current(); } /** * Check if a route with the given name exists. * - * @param string $name - * @return bool - * @static + * @param string|array $name + * @return bool + * @static */ public static function has($name) { - return \Illuminate\Routing\Router::has($name); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->has($name); } /** * Get the current route name. * - * @return string|null - * @static + * @return string|null + * @static */ public static function currentRouteName() { - return \Illuminate\Routing\Router::currentRouteName(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->currentRouteName(); } /** * Alias for the "currentRouteNamed" method. * - * @return bool - * @static + * @param mixed $patterns + * @return bool + * @static */ - public static function is() + public static function is(...$patterns) { - return \Illuminate\Routing\Router::is(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->is(...$patterns); } /** - * Determine if the current route matches a given name. + * Determine if the current route matches a pattern. * - * @param string $name - * @return bool - * @static + * @param mixed $patterns + * @return bool + * @static */ - public static function currentRouteNamed($name) + public static function currentRouteNamed(...$patterns) { - return \Illuminate\Routing\Router::currentRouteNamed($name); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->currentRouteNamed(...$patterns); } /** * Get the current route action. * - * @return string|null - * @static + * @return string|null + * @static */ public static function currentRouteAction() { - return \Illuminate\Routing\Router::currentRouteAction(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->currentRouteAction(); } /** * Alias for the "currentRouteUses" method. * - * @return bool - * @static + * @param array|string $patterns + * @return bool + * @static */ - public static function uses() + public static function uses(...$patterns) { - return \Illuminate\Routing\Router::uses(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->uses(...$patterns); } /** * Determine if the current route action matches a given action. * * @param string $action - * @return bool - * @static + * @return bool + * @static */ public static function currentRouteUses($action) { - return \Illuminate\Routing\Router::currentRouteUses($action); - } - - /** - * Register the typical authentication routes for an application. - * - * @return void - * @static - */ - public static function auth() - { - \Illuminate\Routing\Router::auth(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->currentRouteUses($action); } /** * Set the unmapped global resource parameters to singular. * * @param bool $singular - * @return void - * @static + * @return void + * @static */ public static function singularResourceParameters($singular = true) { - \Illuminate\Routing\Router::singularResourceParameters($singular); + /** @var \Illuminate\Routing\Router $instance */ + $instance->singularResourceParameters($singular); } /** * Set the global resource parameter mapping. * * @param array $parameters - * @return void - * @static + * @return void + * @static */ public static function resourceParameters($parameters = []) { - \Illuminate\Routing\Router::resourceParameters($parameters); + /** @var \Illuminate\Routing\Router $instance */ + $instance->resourceParameters($parameters); } /** * Get or set the verbs used in the resource URIs. * * @param array $verbs - * @return array|null - * @static + * @return array|null + * @static */ public static function resourceVerbs($verbs = []) { - return \Illuminate\Routing\Router::resourceVerbs($verbs); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->resourceVerbs($verbs); } /** * Get the underlying route collection. * - * @return \Illuminate\Routing\RouteCollection - * @static + * @return \Illuminate\Routing\RouteCollectionInterface + * @static */ public static function getRoutes() { - return \Illuminate\Routing\Router::getRoutes(); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->getRoutes(); } /** * Set the route collection instance. * * @param \Illuminate\Routing\RouteCollection $routes - * @return void - * @static + * @return void + * @static */ public static function setRoutes($routes) { - \Illuminate\Routing\Router::setRoutes($routes); + /** @var \Illuminate\Routing\Router $instance */ + $instance->setRoutes($routes); + } + + /** + * Set the compiled route collection instance. + * + * @param array $routes + * @return void + * @static + */ + public static function setCompiledRoutes($routes) + { + /** @var \Illuminate\Routing\Router $instance */ + $instance->setCompiledRoutes($routes); + } + + /** + * Remove any duplicate middleware from the given array. + * + * @param array $middleware + * @return array + * @static + */ + public static function uniqueMiddleware($middleware) + { + return \Illuminate\Routing\Router::uniqueMiddleware($middleware); + } + + /** + * Set the container instance used by the router. + * + * @param \Illuminate\Container\Container $container + * @return \Illuminate\Routing\Router + * @static + */ + public static function setContainer($container) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->setContainer($container); } /** * Register a custom macro. * * @param string $name - * @param callable $macro - * @return void - * @static + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static */ public static function macro($name, $macro) { \Illuminate\Routing\Router::macro($name, $macro); } + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Routing\Router::mixin($mixin, $replace); + } + /** * Checks if macro is registered. * * @param string $name - * @return bool - * @static + * @return bool + * @static */ public static function hasMacro($name) { return \Illuminate\Routing\Router::hasMacro($name); } + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Routing\Router::flushMacros(); + } + /** * Dynamically handle calls to the class. * * @param string $method * @param array $parameters - * @return mixed + * @return mixed * @throws \BadMethodCallException - * @static + * @static */ public static function macroCall($method, $parameters) { - return \Illuminate\Routing\Router::macroCall($method, $parameters); + /** @var \Illuminate\Routing\Router $instance */ + return $instance->macroCall($method, $parameters); } - } + /** + * Call the given Closure with this instance then return the instance. + * + * @param (callable($this): mixed)|null $callback + * @return ($callback is null ? \Illuminate\Support\HigherOrderTapProxy : $this) + * @static + */ + public static function tap($callback = null) + { + /** @var \Illuminate\Routing\Router $instance */ + return $instance->tap($callback); + } + + } + /** + * + * + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes withoutOverlapping(int $expiresAt = 1440) + * @method static void mergeAttributes(\Illuminate\Console\Scheduling\Event $event) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes user(string $user) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes environments(array|mixed $environments) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes evenInMaintenanceMode() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes onOneServer() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes runInBackground() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes when(\Closure|bool $callback) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes skip(\Closure|bool $callback) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes name(string $description) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes description(string $description) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes cron(string $expression) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes between(string $startTime, string $endTime) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes unlessBetween(string $startTime, string $endTime) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everySecond() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyTwoSeconds() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyFiveSeconds() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyTenSeconds() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyFifteenSeconds() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyTwentySeconds() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyThirtySeconds() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyMinute() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyTwoMinutes() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyThreeMinutes() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyFourMinutes() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyFiveMinutes() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyTenMinutes() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyFifteenMinutes() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyThirtyMinutes() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes hourly() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes hourlyAt(array|string|int|int[] $offset) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyOddHour(array|string|int $offset = 0) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyTwoHours(array|string|int $offset = 0) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyThreeHours(array|string|int $offset = 0) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everyFourHours(array|string|int $offset = 0) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes everySixHours(array|string|int $offset = 0) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes daily() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes at(string $time) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes dailyAt(string $time) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes twiceDaily(int $first = 1, int $second = 13) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes twiceDailyAt(int $first = 1, int $second = 13, int $offset = 0) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes weekdays() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes weekends() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes mondays() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes tuesdays() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes wednesdays() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes thursdays() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes fridays() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes saturdays() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes sundays() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes weekly() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes weeklyOn(array|mixed $dayOfWeek, string $time = '0:0') + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes monthly() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes monthlyOn(int $dayOfMonth = 1, string $time = '0:0') + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes twiceMonthly(int $first = 1, int $second = 16, string $time = '0:0') + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes lastDayOfMonth(string $time = '0:0') + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes quarterly() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes quarterlyOn(int $dayOfQuarter = 1, string $time = '0:0') + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes yearly() + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes yearlyOn(int $month = 1, int|string $dayOfMonth = 1, string $time = '0:0') + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes days(array|mixed $days) + * @method static \Illuminate\Console\Scheduling\PendingEventAttributes timezone(\DateTimeZone|string $timezone) + * @see \Illuminate\Console\Scheduling\Schedule + */ + class Schedule { + /** + * Add a new callback event to the schedule. + * + * @param string|callable $callback + * @param array $parameters + * @return \Illuminate\Console\Scheduling\CallbackEvent + * @static + */ + public static function call($callback, $parameters = []) + { + /** @var \Illuminate\Console\Scheduling\Schedule $instance */ + return $instance->call($callback, $parameters); + } + + /** + * Add a new Artisan command event to the schedule. + * + * @param string $command + * @param array $parameters + * @return \Illuminate\Console\Scheduling\Event + * @static + */ + public static function command($command, $parameters = []) + { + /** @var \Illuminate\Console\Scheduling\Schedule $instance */ + return $instance->command($command, $parameters); + } + + /** + * Add a new job callback event to the schedule. + * + * @param object|string $job + * @param string|null $queue + * @param string|null $connection + * @return \Illuminate\Console\Scheduling\CallbackEvent + * @static + */ + public static function job($job, $queue = null, $connection = null) + { + /** @var \Illuminate\Console\Scheduling\Schedule $instance */ + return $instance->job($job, $queue, $connection); + } + + /** + * Add a new command event to the schedule. + * + * @param string $command + * @param array $parameters + * @return \Illuminate\Console\Scheduling\Event + * @static + */ + public static function exec($command, $parameters = []) + { + /** @var \Illuminate\Console\Scheduling\Schedule $instance */ + return $instance->exec($command, $parameters); + } + + /** + * Create new schedule group. + * + * @param \Illuminate\Console\Scheduling\Event $event + * @return void + * @throws \RuntimeException + * @static + */ + public static function group($events) + { + /** @var \Illuminate\Console\Scheduling\Schedule $instance */ + $instance->group($events); + } + + /** + * Compile array input for a command. + * + * @param string|int $key + * @param array $value + * @return string + * @static + */ + public static function compileArrayInput($key, $value) + { + /** @var \Illuminate\Console\Scheduling\Schedule $instance */ + return $instance->compileArrayInput($key, $value); + } + + /** + * Determine if the server is allowed to run this event. + * + * @param \Illuminate\Console\Scheduling\Event $event + * @param \DateTimeInterface $time + * @return bool + * @static + */ + public static function serverShouldRun($event, $time) + { + /** @var \Illuminate\Console\Scheduling\Schedule $instance */ + return $instance->serverShouldRun($event, $time); + } + + /** + * Get all of the events on the schedule that are due. + * + * @param \Illuminate\Contracts\Foundation\Application $app + * @return \Illuminate\Support\Collection + * @static + */ + public static function dueEvents($app) + { + /** @var \Illuminate\Console\Scheduling\Schedule $instance */ + return $instance->dueEvents($app); + } + + /** + * Get all of the events on the schedule. + * + * @return \Illuminate\Console\Scheduling\Event[] + * @static + */ + public static function events() + { + /** @var \Illuminate\Console\Scheduling\Schedule $instance */ + return $instance->events(); + } + + /** + * Specify the cache store that should be used to store mutexes. + * + * @param string $store + * @return \Illuminate\Console\Scheduling\Schedule + * @static + */ + public static function useCache($store) + { + /** @var \Illuminate\Console\Scheduling\Schedule $instance */ + return $instance->useCache($store); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Console\Scheduling\Schedule::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Console\Scheduling\Schedule::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Console\Scheduling\Schedule::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Console\Scheduling\Schedule::flushMacros(); + } + + /** + * Dynamically handle calls to the class. + * + * @param string $method + * @param array $parameters + * @return mixed + * @throws \BadMethodCallException + * @static + */ + public static function macroCall($method, $parameters) + { + /** @var \Illuminate\Console\Scheduling\Schedule $instance */ + return $instance->macroCall($method, $parameters); + } + + } + /** + * + * + * @see \Illuminate\Database\Schema\Builder + */ + class Schema { + /** + * Create a database in the schema. + * + * @param string $name + * @return bool + * @static + */ + public static function createDatabase($name) + { + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->createDatabase($name); + } + + /** + * Drop a database from the schema if the database exists. + * + * @param string $name + * @return bool + * @static + */ + public static function dropDatabaseIfExists($name) + { + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->dropDatabaseIfExists($name); + } - class Schema extends \Illuminate\Support\Facades\Schema - { /** * Determine if the given table exists. * * @param string $table - * @return bool - * @static + * @return bool + * @static */ public static function hasTable($table) { - return \Illuminate\Database\Schema\MySqlBuilder::hasTable($table); + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->hasTable($table); } /** - * Get the column listing for a given table. + * Get the tables for the database. + * + * @param bool $withSize + * @return array + * @static + */ + public static function getTables($withSize = true) + { + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getTables($withSize); + } + + /** + * Get the columns for a given table. * * @param string $table - * @return array - * @static + * @return array + * @static */ - public static function getColumnListing($table) + public static function getColumns($table) { - return \Illuminate\Database\Schema\MySqlBuilder::getColumnListing($table); + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getColumns($table); + } + + /** + * Drop all tables from the database. + * + * @return void + * @static + */ + public static function dropAllTables() + { + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->dropAllTables(); + } + + /** + * Drop all views from the database. + * + * @return void + * @static + */ + public static function dropAllViews() + { + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->dropAllViews(); + } + + /** + * Set the busy timeout. + * + * @param int $milliseconds + * @return bool + * @static + */ + public static function setBusyTimeout($milliseconds) + { + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->setBusyTimeout($milliseconds); + } + + /** + * Set the journal mode. + * + * @param string $mode + * @return bool + * @static + */ + public static function setJournalMode($mode) + { + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->setJournalMode($mode); + } + + /** + * Set the synchronous mode. + * + * @param int $mode + * @return bool + * @static + */ + public static function setSynchronous($mode) + { + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->setSynchronous($mode); + } + + /** + * Empty the database file. + * + * @return void + * @static + */ + public static function refreshDatabaseFile() + { + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->refreshDatabaseFile(); } /** * Set the default string length for migrations. * * @param int $length - * @return void - * @static + * @return void + * @static */ public static function defaultStringLength($length) { - //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::defaultStringLength($length); + //Method inherited from \Illuminate\Database\Schema\Builder + \Illuminate\Database\Schema\SQLiteBuilder::defaultStringLength($length); + } + + /** + * Set the default morph key type for migrations. + * + * @param string $type + * @return void + * @throws \InvalidArgumentException + * @static + */ + public static function defaultMorphKeyType($type) + { + //Method inherited from \Illuminate\Database\Schema\Builder + \Illuminate\Database\Schema\SQLiteBuilder::defaultMorphKeyType($type); + } + + /** + * Set the default morph key type for migrations to UUIDs. + * + * @return void + * @static + */ + public static function morphUsingUuids() + { + //Method inherited from \Illuminate\Database\Schema\Builder + \Illuminate\Database\Schema\SQLiteBuilder::morphUsingUuids(); + } + + /** + * Set the default morph key type for migrations to ULIDs. + * + * @return void + * @static + */ + public static function morphUsingUlids() + { + //Method inherited from \Illuminate\Database\Schema\Builder + \Illuminate\Database\Schema\SQLiteBuilder::morphUsingUlids(); + } + + /** + * Determine if the given view exists. + * + * @param string $view + * @return bool + * @static + */ + public static function hasView($view) + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->hasView($view); + } + + /** + * Get the names of the tables that belong to the database. + * + * @return array + * @static + */ + public static function getTableListing() + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getTableListing(); + } + + /** + * Get the views that belong to the database. + * + * @return array + * @static + */ + public static function getViews() + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getViews(); + } + + /** + * Get the user-defined types that belong to the database. + * + * @return array + * @static + */ + public static function getTypes() + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getTypes(); } /** @@ -10784,13 +17531,14 @@ namespace { * * @param string $table * @param string $column - * @return bool - * @static + * @return bool + * @static */ public static function hasColumn($table, $column) { - //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::hasColumn($table, $column); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->hasColumn($table, $column); } /** @@ -10798,13 +17546,46 @@ namespace { * * @param string $table * @param array $columns - * @return bool - * @static + * @return bool + * @static */ public static function hasColumns($table, $columns) { - //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::hasColumns($table, $columns); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->hasColumns($table, $columns); + } + + /** + * Execute a table builder callback if the given table has a given column. + * + * @param string $table + * @param string $column + * @param \Closure $callback + * @return void + * @static + */ + public static function whenTableHasColumn($table, $column, $callback) + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->whenTableHasColumn($table, $column, $callback); + } + + /** + * Execute a table builder callback if the given table doesn't have a given column. + * + * @param string $table + * @param string $column + * @param \Closure $callback + * @return void + * @static + */ + public static function whenTableDoesntHaveColumn($table, $column, $callback) + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->whenTableDoesntHaveColumn($table, $column, $callback); } /** @@ -10812,13 +17593,87 @@ namespace { * * @param string $table * @param string $column - * @return string - * @static + * @param bool $fullDefinition + * @return string + * @static */ - public static function getColumnType($table, $column) + public static function getColumnType($table, $column, $fullDefinition = false) { - //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::getColumnType($table, $column); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getColumnType($table, $column, $fullDefinition); + } + + /** + * Get the column listing for a given table. + * + * @param string $table + * @return array + * @static + */ + public static function getColumnListing($table) + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getColumnListing($table); + } + + /** + * Get the indexes for a given table. + * + * @param string $table + * @return array + * @static + */ + public static function getIndexes($table) + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getIndexes($table); + } + + /** + * Get the names of the indexes for a given table. + * + * @param string $table + * @return array + * @static + */ + public static function getIndexListing($table) + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getIndexListing($table); + } + + /** + * Determine if the given table has a given index. + * + * @param string $table + * @param string|array $index + * @param string|null $type + * @return bool + * @static + */ + public static function hasIndex($table, $index, $type = null) + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->hasIndex($table, $index, $type); + } + + /** + * Get the foreign keys for a given table. + * + * @param string $table + * @return array + * @static + */ + public static function getForeignKeys($table) + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getForeignKeys($table); } /** @@ -10826,13 +17681,14 @@ namespace { * * @param string $table * @param \Closure $callback - * @return void - * @static + * @return void + * @static */ public static function table($table, $callback) { - //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::table($table, $callback); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->table($table, $callback); } /** @@ -10840,39 +17696,71 @@ namespace { * * @param string $table * @param \Closure $callback - * @return void - * @static + * @return void + * @static */ public static function create($table, $callback) { - //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::create($table, $callback); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->create($table, $callback); } /** * Drop a table from the schema. * * @param string $table - * @return void - * @static + * @return void + * @static */ public static function drop($table) { - //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::drop($table); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->drop($table); } /** * Drop a table from the schema if it exists. * * @param string $table - * @return void - * @static + * @return void + * @static */ public static function dropIfExists($table) { - //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::dropIfExists($table); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->dropIfExists($table); + } + + /** + * Drop columns from a table schema. + * + * @param string $table + * @param string|array $columns + * @return void + * @static + */ + public static function dropColumns($table, $columns) + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->dropColumns($table, $columns); + } + + /** + * Drop all types from the database. + * + * @return void + * @throws \LogicException + * @static + */ + public static function dropAllTypes() + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->dropAllTypes(); } /** @@ -10880,126 +17768,257 @@ namespace { * * @param string $from * @param string $to - * @return void - * @static + * @return void + * @static */ public static function rename($from, $to) { - //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::rename($from, $to); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->rename($from, $to); } /** * Enable foreign key constraints. * - * @return bool - * @static + * @return bool + * @static */ public static function enableForeignKeyConstraints() { - //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::enableForeignKeyConstraints(); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->enableForeignKeyConstraints(); } /** * Disable foreign key constraints. * - * @return bool - * @static + * @return bool + * @static */ public static function disableForeignKeyConstraints() { - //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::disableForeignKeyConstraints(); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->disableForeignKeyConstraints(); + } + + /** + * Disable foreign key constraints during the execution of a callback. + * + * @param \Closure $callback + * @return mixed + * @static + */ + public static function withoutForeignKeyConstraints($callback) + { + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->withoutForeignKeyConstraints($callback); } /** * Get the database connection instance. * - * @return \Illuminate\Database\Connection - * @static + * @return \Illuminate\Database\Connection + * @static */ public static function getConnection() { - //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::getConnection(); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->getConnection(); } /** * Set the database connection instance. * * @param \Illuminate\Database\Connection $connection - * @return $this - * @static + * @return \Illuminate\Database\Schema\SQLiteBuilder + * @static */ public static function setConnection($connection) { - //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::setConnection($connection); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + return $instance->setConnection($connection); } /** * Set the Schema Blueprint resolver callback. * * @param \Closure $resolver - * @return void - * @static + * @return void + * @static */ public static function blueprintResolver($resolver) { - //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::blueprintResolver($resolver); + //Method inherited from \Illuminate\Database\Schema\Builder + /** @var \Illuminate\Database\Schema\SQLiteBuilder $instance */ + $instance->blueprintResolver($resolver); } - } + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + //Method inherited from \Illuminate\Database\Schema\Builder + \Illuminate\Database\Schema\SQLiteBuilder::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + //Method inherited from \Illuminate\Database\Schema\Builder + \Illuminate\Database\Schema\SQLiteBuilder::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + //Method inherited from \Illuminate\Database\Schema\Builder + return \Illuminate\Database\Schema\SQLiteBuilder::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + //Method inherited from \Illuminate\Database\Schema\Builder + \Illuminate\Database\Schema\SQLiteBuilder::flushMacros(); + } + + } + /** + * + * + * @see \Illuminate\Session\SessionManager + */ + class Session { + /** + * Determine if requests for the same session should wait for each to finish before executing. + * + * @return bool + * @static + */ + public static function shouldBlock() + { + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->shouldBlock(); + } + + /** + * Get the name of the cache store / driver that should be used to acquire session locks. + * + * @return string|null + * @static + */ + public static function blockDriver() + { + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->blockDriver(); + } + + /** + * Get the maximum number of seconds the session lock should be held for. + * + * @return int + * @static + */ + public static function defaultRouteBlockLockSeconds() + { + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->defaultRouteBlockLockSeconds(); + } + + /** + * Get the maximum number of seconds to wait while attempting to acquire a route block session lock. + * + * @return int + * @static + */ + public static function defaultRouteBlockWaitSeconds() + { + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->defaultRouteBlockWaitSeconds(); + } - class Session extends \Illuminate\Support\Facades\Session - { /** * Get the session configuration. * - * @return array - * @static + * @return array + * @static */ public static function getSessionConfig() { - return \Illuminate\Session\SessionManager::getSessionConfig(); + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->getSessionConfig(); } /** * Get the default session driver name. * - * @return string - * @static + * @return string + * @static */ public static function getDefaultDriver() { - return \Illuminate\Session\SessionManager::getDefaultDriver(); + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->getDefaultDriver(); } /** * Set the default session driver name. * * @param string $name - * @return void - * @static + * @return void + * @static */ public static function setDefaultDriver($name) { - \Illuminate\Session\SessionManager::setDefaultDriver($name); + /** @var \Illuminate\Session\SessionManager $instance */ + $instance->setDefaultDriver($name); } /** * Get a driver instance. * - * @param string $driver - * @return mixed - * @static + * @param string|null $driver + * @return mixed + * @throws \InvalidArgumentException + * @static */ public static function driver($driver = null) { - //Method inherited from \Illuminate\Support\Manager - return \Illuminate\Session\SessionManager::driver($driver); + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->driver($driver); } /** @@ -11007,93 +18026,193 @@ namespace { * * @param string $driver * @param \Closure $callback - * @return $this - * @static + * @return \Illuminate\Session\SessionManager + * @static */ public static function extend($driver, $callback) { - //Method inherited from \Illuminate\Support\Manager - return \Illuminate\Session\SessionManager::extend($driver, $callback); + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->extend($driver, $callback); } /** * Get all of the created "drivers". * - * @return array - * @static + * @return array + * @static */ public static function getDrivers() { - //Method inherited from \Illuminate\Support\Manager - return \Illuminate\Session\SessionManager::getDrivers(); + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->getDrivers(); + } + + /** + * Get the container instance used by the manager. + * + * @return \Illuminate\Contracts\Container\Container + * @static + */ + public static function getContainer() + { + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->getContainer(); + } + + /** + * Set the container instance used by the manager. + * + * @param \Illuminate\Contracts\Container\Container $container + * @return \Illuminate\Session\SessionManager + * @static + */ + public static function setContainer($container) + { + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->setContainer($container); + } + + /** + * Forget all of the resolved driver instances. + * + * @return \Illuminate\Session\SessionManager + * @static + */ + public static function forgetDrivers() + { + //Method inherited from \Illuminate\Support\Manager + /** @var \Illuminate\Session\SessionManager $instance */ + return $instance->forgetDrivers(); } /** * Start the session, reading the data from a handler. * - * @return bool - * @static + * @return bool + * @static */ public static function start() { - return \Illuminate\Session\Store::start(); + /** @var \Illuminate\Session\Store $instance */ + return $instance->start(); } /** * Save the session data to storage. * - * @return bool - * @static + * @return void + * @static */ public static function save() { - return \Illuminate\Session\Store::save(); + /** @var \Illuminate\Session\Store $instance */ + $instance->save(); } /** * Age the flash data for the session. * - * @return void - * @static + * @return void + * @static */ public static function ageFlashData() { - \Illuminate\Session\Store::ageFlashData(); + /** @var \Illuminate\Session\Store $instance */ + $instance->ageFlashData(); } /** * Get all of the session data. * - * @return array - * @static + * @return array + * @static */ public static function all() { - return \Illuminate\Session\Store::all(); + /** @var \Illuminate\Session\Store $instance */ + return $instance->all(); + } + + /** + * Get a subset of the session data. + * + * @param array $keys + * @return array + * @static + */ + public static function only($keys) + { + /** @var \Illuminate\Session\Store $instance */ + return $instance->only($keys); + } + + /** + * Get all the session data except for a specified array of items. + * + * @param array $keys + * @return array + * @static + */ + public static function except($keys) + { + /** @var \Illuminate\Session\Store $instance */ + return $instance->except($keys); } /** * Checks if a key exists. * * @param string|array $key - * @return bool - * @static + * @return bool + * @static */ public static function exists($key) { - return \Illuminate\Session\Store::exists($key); + /** @var \Illuminate\Session\Store $instance */ + return $instance->exists($key); } /** - * Checks if an a key is present and not null. + * Determine if the given key is missing from the session data. * * @param string|array $key - * @return bool - * @static + * @return bool + * @static + */ + public static function missing($key) + { + /** @var \Illuminate\Session\Store $instance */ + return $instance->missing($key); + } + + /** + * Determine if a key is present and not null. + * + * @param string|array $key + * @return bool + * @static */ public static function has($key) { - return \Illuminate\Session\Store::has($key); + /** @var \Illuminate\Session\Store $instance */ + return $instance->has($key); + } + + /** + * Determine if any of the given keys are present and not null. + * + * @param string|array $key + * @return bool + * @static + */ + public static function hasAny($key) + { + /** @var \Illuminate\Session\Store $instance */ + return $instance->hasAny($key); } /** @@ -11101,62 +18220,67 @@ namespace { * * @param string $key * @param mixed $default - * @return mixed - * @static + * @return mixed + * @static */ public static function get($key, $default = null) { - return \Illuminate\Session\Store::get($key, $default); + /** @var \Illuminate\Session\Store $instance */ + return $instance->get($key, $default); } /** * Get the value of a given key and then forget it. * * @param string $key - * @param string $default - * @return mixed - * @static + * @param mixed $default + * @return mixed + * @static */ public static function pull($key, $default = null) { - return \Illuminate\Session\Store::pull($key, $default); + /** @var \Illuminate\Session\Store $instance */ + return $instance->pull($key, $default); } /** * Determine if the session contains old input. * - * @param string $key - * @return bool - * @static + * @param string|null $key + * @return bool + * @static */ public static function hasOldInput($key = null) { - return \Illuminate\Session\Store::hasOldInput($key); + /** @var \Illuminate\Session\Store $instance */ + return $instance->hasOldInput($key); } /** * Get the requested item from the flashed input array. * - * @param string $key + * @param string|null $key * @param mixed $default - * @return mixed - * @static + * @return mixed + * @static */ public static function getOldInput($key = null, $default = null) { - return \Illuminate\Session\Store::getOldInput($key, $default); + /** @var \Illuminate\Session\Store $instance */ + return $instance->getOldInput($key, $default); } /** * Replace the given session attributes entirely. * * @param array $attributes - * @return void - * @static + * @return void + * @static */ public static function replace($attributes) { - \Illuminate\Session\Store::replace($attributes); + /** @var \Illuminate\Session\Store $instance */ + $instance->replace($attributes); } /** @@ -11164,12 +18288,13 @@ namespace { * * @param string|array $key * @param mixed $value - * @return void - * @static + * @return void + * @static */ public static function put($key, $value = null) { - \Illuminate\Session\Store::put($key, $value); + /** @var \Illuminate\Session\Store $instance */ + $instance->put($key, $value); } /** @@ -11177,12 +18302,13 @@ namespace { * * @param string $key * @param \Closure $callback - * @return mixed - * @static + * @return mixed + * @static */ public static function remember($key, $callback) { - return \Illuminate\Session\Store::remember($key, $callback); + /** @var \Illuminate\Session\Store $instance */ + return $instance->remember($key, $callback); } /** @@ -11190,12 +18316,13 @@ namespace { * * @param string $key * @param mixed $value - * @return void - * @static + * @return void + * @static */ public static function push($key, $value) { - \Illuminate\Session\Store::push($key, $value); + /** @var \Illuminate\Session\Store $instance */ + $instance->push($key, $value); } /** @@ -11203,12 +18330,13 @@ namespace { * * @param string $key * @param int $amount - * @return mixed - * @static + * @return mixed + * @static */ public static function increment($key, $amount = 1) { - return \Illuminate\Session\Store::increment($key, $amount); + /** @var \Illuminate\Session\Store $instance */ + return $instance->increment($key, $amount); } /** @@ -11216,12 +18344,13 @@ namespace { * * @param string $key * @param int $amount - * @return int - * @static + * @return int + * @static */ public static function decrement($key, $amount = 1) { - return \Illuminate\Session\Store::decrement($key, $amount); + /** @var \Illuminate\Session\Store $instance */ + return $instance->decrement($key, $amount); } /** @@ -11229,12 +18358,13 @@ namespace { * * @param string $key * @param mixed $value - * @return void - * @static + * @return void + * @static */ - public static function flash($key, $value) + public static function flash($key, $value = true) { - \Illuminate\Session\Store::flash($key, $value); + /** @var \Illuminate\Session\Store $instance */ + $instance->flash($key, $value); } /** @@ -11242,386 +18372,609 @@ namespace { * * @param string $key * @param mixed $value - * @return void - * @static + * @return void + * @static */ public static function now($key, $value) { - \Illuminate\Session\Store::now($key, $value); + /** @var \Illuminate\Session\Store $instance */ + $instance->now($key, $value); } /** * Reflash all of the session flash data. * - * @return void - * @static + * @return void + * @static */ public static function reflash() { - \Illuminate\Session\Store::reflash(); + /** @var \Illuminate\Session\Store $instance */ + $instance->reflash(); } /** * Reflash a subset of the current flash data. * * @param array|mixed $keys - * @return void - * @static + * @return void + * @static */ public static function keep($keys = null) { - \Illuminate\Session\Store::keep($keys); + /** @var \Illuminate\Session\Store $instance */ + $instance->keep($keys); } /** * Flash an input array to the session. * * @param array $value - * @return void - * @static + * @return void + * @static */ public static function flashInput($value) { - \Illuminate\Session\Store::flashInput($value); + /** @var \Illuminate\Session\Store $instance */ + $instance->flashInput($value); } /** * Remove an item from the session, returning its value. * * @param string $key - * @return mixed - * @static + * @return mixed + * @static */ public static function remove($key) { - return \Illuminate\Session\Store::remove($key); + /** @var \Illuminate\Session\Store $instance */ + return $instance->remove($key); } /** * Remove one or many items from the session. * * @param string|array $keys - * @return void - * @static + * @return void + * @static */ public static function forget($keys) { - \Illuminate\Session\Store::forget($keys); + /** @var \Illuminate\Session\Store $instance */ + $instance->forget($keys); } /** * Remove all of the items from the session. * - * @return void - * @static + * @return void + * @static */ public static function flush() { - \Illuminate\Session\Store::flush(); + /** @var \Illuminate\Session\Store $instance */ + $instance->flush(); } /** * Flush the session data and regenerate the ID. * - * @return bool - * @static + * @return bool + * @static */ public static function invalidate() { - return \Illuminate\Session\Store::invalidate(); + /** @var \Illuminate\Session\Store $instance */ + return $instance->invalidate(); } /** * Generate a new session identifier. * * @param bool $destroy - * @return bool - * @static + * @return bool + * @static */ public static function regenerate($destroy = false) { - return \Illuminate\Session\Store::regenerate($destroy); + /** @var \Illuminate\Session\Store $instance */ + return $instance->regenerate($destroy); } /** * Generate a new session ID for the session. * * @param bool $destroy - * @return bool - * @static + * @return bool + * @static */ public static function migrate($destroy = false) { - return \Illuminate\Session\Store::migrate($destroy); + /** @var \Illuminate\Session\Store $instance */ + return $instance->migrate($destroy); } /** * Determine if the session has been started. * - * @return bool - * @static + * @return bool + * @static */ public static function isStarted() { - return \Illuminate\Session\Store::isStarted(); + /** @var \Illuminate\Session\Store $instance */ + return $instance->isStarted(); } /** * Get the name of the session. * - * @return string - * @static + * @return string + * @static */ public static function getName() { - return \Illuminate\Session\Store::getName(); + /** @var \Illuminate\Session\Store $instance */ + return $instance->getName(); } /** * Set the name of the session. * * @param string $name - * @return void - * @static + * @return void + * @static */ public static function setName($name) { - \Illuminate\Session\Store::setName($name); + /** @var \Illuminate\Session\Store $instance */ + $instance->setName($name); } /** * Get the current session ID. * - * @return string - * @static + * @return string + * @static + */ + public static function id() + { + /** @var \Illuminate\Session\Store $instance */ + return $instance->id(); + } + + /** + * Get the current session ID. + * + * @return string + * @static */ public static function getId() { - return \Illuminate\Session\Store::getId(); + /** @var \Illuminate\Session\Store $instance */ + return $instance->getId(); } /** * Set the session ID. * - * @param string $id - * @return void - * @static + * @param string|null $id + * @return void + * @static */ public static function setId($id) { - \Illuminate\Session\Store::setId($id); + /** @var \Illuminate\Session\Store $instance */ + $instance->setId($id); } /** * Determine if this is a valid session ID. * - * @param string $id - * @return bool - * @static + * @param string|null $id + * @return bool + * @static */ public static function isValidId($id) { - return \Illuminate\Session\Store::isValidId($id); + /** @var \Illuminate\Session\Store $instance */ + return $instance->isValidId($id); } /** * Set the existence of the session on the handler if applicable. * * @param bool $value - * @return void - * @static + * @return void + * @static */ public static function setExists($value) { - \Illuminate\Session\Store::setExists($value); + /** @var \Illuminate\Session\Store $instance */ + $instance->setExists($value); } /** * Get the CSRF token value. * - * @return string - * @static + * @return string + * @static */ public static function token() { - return \Illuminate\Session\Store::token(); + /** @var \Illuminate\Session\Store $instance */ + return $instance->token(); } /** * Regenerate the CSRF token value. * - * @return void - * @static + * @return void + * @static */ public static function regenerateToken() { - \Illuminate\Session\Store::regenerateToken(); + /** @var \Illuminate\Session\Store $instance */ + $instance->regenerateToken(); + } + + /** + * Determine if the previous URI is available. + * + * @return bool + * @static + */ + public static function hasPreviousUri() + { + /** @var \Illuminate\Session\Store $instance */ + return $instance->hasPreviousUri(); + } + + /** + * Get the previous URL from the session as a URI instance. + * + * @return \Illuminate\Support\Uri + * @throws \RuntimeException + * @static + */ + public static function previousUri() + { + /** @var \Illuminate\Session\Store $instance */ + return $instance->previousUri(); } /** * Get the previous URL from the session. * - * @return string|null - * @static + * @return string|null + * @static */ public static function previousUrl() { - return \Illuminate\Session\Store::previousUrl(); + /** @var \Illuminate\Session\Store $instance */ + return $instance->previousUrl(); } /** * Set the "previous" URL in the session. * * @param string $url - * @return void - * @static + * @return void + * @static */ public static function setPreviousUrl($url) { - \Illuminate\Session\Store::setPreviousUrl($url); + /** @var \Illuminate\Session\Store $instance */ + $instance->setPreviousUrl($url); + } + + /** + * Specify that the user has confirmed their password. + * + * @return void + * @static + */ + public static function passwordConfirmed() + { + /** @var \Illuminate\Session\Store $instance */ + $instance->passwordConfirmed(); } /** * Get the underlying session handler implementation. * - * @return \SessionHandlerInterface - * @static + * @return \SessionHandlerInterface + * @static */ public static function getHandler() { - return \Illuminate\Session\Store::getHandler(); + /** @var \Illuminate\Session\Store $instance */ + return $instance->getHandler(); + } + + /** + * Set the underlying session handler implementation. + * + * @param \SessionHandlerInterface $handler + * @return \SessionHandlerInterface + * @static + */ + public static function setHandler($handler) + { + /** @var \Illuminate\Session\Store $instance */ + return $instance->setHandler($handler); } /** * Determine if the session handler needs a request. * - * @return bool - * @static + * @return bool + * @static */ public static function handlerNeedsRequest() { - return \Illuminate\Session\Store::handlerNeedsRequest(); + /** @var \Illuminate\Session\Store $instance */ + return $instance->handlerNeedsRequest(); } /** * Set the request on the handler instance. * * @param \Illuminate\Http\Request $request - * @return void - * @static + * @return void + * @static */ public static function setRequestOnHandler($request) { - \Illuminate\Session\Store::setRequestOnHandler($request); + /** @var \Illuminate\Session\Store $instance */ + $instance->setRequestOnHandler($request); } - } + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Session\Store::macro($name, $macro); + } - class Storage extends \Illuminate\Support\Facades\Storage - { + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Session\Store::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Session\Store::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Session\Store::flushMacros(); + } + + } + /** + * + * + * @method static bool has(string $location) + * @method static string read(string $location) + * @method static \League\Flysystem\DirectoryListing listContents(string $location, bool $deep = false) + * @method static int fileSize(string $path) + * @method static string visibility(string $path) + * @method static void write(string $location, string $contents, array $config = []) + * @method static void createDirectory(string $location, array $config = []) + * @see \Illuminate\Filesystem\FilesystemManager + */ + class Storage { /** * Get a filesystem instance. * - * @param string $name - * @return \Illuminate\Filesystem\FilesystemAdapter - * @static + * @param string|null $name + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static */ public static function drive($name = null) { - return \Illuminate\Filesystem\FilesystemManager::drive($name); + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->drive($name); } /** * Get a filesystem instance. * - * @param string $name - * @return \Illuminate\Filesystem\FilesystemAdapter - * @static + * @param string|null $name + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static */ public static function disk($name = null) { - return \Illuminate\Filesystem\FilesystemManager::disk($name); + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->disk($name); } /** * Get a default cloud filesystem instance. * - * @return \Illuminate\Filesystem\FilesystemAdapter - * @static + * @return \Illuminate\Contracts\Filesystem\Cloud + * @static */ public static function cloud() { - return \Illuminate\Filesystem\FilesystemManager::cloud(); + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->cloud(); + } + + /** + * Build an on-demand disk. + * + * @param string|array $config + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static + */ + public static function build($config) + { + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->build($config); } /** * Create an instance of the local driver. * * @param array $config - * @return \Illuminate\Filesystem\FilesystemAdapter - * @static + * @param string $name + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static */ - public static function createLocalDriver($config) + public static function createLocalDriver($config, $name = 'local') { - return \Illuminate\Filesystem\FilesystemManager::createLocalDriver($config); + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->createLocalDriver($config, $name); } /** * Create an instance of the ftp driver. * * @param array $config - * @return \Illuminate\Filesystem\FilesystemAdapter - * @static + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static */ public static function createFtpDriver($config) { - return \Illuminate\Filesystem\FilesystemManager::createFtpDriver($config); + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->createFtpDriver($config); + } + + /** + * Create an instance of the sftp driver. + * + * @param array $config + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static + */ + public static function createSftpDriver($config) + { + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->createSftpDriver($config); } /** * Create an instance of the Amazon S3 driver. * * @param array $config - * @return \Illuminate\Contracts\Filesystem\Cloud - * @static + * @return \Illuminate\Contracts\Filesystem\Cloud + * @static */ public static function createS3Driver($config) { - return \Illuminate\Filesystem\FilesystemManager::createS3Driver($config); + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->createS3Driver($config); } /** - * Create an instance of the Rackspace driver. + * Create a scoped driver. * * @param array $config - * @return \Illuminate\Contracts\Filesystem\Cloud - * @static + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static */ - public static function createRackspaceDriver($config) + public static function createScopedDriver($config) { - return \Illuminate\Filesystem\FilesystemManager::createRackspaceDriver($config); + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->createScopedDriver($config); + } + + /** + * Set the given disk instance. + * + * @param string $name + * @param mixed $disk + * @return \Illuminate\Filesystem\FilesystemManager + * @static + */ + public static function set($name, $disk) + { + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->set($name, $disk); } /** * Get the default driver name. * - * @return string - * @static + * @return string + * @static */ public static function getDefaultDriver() { - return \Illuminate\Filesystem\FilesystemManager::getDefaultDriver(); + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->getDefaultDriver(); } /** * Get the default cloud driver name. * - * @return string - * @static + * @return string + * @static */ public static function getDefaultCloudDriver() { - return \Illuminate\Filesystem\FilesystemManager::getDefaultCloudDriver(); + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->getDefaultCloudDriver(); + } + + /** + * Unset the given disk instances. + * + * @param array|string $disk + * @return \Illuminate\Filesystem\FilesystemManager + * @static + */ + public static function forgetDisk($disk) + { + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->forgetDisk($disk); + } + + /** + * Disconnect the given disk and remove from local cache. + * + * @param string|null $name + * @return void + * @static + */ + public static function purge($name = null) + { + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + $instance->purge($name); } /** @@ -11629,92 +18982,379 @@ namespace { * * @param string $driver * @param \Closure $callback - * @return $this - * @static + * @return \Illuminate\Filesystem\FilesystemManager + * @static */ public static function extend($driver, $callback) { - return \Illuminate\Filesystem\FilesystemManager::extend($driver, $callback); + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->extend($driver, $callback); + } + + /** + * Set the application instance used by the manager. + * + * @param \Illuminate\Contracts\Foundation\Application $app + * @return \Illuminate\Filesystem\FilesystemManager + * @static + */ + public static function setApplication($app) + { + /** @var \Illuminate\Filesystem\FilesystemManager $instance */ + return $instance->setApplication($app); + } + + /** + * Determine if temporary URLs can be generated. + * + * @return bool + * @static + */ + public static function providesTemporaryUrls() + { + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->providesTemporaryUrls(); + } + + /** + * Get a temporary URL for the file at the given path. + * + * @param string $path + * @param \DateTimeInterface $expiration + * @param array $options + * @return string + * @static + */ + public static function temporaryUrl($path, $expiration, $options = []) + { + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->temporaryUrl($path, $expiration, $options); + } + + /** + * Specify the name of the disk the adapter is managing. + * + * @param string $disk + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static + */ + public static function diskName($disk) + { + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->diskName($disk); + } + + /** + * Indiate that signed URLs should serve the corresponding files. + * + * @param bool $serve + * @param \Closure|null $urlGeneratorResolver + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static + */ + public static function shouldServeSignedUrls($serve = true, $urlGeneratorResolver = null) + { + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->shouldServeSignedUrls($serve, $urlGeneratorResolver); + } + + /** + * Assert that the given file or directory exists. + * + * @param string|array $path + * @param string|null $content + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static + */ + public static function assertExists($path, $content = null) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->assertExists($path, $content); + } + + /** + * Assert that the number of files in path equals the expected count. + * + * @param string $path + * @param int $count + * @param bool $recursive + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static + */ + public static function assertCount($path, $count, $recursive = false) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->assertCount($path, $count, $recursive); + } + + /** + * Assert that the given file or directory does not exist. + * + * @param string|array $path + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static + */ + public static function assertMissing($path) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->assertMissing($path); + } + + /** + * Assert that the given directory is empty. + * + * @param string $path + * @return \Illuminate\Filesystem\LocalFilesystemAdapter + * @static + */ + public static function assertDirectoryEmpty($path) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->assertDirectoryEmpty($path); + } + + /** + * Determine if a file or directory exists. + * + * @param string $path + * @return bool + * @static + */ + public static function exists($path) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->exists($path); + } + + /** + * Determine if a file or directory is missing. + * + * @param string $path + * @return bool + * @static + */ + public static function missing($path) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->missing($path); } /** * Determine if a file exists. * * @param string $path - * @return bool - * @static + * @return bool + * @static */ - public static function exists($path) + public static function fileExists($path) { - return \Illuminate\Filesystem\FilesystemAdapter::exists($path); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->fileExists($path); + } + + /** + * Determine if a file is missing. + * + * @param string $path + * @return bool + * @static + */ + public static function fileMissing($path) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->fileMissing($path); + } + + /** + * Determine if a directory exists. + * + * @param string $path + * @return bool + * @static + */ + public static function directoryExists($path) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->directoryExists($path); + } + + /** + * Determine if a directory is missing. + * + * @param string $path + * @return bool + * @static + */ + public static function directoryMissing($path) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->directoryMissing($path); + } + + /** + * Get the full path to the file that exists at the given relative path. + * + * @param string $path + * @return string + * @static + */ + public static function path($path) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->path($path); } /** * Get the contents of a file. * * @param string $path - * @return string - * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException - * @static + * @return string|null + * @static */ public static function get($path) { - return \Illuminate\Filesystem\FilesystemAdapter::get($path); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->get($path); + } + + /** + * Get the contents of a file as decoded JSON. + * + * @param string $path + * @param int $flags + * @return array|null + * @static + */ + public static function json($path, $flags = 0) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->json($path, $flags); + } + + /** + * Create a streamed response for a given file. + * + * @param string $path + * @param string|null $name + * @param array $headers + * @param string|null $disposition + * @return \Symfony\Component\HttpFoundation\StreamedResponse + * @static + */ + public static function response($path, $name = null, $headers = [], $disposition = 'inline') + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->response($path, $name, $headers, $disposition); + } + + /** + * Create a streamed download response for a given file. + * + * @param \Illuminate\Http\Request $request + * @param string $path + * @param string|null $name + * @param array $headers + * @return \Symfony\Component\HttpFoundation\StreamedResponse + * @static + */ + public static function serve($request, $path, $name = null, $headers = []) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->serve($request, $path, $name, $headers); + } + + /** + * Create a streamed download response for a given file. + * + * @param string $path + * @param string|null $name + * @param array $headers + * @return \Symfony\Component\HttpFoundation\StreamedResponse + * @static + */ + public static function download($path, $name = null, $headers = []) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->download($path, $name, $headers); } /** * Write the contents of a file. * * @param string $path - * @param string|resource $contents - * @param array $options - * @return bool - * @static + * @param \Psr\Http\Message\StreamInterface|\Illuminate\Http\File|\Illuminate\Http\UploadedFile|string|resource $contents + * @param mixed $options + * @return string|bool + * @static */ public static function put($path, $contents, $options = []) { - return \Illuminate\Filesystem\FilesystemAdapter::put($path, $contents, $options); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->put($path, $contents, $options); } /** * Store the uploaded file on the disk. * - * @param string $path - * @param \Illuminate\Http\UploadedFile $file - * @param array $options - * @return string|false - * @static + * @param \Illuminate\Http\File|\Illuminate\Http\UploadedFile|string $path + * @param \Illuminate\Http\File|\Illuminate\Http\UploadedFile|string|array|null $file + * @param mixed $options + * @return string|false + * @static */ - public static function putFile($path, $file, $options = []) + public static function putFile($path, $file = null, $options = []) { - return \Illuminate\Filesystem\FilesystemAdapter::putFile($path, $file, $options); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->putFile($path, $file, $options); } /** * Store the uploaded file on the disk with a given name. * - * @param string $path - * @param \Illuminate\Http\File|\Illuminate\Http\UploadedFile $file - * @param string $name - * @param array $options - * @return string|false - * @static + * @param \Illuminate\Http\File|\Illuminate\Http\UploadedFile|string $path + * @param \Illuminate\Http\File|\Illuminate\Http\UploadedFile|string|array|null $file + * @param string|array|null $name + * @param mixed $options + * @return string|false + * @static */ - public static function putFileAs($path, $file, $name, $options = []) + public static function putFileAs($path, $file, $name = null, $options = []) { - return \Illuminate\Filesystem\FilesystemAdapter::putFileAs($path, $file, $name, $options); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->putFileAs($path, $file, $name, $options); } /** * Get the visibility for the given path. * * @param string $path - * @return string - * @static + * @return string + * @static */ public static function getVisibility($path) { - return \Illuminate\Filesystem\FilesystemAdapter::getVisibility($path); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->getVisibility($path); } /** @@ -11722,12 +19362,14 @@ namespace { * * @param string $path * @param string $visibility - * @return void - * @static + * @return bool + * @static */ public static function setVisibility($path, $visibility) { - \Illuminate\Filesystem\FilesystemAdapter::setVisibility($path, $visibility); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->setVisibility($path, $visibility); } /** @@ -11736,12 +19378,15 @@ namespace { * @param string $path * @param string $data * @param string $separator - * @return int - * @static + * @return bool + * @static */ - public static function prepend($path, $data, $separator = '') + public static function prepend($path, $data, $separator = ' +') { - return \Illuminate\Filesystem\FilesystemAdapter::prepend($path, $data, $separator); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->prepend($path, $data, $separator); } /** @@ -11750,24 +19395,29 @@ namespace { * @param string $path * @param string $data * @param string $separator - * @return int - * @static + * @return bool + * @static */ - public static function append($path, $data, $separator = '') + public static function append($path, $data, $separator = ' +') { - return \Illuminate\Filesystem\FilesystemAdapter::append($path, $data, $separator); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->append($path, $data, $separator); } /** * Delete the file at a given path. * * @param string|array $paths - * @return bool - * @static + * @return bool + * @static */ public static function delete($paths) { - return \Illuminate\Filesystem\FilesystemAdapter::delete($paths); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->delete($paths); } /** @@ -11775,12 +19425,14 @@ namespace { * * @param string $from * @param string $to - * @return bool - * @static + * @return bool + * @static */ public static function copy($from, $to) { - return \Illuminate\Filesystem\FilesystemAdapter::copy($from, $to); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->copy($from, $to); } /** @@ -11788,60 +19440,132 @@ namespace { * * @param string $from * @param string $to - * @return bool - * @static + * @return bool + * @static */ public static function move($from, $to) { - return \Illuminate\Filesystem\FilesystemAdapter::move($from, $to); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->move($from, $to); } /** * Get the file size of a given file. * * @param string $path - * @return int - * @static + * @return int + * @static */ public static function size($path) { - return \Illuminate\Filesystem\FilesystemAdapter::size($path); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->size($path); + } + + /** + * Get the checksum for a file. + * + * @return string|false + * @throws UnableToProvideChecksum + * @static + */ + public static function checksum($path, $options = []) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->checksum($path, $options); } /** * Get the mime-type of a given file. * * @param string $path - * @return string|false - * @static + * @return string|false + * @static */ public static function mimeType($path) { - return \Illuminate\Filesystem\FilesystemAdapter::mimeType($path); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->mimeType($path); } /** * Get the file's last modification time. * * @param string $path - * @return int - * @static + * @return int + * @static */ public static function lastModified($path) { - return \Illuminate\Filesystem\FilesystemAdapter::lastModified($path); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->lastModified($path); + } + + /** + * Get a resource to read the file. + * + * @param string $path + * @return resource|null The path resource or null on failure. + * @static + */ + public static function readStream($path) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->readStream($path); + } + + /** + * Write a new file using a stream. + * + * @param string $path + * @param resource $resource + * @param array $options + * @return bool + * @static + */ + public static function writeStream($path, $resource, $options = []) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->writeStream($path, $resource, $options); } /** * Get the URL for the file at the given path. * * @param string $path - * @return string - * @static + * @return string + * @throws \RuntimeException + * @static */ public static function url($path) { - return \Illuminate\Filesystem\FilesystemAdapter::url($path); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->url($path); + } + + /** + * Get a temporary upload URL for the file at the given path. + * + * @param string $path + * @param \DateTimeInterface $expiration + * @param array $options + * @return array + * @throws \RuntimeException + * @static + */ + public static function temporaryUploadUrl($path, $expiration, $options = []) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->temporaryUploadUrl($path, $expiration, $options); } /** @@ -11849,24 +19573,28 @@ namespace { * * @param string|null $directory * @param bool $recursive - * @return array - * @static + * @return array + * @static */ public static function files($directory = null, $recursive = false) { - return \Illuminate\Filesystem\FilesystemAdapter::files($directory, $recursive); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->files($directory, $recursive); } /** * Get all of the files from the given directory (recursive). * * @param string|null $directory - * @return array - * @static + * @return array + * @static */ public static function allFiles($directory = null) { - return \Illuminate\Filesystem\FilesystemAdapter::allFiles($directory); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->allFiles($directory); } /** @@ -11874,97 +19602,285 @@ namespace { * * @param string|null $directory * @param bool $recursive - * @return array - * @static + * @return array + * @static */ public static function directories($directory = null, $recursive = false) { - return \Illuminate\Filesystem\FilesystemAdapter::directories($directory, $recursive); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->directories($directory, $recursive); } /** - * Get all (recursive) of the directories within a given directory. + * Get all the directories within a given directory (recursive). * * @param string|null $directory - * @return array - * @static + * @return array + * @static */ public static function allDirectories($directory = null) { - return \Illuminate\Filesystem\FilesystemAdapter::allDirectories($directory); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->allDirectories($directory); } /** * Create a directory. * * @param string $path - * @return bool - * @static + * @return bool + * @static */ public static function makeDirectory($path) { - return \Illuminate\Filesystem\FilesystemAdapter::makeDirectory($path); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->makeDirectory($path); } /** * Recursively delete a directory. * * @param string $directory - * @return bool - * @static + * @return bool + * @static */ public static function deleteDirectory($directory) { - return \Illuminate\Filesystem\FilesystemAdapter::deleteDirectory($directory); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->deleteDirectory($directory); } /** * Get the Flysystem driver. * - * @return \League\Flysystem\FilesystemInterface - * @static + * @return \League\Flysystem\FilesystemOperator + * @static */ public static function getDriver() { - return \Illuminate\Filesystem\FilesystemAdapter::getDriver(); + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->getDriver(); } - } + /** + * Get the Flysystem adapter. + * + * @return \League\Flysystem\FilesystemAdapter + * @static + */ + public static function getAdapter() + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->getAdapter(); + } - class URL extends \Illuminate\Support\Facades\URL - { + /** + * Get the configuration values. + * + * @return array + * @static + */ + public static function getConfig() + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->getConfig(); + } + + /** + * Define a custom callback that generates file download responses. + * + * @param \Closure $callback + * @return void + * @static + */ + public static function serveUsing($callback) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + $instance->serveUsing($callback); + } + + /** + * Define a custom temporary URL builder callback. + * + * @param \Closure $callback + * @return void + * @static + */ + public static function buildTemporaryUrlsUsing($callback) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + $instance->buildTemporaryUrlsUsing($callback); + } + + /** + * Apply the callback if the given "value" is (or resolves to) truthy. + * + * @template TWhenParameter + * @template TWhenReturnType + * @param (\Closure($this): TWhenParameter)|TWhenParameter|null $value + * @param (callable($this, TWhenParameter): TWhenReturnType)|null $callback + * @param (callable($this, TWhenParameter): TWhenReturnType)|null $default + * @return $this|TWhenReturnType + * @static + */ + public static function when($value = null, $callback = null, $default = null) + { + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->when($value, $callback, $default); + } + + /** + * Apply the callback if the given "value" is (or resolves to) falsy. + * + * @template TUnlessParameter + * @template TUnlessReturnType + * @param (\Closure($this): TUnlessParameter)|TUnlessParameter|null $value + * @param (callable($this, TUnlessParameter): TUnlessReturnType)|null $callback + * @param (callable($this, TUnlessParameter): TUnlessReturnType)|null $default + * @return $this|TUnlessReturnType + * @static + */ + public static function unless($value = null, $callback = null, $default = null) + { + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->unless($value, $callback, $default); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + \Illuminate\Filesystem\LocalFilesystemAdapter::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + \Illuminate\Filesystem\LocalFilesystemAdapter::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + return \Illuminate\Filesystem\LocalFilesystemAdapter::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + \Illuminate\Filesystem\LocalFilesystemAdapter::flushMacros(); + } + + /** + * Dynamically handle calls to the class. + * + * @param string $method + * @param array $parameters + * @return mixed + * @throws \BadMethodCallException + * @static + */ + public static function macroCall($method, $parameters) + { + //Method inherited from \Illuminate\Filesystem\FilesystemAdapter + /** @var \Illuminate\Filesystem\LocalFilesystemAdapter $instance */ + return $instance->macroCall($method, $parameters); + } + + } + /** + * + * + * @see \Illuminate\Routing\UrlGenerator + */ + class URL { /** * Get the full URL for the current request. * - * @return string - * @static + * @return string + * @static */ public static function full() { - return \Illuminate\Routing\UrlGenerator::full(); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->full(); } /** * Get the current URL for the request. * - * @return string - * @static + * @return string + * @static */ public static function current() { - return \Illuminate\Routing\UrlGenerator::current(); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->current(); } /** * Get the URL for the previous request. * * @param mixed $fallback - * @return string - * @static + * @return string + * @static */ public static function previous($fallback = false) { - return \Illuminate\Routing\UrlGenerator::previous($fallback); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->previous($fallback); + } + + /** + * Get the previous path info for the request. + * + * @param mixed $fallback + * @return string + * @static + */ + public static function previousPath($fallback = false) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->previousPath($fallback); } /** @@ -11973,12 +19889,29 @@ namespace { * @param string $path * @param mixed $extra * @param bool|null $secure - * @return string - * @static + * @return string + * @static */ public static function to($path, $extra = [], $secure = null) { - return \Illuminate\Routing\UrlGenerator::to($path, $extra, $secure); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->to($path, $extra, $secure); + } + + /** + * Generate an absolute URL with the given query parameters. + * + * @param string $path + * @param array $query + * @param mixed $extra + * @param bool|null $secure + * @return string + * @static + */ + public static function query($path, $query = [], $extra = [], $secure = null) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->query($path, $query, $extra, $secure); } /** @@ -11986,12 +19919,13 @@ namespace { * * @param string $path * @param array $parameters - * @return string - * @static + * @return string + * @static */ public static function secure($path, $parameters = []) { - return \Illuminate\Routing\UrlGenerator::secure($path, $parameters); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->secure($path, $parameters); } /** @@ -11999,24 +19933,26 @@ namespace { * * @param string $path * @param bool|null $secure - * @return string - * @static + * @return string + * @static */ public static function asset($path, $secure = null) { - return \Illuminate\Routing\UrlGenerator::asset($path, $secure); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->asset($path, $secure); } /** * Generate the URL to a secure asset. * * @param string $path - * @return string - * @static + * @return string + * @static */ public static function secureAsset($path) { - return \Illuminate\Routing\UrlGenerator::secureAsset($path); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->secureAsset($path); } /** @@ -12025,79 +19961,191 @@ namespace { * @param string $root * @param string $path * @param bool|null $secure - * @return string - * @static + * @return string + * @static */ public static function assetFrom($root, $path, $secure = null) { - return \Illuminate\Routing\UrlGenerator::assetFrom($root, $path, $secure); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->assetFrom($root, $path, $secure); } /** * Get the default scheme for a raw URL. * * @param bool|null $secure - * @return string - * @static + * @return string + * @static */ - public static function formatScheme($secure) + public static function formatScheme($secure = null) { - return \Illuminate\Routing\UrlGenerator::formatScheme($secure); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->formatScheme($secure); + } + + /** + * Create a signed route URL for a named route. + * + * @param \BackedEnum|string $name + * @param mixed $parameters + * @param \DateTimeInterface|\DateInterval|int|null $expiration + * @param bool $absolute + * @return string + * @throws \InvalidArgumentException + * @static + */ + public static function signedRoute($name, $parameters = [], $expiration = null, $absolute = true) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->signedRoute($name, $parameters, $expiration, $absolute); + } + + /** + * Create a temporary signed route URL for a named route. + * + * @param \BackedEnum|string $name + * @param \DateTimeInterface|\DateInterval|int $expiration + * @param array $parameters + * @param bool $absolute + * @return string + * @static + */ + public static function temporarySignedRoute($name, $expiration, $parameters = [], $absolute = true) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->temporarySignedRoute($name, $expiration, $parameters, $absolute); + } + + /** + * Determine if the given request has a valid signature. + * + * @param \Illuminate\Http\Request $request + * @param bool $absolute + * @param array $ignoreQuery + * @return bool + * @static + */ + public static function hasValidSignature($request, $absolute = true, $ignoreQuery = []) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->hasValidSignature($request, $absolute, $ignoreQuery); + } + + /** + * Determine if the given request has a valid signature for a relative URL. + * + * @param \Illuminate\Http\Request $request + * @param array $ignoreQuery + * @return bool + * @static + */ + public static function hasValidRelativeSignature($request, $ignoreQuery = []) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->hasValidRelativeSignature($request, $ignoreQuery); + } + + /** + * Determine if the signature from the given request matches the URL. + * + * @param \Illuminate\Http\Request $request + * @param bool $absolute + * @param array $ignoreQuery + * @return bool + * @static + */ + public static function hasCorrectSignature($request, $absolute = true, $ignoreQuery = []) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->hasCorrectSignature($request, $absolute, $ignoreQuery); + } + + /** + * Determine if the expires timestamp from the given request is not from the past. + * + * @param \Illuminate\Http\Request $request + * @return bool + * @static + */ + public static function signatureHasNotExpired($request) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->signatureHasNotExpired($request); } /** * Get the URL to a named route. * - * @param string $name + * @param \BackedEnum|string $name * @param mixed $parameters * @param bool $absolute - * @return string - * @throws \InvalidArgumentException - * @static + * @return string + * @throws \Symfony\Component\Routing\Exception\RouteNotFoundException|\InvalidArgumentException + * @static */ public static function route($name, $parameters = [], $absolute = true) { - return \Illuminate\Routing\UrlGenerator::route($name, $parameters, $absolute); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->route($name, $parameters, $absolute); + } + + /** + * Get the URL for a given route instance. + * + * @param \Illuminate\Routing\Route $route + * @param mixed $parameters + * @param bool $absolute + * @return string + * @throws \Illuminate\Routing\Exceptions\UrlGenerationException + * @static + */ + public static function toRoute($route, $parameters, $absolute) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->toRoute($route, $parameters, $absolute); } /** * Get the URL to a controller action. * - * @param string $action + * @param string|array $action * @param mixed $parameters * @param bool $absolute - * @return string + * @return string * @throws \InvalidArgumentException - * @static + * @static */ public static function action($action, $parameters = [], $absolute = true) { - return \Illuminate\Routing\UrlGenerator::action($action, $parameters, $absolute); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->action($action, $parameters, $absolute); } /** * Format the array of URL parameters. * - * @param mixed|array $parameters - * @return array - * @static + * @param mixed $parameters + * @return array + * @static */ public static function formatParameters($parameters) { - return \Illuminate\Routing\UrlGenerator::formatParameters($parameters); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->formatParameters($parameters); } /** * Get the base URL for the request. * * @param string $scheme - * @param string $root - * @return string - * @static + * @param string|null $root + * @return string + * @static */ public static function formatRoot($scheme, $root = null) { - return \Illuminate\Routing\UrlGenerator::formatRoot($scheme, $root); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->formatRoot($scheme, $root); } /** @@ -12105,198 +20153,318 @@ namespace { * * @param string $root * @param string $path - * @return string - * @static + * @param \Illuminate\Routing\Route|null $route + * @return string + * @static */ - public static function format($root, $path) + public static function format($root, $path, $route = null) { - return \Illuminate\Routing\UrlGenerator::format($root, $path); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->format($root, $path, $route); } /** * Determine if the given path is a valid URL. * * @param string $path - * @return bool - * @static + * @return bool + * @static */ public static function isValidUrl($path) { - return \Illuminate\Routing\UrlGenerator::isValidUrl($path); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->isValidUrl($path); } /** * Set the default named parameters used by the URL generator. * * @param array $defaults - * @return void - * @static + * @return void + * @static */ public static function defaults($defaults) { - \Illuminate\Routing\UrlGenerator::defaults($defaults); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + $instance->defaults($defaults); + } + + /** + * Get the default named parameters used by the URL generator. + * + * @return array + * @static + */ + public static function getDefaultParameters() + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->getDefaultParameters(); } /** * Force the scheme for URLs. * - * @param string $schema - * @return void - * @static + * @param string|null $scheme + * @return void + * @static */ - public static function forceScheme($schema) + public static function forceScheme($scheme) { - \Illuminate\Routing\UrlGenerator::forceScheme($schema); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + $instance->forceScheme($scheme); + } + + /** + * Force the use of the HTTPS scheme for all generated URLs. + * + * @param bool $force + * @return void + * @static + */ + public static function forceHttps($force = true) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + $instance->forceHttps($force); } /** * Set the forced root URL. * - * @param string $root - * @return void - * @static + * @param string|null $root + * @return void + * @static */ public static function forceRootUrl($root) { - \Illuminate\Routing\UrlGenerator::forceRootUrl($root); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + $instance->forceRootUrl($root); } /** * Set a callback to be used to format the host of generated URLs. * * @param \Closure $callback - * @return $this - * @static + * @return \Illuminate\Routing\UrlGenerator + * @static */ public static function formatHostUsing($callback) { - return \Illuminate\Routing\UrlGenerator::formatHostUsing($callback); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->formatHostUsing($callback); } /** * Set a callback to be used to format the path of generated URLs. * * @param \Closure $callback - * @return $this - * @static + * @return \Illuminate\Routing\UrlGenerator + * @static */ public static function formatPathUsing($callback) { - return \Illuminate\Routing\UrlGenerator::formatPathUsing($callback); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->formatPathUsing($callback); } /** * Get the path formatter being used by the URL generator. * - * @return \Closure - * @static + * @return \Closure + * @static */ public static function pathFormatter() { - return \Illuminate\Routing\UrlGenerator::pathFormatter(); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->pathFormatter(); } /** * Get the request instance. * - * @return \Illuminate\Http\Request - * @static + * @return \Illuminate\Http\Request + * @static */ public static function getRequest() { - return \Illuminate\Routing\UrlGenerator::getRequest(); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->getRequest(); } /** * Set the current request instance. * * @param \Illuminate\Http\Request $request - * @return void - * @static + * @return void + * @static */ public static function setRequest($request) { - \Illuminate\Routing\UrlGenerator::setRequest($request); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + $instance->setRequest($request); } /** * Set the route collection. * - * @param \Illuminate\Routing\RouteCollection $routes - * @return $this - * @static + * @param \Illuminate\Routing\RouteCollectionInterface $routes + * @return \Illuminate\Routing\UrlGenerator + * @static */ public static function setRoutes($routes) { - return \Illuminate\Routing\UrlGenerator::setRoutes($routes); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->setRoutes($routes); } /** * Set the session resolver for the generator. * * @param callable $sessionResolver - * @return $this - * @static + * @return \Illuminate\Routing\UrlGenerator + * @static */ public static function setSessionResolver($sessionResolver) { - return \Illuminate\Routing\UrlGenerator::setSessionResolver($sessionResolver); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->setSessionResolver($sessionResolver); + } + + /** + * Set the encryption key resolver. + * + * @param callable $keyResolver + * @return \Illuminate\Routing\UrlGenerator + * @static + */ + public static function setKeyResolver($keyResolver) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->setKeyResolver($keyResolver); + } + + /** + * Clone a new instance of the URL generator with a different encryption key resolver. + * + * @param callable $keyResolver + * @return \Illuminate\Routing\UrlGenerator + * @static + */ + public static function withKeyResolver($keyResolver) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->withKeyResolver($keyResolver); + } + + /** + * Set the callback that should be used to attempt to resolve missing named routes. + * + * @param callable $missingNamedRouteResolver + * @return \Illuminate\Routing\UrlGenerator + * @static + */ + public static function resolveMissingNamedRoutesUsing($missingNamedRouteResolver) + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->resolveMissingNamedRoutesUsing($missingNamedRouteResolver); + } + + /** + * Get the root controller namespace. + * + * @return string + * @static + */ + public static function getRootControllerNamespace() + { + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->getRootControllerNamespace(); } /** * Set the root controller namespace. * * @param string $rootNamespace - * @return $this - * @static + * @return \Illuminate\Routing\UrlGenerator + * @static */ public static function setRootControllerNamespace($rootNamespace) { - return \Illuminate\Routing\UrlGenerator::setRootControllerNamespace($rootNamespace); + /** @var \Illuminate\Routing\UrlGenerator $instance */ + return $instance->setRootControllerNamespace($rootNamespace); } /** * Register a custom macro. * * @param string $name - * @param callable $macro - * @return void - * @static + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static */ public static function macro($name, $macro) { \Illuminate\Routing\UrlGenerator::macro($name, $macro); } + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Routing\UrlGenerator::mixin($mixin, $replace); + } + /** * Checks if macro is registered. * * @param string $name - * @return bool - * @static + * @return bool + * @static */ public static function hasMacro($name) { return \Illuminate\Routing\UrlGenerator::hasMacro($name); } - } + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Routing\UrlGenerator::flushMacros(); + } - class Validator extends \Illuminate\Support\Facades\Validator - { + } + /** + * + * + * @see \Illuminate\Validation\Factory + */ + class Validator { /** * Create a new Validator instance. * * @param array $data * @param array $rules * @param array $messages - * @param array $customAttributes - * @return \Illuminate\Validation\Validator - * @static + * @param array $attributes + * @return \Illuminate\Validation\Validator + * @static */ - public static function make($data, $rules, $messages = [], $customAttributes = []) + public static function make($data, $rules, $messages = [], $attributes = []) { - return \Illuminate\Validation\Factory::make($data, $rules, $messages, $customAttributes); + /** @var \Illuminate\Validation\Factory $instance */ + return $instance->make($data, $rules, $messages, $attributes); } /** @@ -12305,14 +20473,15 @@ namespace { * @param array $data * @param array $rules * @param array $messages - * @param array $customAttributes - * @return void + * @param array $attributes + * @return array * @throws \Illuminate\Validation\ValidationException - * @static + * @static */ - public static function validate($data, $rules, $messages = [], $customAttributes = []) + public static function validate($data, $rules, $messages = [], $attributes = []) { - \Illuminate\Validation\Factory::validate($data, $rules, $messages, $customAttributes); + /** @var \Illuminate\Validation\Factory $instance */ + return $instance->validate($data, $rules, $messages, $attributes); } /** @@ -12320,13 +20489,14 @@ namespace { * * @param string $rule * @param \Closure|string $extension - * @param string $message - * @return void - * @static + * @param string|null $message + * @return void + * @static */ public static function extend($rule, $extension, $message = null) { - \Illuminate\Validation\Factory::extend($rule, $extension, $message); + /** @var \Illuminate\Validation\Factory $instance */ + $instance->extend($rule, $extension, $message); } /** @@ -12334,104 +20504,227 @@ namespace { * * @param string $rule * @param \Closure|string $extension - * @param string $message - * @return void - * @static + * @param string|null $message + * @return void + * @static */ public static function extendImplicit($rule, $extension, $message = null) { - \Illuminate\Validation\Factory::extendImplicit($rule, $extension, $message); + /** @var \Illuminate\Validation\Factory $instance */ + $instance->extendImplicit($rule, $extension, $message); } /** - * Register a custom implicit validator message replacer. + * Register a custom dependent validator extension. + * + * @param string $rule + * @param \Closure|string $extension + * @param string|null $message + * @return void + * @static + */ + public static function extendDependent($rule, $extension, $message = null) + { + /** @var \Illuminate\Validation\Factory $instance */ + $instance->extendDependent($rule, $extension, $message); + } + + /** + * Register a custom validator message replacer. * * @param string $rule * @param \Closure|string $replacer - * @return void - * @static + * @return void + * @static */ public static function replacer($rule, $replacer) { - \Illuminate\Validation\Factory::replacer($rule, $replacer); + /** @var \Illuminate\Validation\Factory $instance */ + $instance->replacer($rule, $replacer); + } + + /** + * Indicate that unvalidated array keys should be included in validated data when the parent array is validated. + * + * @return void + * @static + */ + public static function includeUnvalidatedArrayKeys() + { + /** @var \Illuminate\Validation\Factory $instance */ + $instance->includeUnvalidatedArrayKeys(); + } + + /** + * Indicate that unvalidated array keys should be excluded from the validated data, even if the parent array was validated. + * + * @return void + * @static + */ + public static function excludeUnvalidatedArrayKeys() + { + /** @var \Illuminate\Validation\Factory $instance */ + $instance->excludeUnvalidatedArrayKeys(); } /** * Set the Validator instance resolver. * * @param \Closure $resolver - * @return void - * @static + * @return void + * @static */ public static function resolver($resolver) { - \Illuminate\Validation\Factory::resolver($resolver); + /** @var \Illuminate\Validation\Factory $instance */ + $instance->resolver($resolver); } /** * Get the Translator implementation. * - * @return \Illuminate\Contracts\Translation\Translator - * @static + * @return \Illuminate\Contracts\Translation\Translator + * @static */ public static function getTranslator() { - return \Illuminate\Validation\Factory::getTranslator(); + /** @var \Illuminate\Validation\Factory $instance */ + return $instance->getTranslator(); } /** * Get the Presence Verifier implementation. * - * @return \Illuminate\Validation\PresenceVerifierInterface - * @static + * @return \Illuminate\Validation\PresenceVerifierInterface + * @static */ public static function getPresenceVerifier() { - return \Illuminate\Validation\Factory::getPresenceVerifier(); + /** @var \Illuminate\Validation\Factory $instance */ + return $instance->getPresenceVerifier(); } /** * Set the Presence Verifier implementation. * * @param \Illuminate\Validation\PresenceVerifierInterface $presenceVerifier - * @return void - * @static + * @return void + * @static */ public static function setPresenceVerifier($presenceVerifier) { - \Illuminate\Validation\Factory::setPresenceVerifier($presenceVerifier); + /** @var \Illuminate\Validation\Factory $instance */ + $instance->setPresenceVerifier($presenceVerifier); } - } + /** + * Get the container instance used by the validation factory. + * + * @return \Illuminate\Contracts\Container\Container|null + * @static + */ + public static function getContainer() + { + /** @var \Illuminate\Validation\Factory $instance */ + return $instance->getContainer(); + } - class View extends \Illuminate\Support\Facades\View - { + /** + * Set the container instance used by the validation factory. + * + * @param \Illuminate\Contracts\Container\Container $container + * @return \Illuminate\Validation\Factory + * @static + */ + public static function setContainer($container) + { + /** @var \Illuminate\Validation\Factory $instance */ + return $instance->setContainer($container); + } + + } + /** + * + * + * @see \Illuminate\View\Factory + */ + class View { /** * Get the evaluated view contents for the given view. * * @param string $path - * @param array $data + * @param \Illuminate\Contracts\Support\Arrayable|array $data * @param array $mergeData - * @return \Illuminate\Contracts\View\View - * @static + * @return \Illuminate\Contracts\View\View + * @static */ public static function file($path, $data = [], $mergeData = []) { - return \Illuminate\View\Factory::file($path, $data, $mergeData); + /** @var \Illuminate\View\Factory $instance */ + return $instance->file($path, $data, $mergeData); } /** * Get the evaluated view contents for the given view. * * @param string $view - * @param array $data + * @param \Illuminate\Contracts\Support\Arrayable|array $data * @param array $mergeData - * @return \Illuminate\Contracts\View\View - * @static + * @return \Illuminate\Contracts\View\View + * @static */ public static function make($view, $data = [], $mergeData = []) { - return \Illuminate\View\Factory::make($view, $data, $mergeData); + /** @var \Illuminate\View\Factory $instance */ + return $instance->make($view, $data, $mergeData); + } + + /** + * Get the first view that actually exists from the given list. + * + * @param array $views + * @param \Illuminate\Contracts\Support\Arrayable|array $data + * @param array $mergeData + * @return \Illuminate\Contracts\View\View + * @throws \InvalidArgumentException + * @static + */ + public static function first($views, $data = [], $mergeData = []) + { + /** @var \Illuminate\View\Factory $instance */ + return $instance->first($views, $data, $mergeData); + } + + /** + * Get the rendered content of the view based on a given condition. + * + * @param bool $condition + * @param string $view + * @param \Illuminate\Contracts\Support\Arrayable|array $data + * @param array $mergeData + * @return string + * @static + */ + public static function renderWhen($condition, $view, $data = [], $mergeData = []) + { + /** @var \Illuminate\View\Factory $instance */ + return $instance->renderWhen($condition, $view, $data, $mergeData); + } + + /** + * Get the rendered content of the view based on the negation of a given condition. + * + * @param bool $condition + * @param string $view + * @param \Illuminate\Contracts\Support\Arrayable|array $data + * @param array $mergeData + * @return string + * @static + */ + public static function renderUnless($condition, $view, $data = [], $mergeData = []) + { + /** @var \Illuminate\View\Factory $instance */ + return $instance->renderUnless($condition, $view, $data, $mergeData); } /** @@ -12441,95 +20734,142 @@ namespace { * @param array $data * @param string $iterator * @param string $empty - * @return string - * @static + * @return string + * @static */ public static function renderEach($view, $data, $iterator, $empty = 'raw|') { - return \Illuminate\View\Factory::renderEach($view, $data, $iterator, $empty); + /** @var \Illuminate\View\Factory $instance */ + return $instance->renderEach($view, $data, $iterator, $empty); } /** * Determine if a given view exists. * * @param string $view - * @return bool - * @static + * @return bool + * @static */ public static function exists($view) { - return \Illuminate\View\Factory::exists($view); + /** @var \Illuminate\View\Factory $instance */ + return $instance->exists($view); } /** * Get the appropriate view engine for the given path. * * @param string $path - * @return \Illuminate\View\Engines\EngineInterface + * @return \Illuminate\Contracts\View\Engine * @throws \InvalidArgumentException - * @static + * @static */ public static function getEngineFromPath($path) { - return \Illuminate\View\Factory::getEngineFromPath($path); + /** @var \Illuminate\View\Factory $instance */ + return $instance->getEngineFromPath($path); } /** * Add a piece of shared data to the environment. * * @param array|string $key - * @param mixed $value - * @return mixed - * @static + * @param mixed|null $value + * @return mixed + * @static */ public static function share($key, $value = null) { - return \Illuminate\View\Factory::share($key, $value); + /** @var \Illuminate\View\Factory $instance */ + return $instance->share($key, $value); } /** * Increment the rendering counter. * - * @return void - * @static + * @return void + * @static */ public static function incrementRender() { - \Illuminate\View\Factory::incrementRender(); + /** @var \Illuminate\View\Factory $instance */ + $instance->incrementRender(); } /** * Decrement the rendering counter. * - * @return void - * @static + * @return void + * @static */ public static function decrementRender() { - \Illuminate\View\Factory::decrementRender(); + /** @var \Illuminate\View\Factory $instance */ + $instance->decrementRender(); } /** * Check if there are no active render operations. * - * @return bool - * @static + * @return bool + * @static */ public static function doneRendering() { - return \Illuminate\View\Factory::doneRendering(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->doneRendering(); + } + + /** + * Determine if the given once token has been rendered. + * + * @param string $id + * @return bool + * @static + */ + public static function hasRenderedOnce($id) + { + /** @var \Illuminate\View\Factory $instance */ + return $instance->hasRenderedOnce($id); + } + + /** + * Mark the given once token as having been rendered. + * + * @param string $id + * @return void + * @static + */ + public static function markAsRenderedOnce($id) + { + /** @var \Illuminate\View\Factory $instance */ + $instance->markAsRenderedOnce($id); } /** * Add a location to the array of view locations. * * @param string $location - * @return void - * @static + * @return void + * @static */ public static function addLocation($location) { - \Illuminate\View\Factory::addLocation($location); + /** @var \Illuminate\View\Factory $instance */ + $instance->addLocation($location); + } + + /** + * Prepend a location to the array of view locations. + * + * @param string $location + * @return void + * @static + */ + public static function prependLocation($location) + { + /** @var \Illuminate\View\Factory $instance */ + $instance->prependLocation($location); } /** @@ -12537,12 +20877,13 @@ namespace { * * @param string $namespace * @param string|array $hints - * @return $this - * @static + * @return \Illuminate\View\Factory + * @static */ public static function addNamespace($namespace, $hints) { - return \Illuminate\View\Factory::addNamespace($namespace, $hints); + /** @var \Illuminate\View\Factory $instance */ + return $instance->addNamespace($namespace, $hints); } /** @@ -12550,12 +20891,13 @@ namespace { * * @param string $namespace * @param string|array $hints - * @return $this - * @static + * @return \Illuminate\View\Factory + * @static */ public static function prependNamespace($namespace, $hints) { - return \Illuminate\View\Factory::prependNamespace($namespace, $hints); + /** @var \Illuminate\View\Factory $instance */ + return $instance->prependNamespace($namespace, $hints); } /** @@ -12563,12 +20905,13 @@ namespace { * * @param string $namespace * @param string|array $hints - * @return $this - * @static + * @return \Illuminate\View\Factory + * @static */ public static function replaceNamespace($namespace, $hints) { - return \Illuminate\View\Factory::replaceNamespace($namespace, $hints); + /** @var \Illuminate\View\Factory $instance */ + return $instance->replaceNamespace($namespace, $hints); } /** @@ -12576,137 +20919,149 @@ namespace { * * @param string $extension * @param string $engine - * @param \Closure $resolver - * @return void - * @static + * @param \Closure|null $resolver + * @return void + * @static */ public static function addExtension($extension, $engine, $resolver = null) { - \Illuminate\View\Factory::addExtension($extension, $engine, $resolver); + /** @var \Illuminate\View\Factory $instance */ + $instance->addExtension($extension, $engine, $resolver); } /** * Flush all of the factory state like sections and stacks. * - * @return void - * @static + * @return void + * @static */ public static function flushState() { - \Illuminate\View\Factory::flushState(); + /** @var \Illuminate\View\Factory $instance */ + $instance->flushState(); } /** * Flush all of the section contents if done rendering. * - * @return void - * @static + * @return void + * @static */ public static function flushStateIfDoneRendering() { - \Illuminate\View\Factory::flushStateIfDoneRendering(); + /** @var \Illuminate\View\Factory $instance */ + $instance->flushStateIfDoneRendering(); } /** * Get the extension to engine bindings. * - * @return array - * @static + * @return array + * @static */ public static function getExtensions() { - return \Illuminate\View\Factory::getExtensions(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->getExtensions(); } /** * Get the engine resolver instance. * - * @return \Illuminate\View\Engines\EngineResolver - * @static + * @return \Illuminate\View\Engines\EngineResolver + * @static */ public static function getEngineResolver() { - return \Illuminate\View\Factory::getEngineResolver(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->getEngineResolver(); } /** * Get the view finder instance. * - * @return \Illuminate\View\ViewFinderInterface - * @static + * @return \Illuminate\View\ViewFinderInterface + * @static */ public static function getFinder() { - return \Illuminate\View\Factory::getFinder(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->getFinder(); } /** * Set the view finder instance. * * @param \Illuminate\View\ViewFinderInterface $finder - * @return void - * @static + * @return void + * @static */ public static function setFinder($finder) { - \Illuminate\View\Factory::setFinder($finder); + /** @var \Illuminate\View\Factory $instance */ + $instance->setFinder($finder); } /** * Flush the cache of views located by the finder. * - * @return void - * @static + * @return void + * @static */ public static function flushFinderCache() { - \Illuminate\View\Factory::flushFinderCache(); + /** @var \Illuminate\View\Factory $instance */ + $instance->flushFinderCache(); } /** * Get the event dispatcher instance. * - * @return \Illuminate\Contracts\Events\Dispatcher - * @static + * @return \Illuminate\Contracts\Events\Dispatcher + * @static */ public static function getDispatcher() { - return \Illuminate\View\Factory::getDispatcher(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->getDispatcher(); } /** * Set the event dispatcher instance. * * @param \Illuminate\Contracts\Events\Dispatcher $events - * @return void - * @static + * @return void + * @static */ public static function setDispatcher($events) { - \Illuminate\View\Factory::setDispatcher($events); + /** @var \Illuminate\View\Factory $instance */ + $instance->setDispatcher($events); } /** * Get the IoC container instance. * - * @return \Illuminate\Contracts\Container\Container - * @static + * @return \Illuminate\Contracts\Container\Container + * @static */ public static function getContainer() { - return \Illuminate\View\Factory::getContainer(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->getContainer(); } /** * Set the IoC container instance. * * @param \Illuminate\Contracts\Container\Container $container - * @return void - * @static + * @return void + * @static */ public static function setContainer($container) { - \Illuminate\View\Factory::setContainer($container); + /** @var \Illuminate\View\Factory $instance */ + $instance->setContainer($container); } /** @@ -12714,47 +21069,130 @@ namespace { * * @param string $key * @param mixed $default - * @return mixed - * @static + * @return mixed + * @static */ public static function shared($key, $default = null) { - return \Illuminate\View\Factory::shared($key, $default); + /** @var \Illuminate\View\Factory $instance */ + return $instance->shared($key, $default); } /** * Get all of the shared data for the environment. * - * @return array - * @static + * @return array + * @static */ public static function getShared() { - return \Illuminate\View\Factory::getShared(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->getShared(); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\View\Factory::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\View\Factory::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\View\Factory::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\View\Factory::flushMacros(); } /** * Start a component rendering process. * - * @param string $name + * @param \Illuminate\Contracts\View\View|\Illuminate\Contracts\Support\Htmlable|\Closure|string $view * @param array $data - * @return void - * @static + * @return void + * @static */ - public static function startComponent($name, $data = []) + public static function startComponent($view, $data = []) { - \Illuminate\View\Factory::startComponent($name, $data); + /** @var \Illuminate\View\Factory $instance */ + $instance->startComponent($view, $data); + } + + /** + * Get the first view that actually exists from the given list, and start a component. + * + * @param array $names + * @param array $data + * @return void + * @static + */ + public static function startComponentFirst($names, $data = []) + { + /** @var \Illuminate\View\Factory $instance */ + $instance->startComponentFirst($names, $data); } /** * Render the current component. * - * @return string - * @static + * @return string + * @static */ public static function renderComponent() { - return \Illuminate\View\Factory::renderComponent(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->renderComponent(); + } + + /** + * Get an item from the component data that exists above the current component. + * + * @param string $key + * @param mixed $default + * @return mixed|null + * @static + */ + public static function getConsumableComponentData($key, $default = null) + { + /** @var \Illuminate\View\Factory $instance */ + return $instance->getConsumableComponentData($key, $default); } /** @@ -12762,23 +21200,26 @@ namespace { * * @param string $name * @param string|null $content - * @return void - * @static + * @param array $attributes + * @return void + * @static */ - public static function slot($name, $content = null) + public static function slot($name, $content = null, $attributes = []) { - \Illuminate\View\Factory::slot($name, $content); + /** @var \Illuminate\View\Factory $instance */ + $instance->slot($name, $content, $attributes); } /** * Save the slot content for rendering. * - * @return void - * @static + * @return void + * @static */ public static function endSlot() { - \Illuminate\View\Factory::endSlot(); + /** @var \Illuminate\View\Factory $instance */ + $instance->endSlot(); } /** @@ -12786,24 +21227,26 @@ namespace { * * @param array|string $views * @param \Closure|string $callback - * @return array - * @static + * @return array + * @static */ public static function creator($views, $callback) { - return \Illuminate\View\Factory::creator($views, $callback); + /** @var \Illuminate\View\Factory $instance */ + return $instance->creator($views, $callback); } /** * Register multiple view composers via an array. * * @param array $composers - * @return array - * @static + * @return array + * @static */ public static function composers($composers) { - return \Illuminate\View\Factory::composers($composers); + /** @var \Illuminate\View\Factory $instance */ + return $instance->composers($composers); } /** @@ -12811,36 +21254,103 @@ namespace { * * @param array|string $views * @param \Closure|string $callback - * @return array - * @static + * @return array + * @static */ public static function composer($views, $callback) { - return \Illuminate\View\Factory::composer($views, $callback); + /** @var \Illuminate\View\Factory $instance */ + return $instance->composer($views, $callback); } /** * Call the composer for a given view. * * @param \Illuminate\Contracts\View\View $view - * @return void - * @static + * @return void + * @static */ public static function callComposer($view) { - \Illuminate\View\Factory::callComposer($view); + /** @var \Illuminate\View\Factory $instance */ + $instance->callComposer($view); } /** * Call the creator for a given view. * * @param \Illuminate\Contracts\View\View $view - * @return void - * @static + * @return void + * @static */ public static function callCreator($view) { - \Illuminate\View\Factory::callCreator($view); + /** @var \Illuminate\View\Factory $instance */ + $instance->callCreator($view); + } + + /** + * Start injecting content into a fragment. + * + * @param string $fragment + * @return void + * @static + */ + public static function startFragment($fragment) + { + /** @var \Illuminate\View\Factory $instance */ + $instance->startFragment($fragment); + } + + /** + * Stop injecting content into a fragment. + * + * @return string + * @throws \InvalidArgumentException + * @static + */ + public static function stopFragment() + { + /** @var \Illuminate\View\Factory $instance */ + return $instance->stopFragment(); + } + + /** + * Get the contents of a fragment. + * + * @param string $name + * @param string|null $default + * @return mixed + * @static + */ + public static function getFragment($name, $default = null) + { + /** @var \Illuminate\View\Factory $instance */ + return $instance->getFragment($name, $default); + } + + /** + * Get the entire array of rendered fragments. + * + * @return array + * @static + */ + public static function getFragments() + { + /** @var \Illuminate\View\Factory $instance */ + return $instance->getFragments(); + } + + /** + * Flush all of the fragments. + * + * @return void + * @static + */ + public static function flushFragments() + { + /** @var \Illuminate\View\Factory $instance */ + $instance->flushFragments(); } /** @@ -12848,12 +21358,13 @@ namespace { * * @param string $section * @param string|null $content - * @return void - * @static + * @return void + * @static */ public static function startSection($section, $content = null) { - \Illuminate\View\Factory::startSection($section, $content); + /** @var \Illuminate\View\Factory $instance */ + $instance->startSection($section, $content); } /** @@ -12861,48 +21372,52 @@ namespace { * * @param string $section * @param string $content - * @return void - * @static + * @return void + * @static */ public static function inject($section, $content) { - \Illuminate\View\Factory::inject($section, $content); + /** @var \Illuminate\View\Factory $instance */ + $instance->inject($section, $content); } /** * Stop injecting content into a section and return its contents. * - * @return string - * @static + * @return string + * @static */ public static function yieldSection() { - return \Illuminate\View\Factory::yieldSection(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->yieldSection(); } /** * Stop injecting content into a section. * * @param bool $overwrite - * @return string + * @return string * @throws \InvalidArgumentException - * @static + * @static */ public static function stopSection($overwrite = false) { - return \Illuminate\View\Factory::stopSection($overwrite); + /** @var \Illuminate\View\Factory $instance */ + return $instance->stopSection($overwrite); } /** * Stop injecting content into a section and append it. * - * @return string + * @return string * @throws \InvalidArgumentException - * @static + * @static */ public static function appendSection() { - return \Illuminate\View\Factory::appendSection(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->appendSection(); } /** @@ -12910,20 +21425,21 @@ namespace { * * @param string $section * @param string $default - * @return string - * @static + * @return string + * @static */ public static function yieldContent($section, $default = '') { - return \Illuminate\View\Factory::yieldContent($section, $default); + /** @var \Illuminate\View\Factory $instance */ + return $instance->yieldContent($section, $default); } /** * Get the parent placeholder for the current request. * * @param string $section - * @return string - * @static + * @return string + * @static */ public static function parentPlaceholder($section = '') { @@ -12934,90 +21450,125 @@ namespace { * Check if section exists. * * @param string $name - * @return bool - * @static + * @return bool + * @static */ public static function hasSection($name) { - return \Illuminate\View\Factory::hasSection($name); + /** @var \Illuminate\View\Factory $instance */ + return $instance->hasSection($name); + } + + /** + * Check if section does not exist. + * + * @param string $name + * @return bool + * @static + */ + public static function sectionMissing($name) + { + /** @var \Illuminate\View\Factory $instance */ + return $instance->sectionMissing($name); + } + + /** + * Get the contents of a section. + * + * @param string $name + * @param string|null $default + * @return mixed + * @static + */ + public static function getSection($name, $default = null) + { + /** @var \Illuminate\View\Factory $instance */ + return $instance->getSection($name, $default); } /** * Get the entire array of sections. * - * @return array - * @static + * @return array + * @static */ public static function getSections() { - return \Illuminate\View\Factory::getSections(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->getSections(); } /** * Flush all of the sections. * - * @return void - * @static + * @return void + * @static */ public static function flushSections() { - \Illuminate\View\Factory::flushSections(); + /** @var \Illuminate\View\Factory $instance */ + $instance->flushSections(); } /** * Add new loop to the stack. * * @param \Countable|array $data - * @return void - * @static + * @return void + * @static */ public static function addLoop($data) { - \Illuminate\View\Factory::addLoop($data); + /** @var \Illuminate\View\Factory $instance */ + $instance->addLoop($data); } /** * Increment the top loop's indices. * - * @return void - * @static + * @return void + * @static */ public static function incrementLoopIndices() { - \Illuminate\View\Factory::incrementLoopIndices(); + /** @var \Illuminate\View\Factory $instance */ + $instance->incrementLoopIndices(); } /** * Pop a loop from the top of the loop stack. * - * @return void - * @static + * @return void + * @static */ public static function popLoop() { - \Illuminate\View\Factory::popLoop(); + /** @var \Illuminate\View\Factory $instance */ + $instance->popLoop(); } /** * Get an instance of the last loop in the stack. * - * @return \StdClass|null - * @static + * @return \stdClass|null + * @static */ public static function getLastLoop() { - return \Illuminate\View\Factory::getLastLoop(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->getLastLoop(); } /** * Get the entire loop stack. * - * @return array - * @static + * @return array + * @static */ public static function getLoopStack() { - return \Illuminate\View\Factory::getLoopStack(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->getLoopStack(); } /** @@ -13025,24 +21576,53 @@ namespace { * * @param string $section * @param string $content - * @return void - * @static + * @return void + * @static */ public static function startPush($section, $content = '') { - \Illuminate\View\Factory::startPush($section, $content); + /** @var \Illuminate\View\Factory $instance */ + $instance->startPush($section, $content); } /** * Stop injecting content into a push section. * - * @return string + * @return string * @throws \InvalidArgumentException - * @static + * @static */ public static function stopPush() { - return \Illuminate\View\Factory::stopPush(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->stopPush(); + } + + /** + * Start prepending content into a push section. + * + * @param string $section + * @param string $content + * @return void + * @static + */ + public static function startPrepend($section, $content = '') + { + /** @var \Illuminate\View\Factory $instance */ + $instance->startPrepend($section, $content); + } + + /** + * Stop prepending content into a push section. + * + * @return string + * @throws \InvalidArgumentException + * @static + */ + public static function stopPrepend() + { + /** @var \Illuminate\View\Factory $instance */ + return $instance->stopPrepend(); } /** @@ -13050,218 +21630,7316 @@ namespace { * * @param string $section * @param string $default - * @return string - * @static + * @return string + * @static */ public static function yieldPushContent($section, $default = '') { - return \Illuminate\View\Factory::yieldPushContent($section, $default); + /** @var \Illuminate\View\Factory $instance */ + return $instance->yieldPushContent($section, $default); } /** * Flush all of the stacks. * - * @return void - * @static + * @return void + * @static */ public static function flushStacks() { - \Illuminate\View\Factory::flushStacks(); + /** @var \Illuminate\View\Factory $instance */ + $instance->flushStacks(); } /** * Start a translation block. * * @param array $replacements - * @return void - * @static + * @return void + * @static */ public static function startTranslation($replacements = []) { - \Illuminate\View\Factory::startTranslation($replacements); + /** @var \Illuminate\View\Factory $instance */ + $instance->startTranslation($replacements); } /** * Render the current translation. * - * @return string - * @static + * @return string + * @static */ public static function renderTranslation() { - return \Illuminate\View\Factory::renderTranslation(); + /** @var \Illuminate\View\Factory $instance */ + return $instance->renderTranslation(); } + + } + /** + * + * + * @see \Illuminate\Foundation\Vite + */ + class Vite { + /** + * Get the preloaded assets. + * + * @return array + * @static + */ + public static function preloadedAssets() + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->preloadedAssets(); + } + + /** + * Get the Content Security Policy nonce applied to all generated tags. + * + * @return string|null + * @static + */ + public static function cspNonce() + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->cspNonce(); + } + + /** + * Generate or set a Content Security Policy nonce to apply to all generated tags. + * + * @param string|null $nonce + * @return string + * @static + */ + public static function useCspNonce($nonce = null) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->useCspNonce($nonce); + } + + /** + * Use the given key to detect integrity hashes in the manifest. + * + * @param string|false $key + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function useIntegrityKey($key) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->useIntegrityKey($key); + } + + /** + * Set the Vite entry points. + * + * @param array $entryPoints + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function withEntryPoints($entryPoints) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->withEntryPoints($entryPoints); + } + + /** + * Merge additional Vite entry points with the current set. + * + * @param array $entryPoints + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function mergeEntryPoints($entryPoints) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->mergeEntryPoints($entryPoints); + } + + /** + * Set the filename for the manifest file. + * + * @param string $filename + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function useManifestFilename($filename) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->useManifestFilename($filename); + } + + /** + * Resolve asset paths using the provided resolver. + * + * @param callable|null $resolver + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function createAssetPathsUsing($resolver) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->createAssetPathsUsing($resolver); + } + + /** + * Get the Vite "hot" file path. + * + * @return string + * @static + */ + public static function hotFile() + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->hotFile(); + } + + /** + * Set the Vite "hot" file path. + * + * @param string $path + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function useHotFile($path) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->useHotFile($path); + } + + /** + * Set the Vite build directory. + * + * @param string $path + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function useBuildDirectory($path) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->useBuildDirectory($path); + } + + /** + * Use the given callback to resolve attributes for script tags. + * + * @param (callable(string, string, ?array, ?array): array)|array $attributes + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function useScriptTagAttributes($attributes) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->useScriptTagAttributes($attributes); + } + + /** + * Use the given callback to resolve attributes for style tags. + * + * @param (callable(string, string, ?array, ?array): array)|array $attributes + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function useStyleTagAttributes($attributes) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->useStyleTagAttributes($attributes); + } + + /** + * Use the given callback to resolve attributes for preload tags. + * + * @param (callable(string, string, ?array, ?array): (array|false))|array|false $attributes + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function usePreloadTagAttributes($attributes) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->usePreloadTagAttributes($attributes); + } + + /** + * Eagerly prefetch assets. + * + * @param int|null $concurrency + * @param string $event + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function prefetch($concurrency = null, $event = 'load') + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->prefetch($concurrency, $event); + } + + /** + * Use the "waterfall" prefetching strategy. + * + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function useWaterfallPrefetching($concurrency = null) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->useWaterfallPrefetching($concurrency); + } + + /** + * Use the "aggressive" prefetching strategy. + * + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function useAggressivePrefetching() + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->useAggressivePrefetching(); + } + + /** + * Set the prefetching strategy. + * + * @param \Illuminate\Foundation\'waterfall'|\Illuminate\Foundation\'aggressive'|null $strategy + * @param array $config + * @return \Illuminate\Foundation\Vite + * @static + */ + public static function usePrefetchStrategy($strategy, $config = []) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->usePrefetchStrategy($strategy, $config); + } + + /** + * Generate React refresh runtime script. + * + * @return \Illuminate\Support\HtmlString|void + * @static + */ + public static function reactRefresh() + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->reactRefresh(); + } + + /** + * Get the URL for an asset. + * + * @param string $asset + * @param string|null $buildDirectory + * @return string + * @static + */ + public static function asset($asset, $buildDirectory = null) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->asset($asset, $buildDirectory); + } + + /** + * Get the content of a given asset. + * + * @param string $asset + * @param string|null $buildDirectory + * @return string + * @throws \Illuminate\Foundation\ViteException + * @static + */ + public static function content($asset, $buildDirectory = null) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->content($asset, $buildDirectory); + } + + /** + * Get a unique hash representing the current manifest, or null if there is no manifest. + * + * @param string|null $buildDirectory + * @return string|null + * @static + */ + public static function manifestHash($buildDirectory = null) + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->manifestHash($buildDirectory); + } + + /** + * Determine if the HMR server is running. + * + * @return bool + * @static + */ + public static function isRunningHot() + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->isRunningHot(); + } + + /** + * Get the Vite tag content as a string of HTML. + * + * @return string + * @static + */ + public static function toHtml() + { + /** @var \Illuminate\Foundation\Vite $instance */ + return $instance->toHtml(); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Foundation\Vite::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Foundation\Vite::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + return \Illuminate\Foundation\Vite::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Foundation\Vite::flushMacros(); + } + + } + /** + * + * + * @method static void createSubscription(array|string $channels, \Closure $callback, string $method = 'subscribe') + * @method static \Illuminate\Redis\Limiters\ConcurrencyLimiterBuilder funnel(string $name) + * @method static \Illuminate\Redis\Limiters\DurationLimiterBuilder throttle(string $name) + * @method static mixed client() + * @method static void subscribe(array|string $channels, \Closure $callback) + * @method static void psubscribe(array|string $channels, \Closure $callback) + * @method static mixed command(string $method, array $parameters = []) + * @method static void listen(\Closure $callback) + * @method static string|null getName() + * @method static \Illuminate\Redis\Connections\Connection setName(string $name) + * @method static \Illuminate\Contracts\Events\Dispatcher getEventDispatcher() + * @method static void setEventDispatcher(\Illuminate\Contracts\Events\Dispatcher $events) + * @method static void unsetEventDispatcher() + * @method static void macro(string $name, object|callable $macro) + * @method static void mixin(object $mixin, bool $replace = true) + * @method static bool hasMacro(string $name) + * @method static void flushMacros() + * @method static mixed macroCall(string $method, array $parameters) + * @see \Illuminate\Redis\RedisManager + */ + class Redis { + /** + * Get a Redis connection by name. + * + * @param string|null $name + * @return \Illuminate\Redis\Connections\Connection + * @static + */ + public static function connection($name = null) + { + /** @var \Illuminate\Redis\RedisManager $instance */ + return $instance->connection($name); + } + + /** + * Resolve the given connection by name. + * + * @param string|null $name + * @return \Illuminate\Redis\Connections\Connection + * @throws \InvalidArgumentException + * @static + */ + public static function resolve($name = null) + { + /** @var \Illuminate\Redis\RedisManager $instance */ + return $instance->resolve($name); + } + + /** + * Return all of the created connections. + * + * @return array + * @static + */ + public static function connections() + { + /** @var \Illuminate\Redis\RedisManager $instance */ + return $instance->connections(); + } + + /** + * Enable the firing of Redis command events. + * + * @return void + * @static + */ + public static function enableEvents() + { + /** @var \Illuminate\Redis\RedisManager $instance */ + $instance->enableEvents(); + } + + /** + * Disable the firing of Redis command events. + * + * @return void + * @static + */ + public static function disableEvents() + { + /** @var \Illuminate\Redis\RedisManager $instance */ + $instance->disableEvents(); + } + + /** + * Set the default driver. + * + * @param string $driver + * @return void + * @static + */ + public static function setDriver($driver) + { + /** @var \Illuminate\Redis\RedisManager $instance */ + $instance->setDriver($driver); + } + + /** + * Disconnect the given connection and remove from local cache. + * + * @param string|null $name + * @return void + * @static + */ + public static function purge($name = null) + { + /** @var \Illuminate\Redis\RedisManager $instance */ + $instance->purge($name); + } + + /** + * Register a custom driver creator Closure. + * + * @param string $driver + * @param \Closure $callback + * @return \Illuminate\Redis\RedisManager + * @static + */ + public static function extend($driver, $callback) + { + /** @var \Illuminate\Redis\RedisManager $instance */ + return $instance->extend($driver, $callback); + } + + } } - - class JWTAuth extends \Tymon\JWTAuth\Facades\JWTAuth - { +namespace Lavary\Menu { + /** + * + * + */ + class Facade { /** - * Find a user using the user identifier in the subject claim. + * Check if a menu builder exists. * - * @param bool|string $token - * @return mixed - * @static + * @param string $name + * @return bool + * @static */ - public static function toUser($token = false) + public static function exists($name) { - return \Tymon\JWTAuth\JWTAuth::toUser($token); + /** @var \Lavary\Menu\Menu $instance */ + return $instance->exists($name); } /** - * Generate a token using the user identifier as the subject claim. + * Create a new menu builder instance. + * + * @param string $name + * @param callable $callback + * @return \Lavary\Menu\Builder + * @static + */ + public static function makeOnce($name, $callback) + { + /** @var \Lavary\Menu\Menu $instance */ + return $instance->makeOnce($name, $callback); + } + + /** + * Create a new menu builder instance. + * + * @param string $name + * @param callable $callback + * @param array $options (optional, it will be combined with the options to be applied) + * @return \Lavary\Menu\Builder + * @static + */ + public static function make($name, $callback, $options = []) + { + /** @var \Lavary\Menu\Menu $instance */ + return $instance->make($name, $callback, $options); + } + + /** + * Loads and merges configuration data. + * + * @param string $name + * @return array + * @static + */ + public static function loadConf($name) + { + /** @var \Lavary\Menu\Menu $instance */ + return $instance->loadConf($name); + } + + /** + * Return Menu builder instance from the collection by key. + * + * @param string $key + * @return \Lavary\Menu\Builder + * @static + */ + public static function get($key) + { + /** @var \Lavary\Menu\Menu $instance */ + return $instance->get($key); + } + + /** + * Return Menu builder collection. + * + * @return \Illuminate\Support\Collection + * @static + */ + public static function getCollection() + { + /** @var \Lavary\Menu\Menu $instance */ + return $instance->getCollection(); + } + + /** + * Alias for getCollection. + * + * @return \Illuminate\Support\Collection + * @static + */ + public static function all() + { + /** @var \Lavary\Menu\Menu $instance */ + return $instance->all(); + } + + } + } + +namespace Barryvdh\DomPDF\Facade { + /** + * + * + * @method static BasePDF setBaseHost(string $baseHost) + * @method static BasePDF setBasePath(string $basePath) + * @method static BasePDF setCanvas(\Dompdf\Canvas $canvas) + * @method static BasePDF setCallbacks(array $callbacks) + * @method static BasePDF setCss(\Dompdf\Css\Stylesheet $css) + * @method static BasePDF setDefaultView(string $defaultView, array $options) + * @method static BasePDF setDom(\DOMDocument $dom) + * @method static BasePDF setFontMetrics(\Dompdf\FontMetrics $fontMetrics) + * @method static BasePDF setHttpContext(resource|array $httpContext) + * @method static BasePDF setPaper(string|float[] $paper, string $orientation = 'portrait') + * @method static BasePDF setProtocol(string $protocol) + * @method static BasePDF setTree(\Dompdf\Frame\FrameTree $tree) + */ + class Pdf { + /** + * Get the DomPDF instance + * + * @static + */ + public static function getDomPDF() + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->getDomPDF(); + } + + /** + * Show or hide warnings + * + * @static + */ + public static function setWarnings($warnings) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->setWarnings($warnings); + } + + /** + * Load a HTML string + * + * @param string|null $encoding Not used yet + * @static + */ + public static function loadHTML($string, $encoding = null) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->loadHTML($string, $encoding); + } + + /** + * Load a HTML file + * + * @static + */ + public static function loadFile($file) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->loadFile($file); + } + + /** + * Add metadata info + * + * @param array $info + * @static + */ + public static function addInfo($info) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->addInfo($info); + } + + /** + * Load a View and convert to HTML + * + * @param array $data + * @param array $mergeData + * @param string|null $encoding Not used yet + * @static + */ + public static function loadView($view, $data = [], $mergeData = [], $encoding = null) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->loadView($view, $data, $mergeData, $encoding); + } + + /** + * Set/Change an option (or array of options) in Dompdf + * + * @param array|string $attribute + * @param null|mixed $value + * @static + */ + public static function setOption($attribute, $value = null) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->setOption($attribute, $value); + } + + /** + * Replace all the Options from DomPDF + * + * @param array $options + * @static + */ + public static function setOptions($options, $mergeWithDefaults = false) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->setOptions($options, $mergeWithDefaults); + } + + /** + * Output the PDF as a string. + * + * The options parameter controls the output. Accepted options are: + * + * 'compress' = > 1 or 0 - apply content stream compression, this is + * on (1) by default + * + * @param array $options + * @return string The rendered PDF as string + * @static + */ + public static function output($options = []) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->output($options); + } + + /** + * Save the PDF to a file + * + * @static + */ + public static function save($filename, $disk = null) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->save($filename, $disk); + } + + /** + * Make the PDF downloadable by the user + * + * @static + */ + public static function download($filename = 'document.pdf') + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->download($filename); + } + + /** + * Return a response with the PDF to show in the browser + * + * @static + */ + public static function stream($filename = 'document.pdf') + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->stream($filename); + } + + /** + * Render the PDF + * + * @static + */ + public static function render() + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->render(); + } + + /** + * + * + * @param array $pc + * @static + */ + public static function setEncryption($password, $ownerpassword = '', $pc = []) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->setEncryption($password, $ownerpassword, $pc); + } + + } + /** + * + * + * @method static BasePDF setBaseHost(string $baseHost) + * @method static BasePDF setBasePath(string $basePath) + * @method static BasePDF setCanvas(\Dompdf\Canvas $canvas) + * @method static BasePDF setCallbacks(array $callbacks) + * @method static BasePDF setCss(\Dompdf\Css\Stylesheet $css) + * @method static BasePDF setDefaultView(string $defaultView, array $options) + * @method static BasePDF setDom(\DOMDocument $dom) + * @method static BasePDF setFontMetrics(\Dompdf\FontMetrics $fontMetrics) + * @method static BasePDF setHttpContext(resource|array $httpContext) + * @method static BasePDF setPaper(string|float[] $paper, string $orientation = 'portrait') + * @method static BasePDF setProtocol(string $protocol) + * @method static BasePDF setTree(\Dompdf\Frame\FrameTree $tree) + */ + class Pdf { + /** + * Get the DomPDF instance + * + * @static + */ + public static function getDomPDF() + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->getDomPDF(); + } + + /** + * Show or hide warnings + * + * @static + */ + public static function setWarnings($warnings) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->setWarnings($warnings); + } + + /** + * Load a HTML string + * + * @param string|null $encoding Not used yet + * @static + */ + public static function loadHTML($string, $encoding = null) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->loadHTML($string, $encoding); + } + + /** + * Load a HTML file + * + * @static + */ + public static function loadFile($file) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->loadFile($file); + } + + /** + * Add metadata info + * + * @param array $info + * @static + */ + public static function addInfo($info) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->addInfo($info); + } + + /** + * Load a View and convert to HTML + * + * @param array $data + * @param array $mergeData + * @param string|null $encoding Not used yet + * @static + */ + public static function loadView($view, $data = [], $mergeData = [], $encoding = null) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->loadView($view, $data, $mergeData, $encoding); + } + + /** + * Set/Change an option (or array of options) in Dompdf + * + * @param array|string $attribute + * @param null|mixed $value + * @static + */ + public static function setOption($attribute, $value = null) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->setOption($attribute, $value); + } + + /** + * Replace all the Options from DomPDF + * + * @param array $options + * @static + */ + public static function setOptions($options, $mergeWithDefaults = false) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->setOptions($options, $mergeWithDefaults); + } + + /** + * Output the PDF as a string. + * + * The options parameter controls the output. Accepted options are: + * + * 'compress' = > 1 or 0 - apply content stream compression, this is + * on (1) by default + * + * @param array $options + * @return string The rendered PDF as string + * @static + */ + public static function output($options = []) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->output($options); + } + + /** + * Save the PDF to a file + * + * @static + */ + public static function save($filename, $disk = null) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->save($filename, $disk); + } + + /** + * Make the PDF downloadable by the user + * + * @static + */ + public static function download($filename = 'document.pdf') + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->download($filename); + } + + /** + * Return a response with the PDF to show in the browser + * + * @static + */ + public static function stream($filename = 'document.pdf') + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->stream($filename); + } + + /** + * Render the PDF + * + * @static + */ + public static function render() + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->render(); + } + + /** + * + * + * @param array $pc + * @static + */ + public static function setEncryption($password, $ownerpassword = '', $pc = []) + { + /** @var \Barryvdh\DomPDF\PDF $instance */ + return $instance->setEncryption($password, $ownerpassword, $pc); + } + + } + } + +namespace Nwidart\Modules\Facades { + /** + * + * + */ + class Module { + /** + * Add other module location. + * + * @param string $path + * @return \Nwidart\Modules\Laravel\LaravelFileRepository + * @static + */ + public static function addLocation($path) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->addLocation($path); + } + + /** + * Get all additional paths. + * + * @return array + * @static + */ + public static function getPaths() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getPaths(); + } + + /** + * Get scanned modules paths. + * + * @return array + * @static + */ + public static function getScanPaths() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getScanPaths(); + } + + /** + * Get & scan all modules. + * + * @return array + * @static + */ + public static function scan() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->scan(); + } + + /** + * Get all modules. + * + * @return array + * @static + */ + public static function all() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->all(); + } + + /** + * Get cached modules. + * + * @return array + * @static + */ + public static function getCached() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getCached(); + } + + /** + * Get all modules as collection instance. + * + * @return \Nwidart\Modules\Collection + * @static + */ + public static function toCollection() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->toCollection(); + } + + /** + * Get modules by status. + * + * @param $status + * @return array + * @static + */ + public static function getByStatus($status) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getByStatus($status); + } + + /** + * Determine whether the given module exist. + * + * @param $name + * @return bool + * @static + */ + public static function has($name) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->has($name); + } + + /** + * Get list of enabled modules. + * + * @return array + * @static + */ + public static function allEnabled() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->allEnabled(); + } + + /** + * Get list of disabled modules. + * + * @return array + * @static + */ + public static function allDisabled() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->allDisabled(); + } + + /** + * Get count from all modules. + * + * @return int + * @static + */ + public static function count() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->count(); + } + + /** + * Get all ordered modules. + * + * @param string $direction + * @return array + * @static + */ + public static function getOrdered($direction = 'asc') + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getOrdered($direction); + } + + /** + * + * + * @inheritDoc + * @static + */ + public static function getPath() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getPath(); + } + + /** + * + * + * @inheritDoc + * @static + */ + public static function register() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->register(); + } + + /** + * + * + * @inheritDoc + * @static + */ + public static function boot() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->boot(); + } + + /** + * + * + * @inheritDoc + * @static + */ + public static function find($name) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->find($name); + } + + /** + * + * + * @inheritDoc + * @static + */ + public static function findByAlias($alias) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->findByAlias($alias); + } + + /** + * + * + * @inheritDoc + * @static + */ + public static function findRequirements($name) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->findRequirements($name); + } + + /** + * Find a specific module, if there return that, otherwise throw exception. + * + * @param $name + * @return \Module + * @throws ModuleNotFoundException + * @static + */ + public static function findOrFail($name) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->findOrFail($name); + } + + /** + * Get all modules as laravel collection instance. + * + * @param $status + * @return \Nwidart\Modules\Collection + * @static + */ + public static function collections($status = 1) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->collections($status); + } + + /** + * Get module path for a specific module. + * + * @param $module + * @return string + * @static + */ + public static function getModulePath($module) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getModulePath($module); + } + + /** + * + * + * @inheritDoc + * @static + */ + public static function assetPath($module) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->assetPath($module); + } + + /** + * + * + * @inheritDoc + * @static + */ + public static function config($key, $default = null) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->config($key, $default); + } + + /** + * Get storage path for module used. + * + * @return string + * @static + */ + public static function getUsedStoragePath() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getUsedStoragePath(); + } + + /** + * Set module used for cli session. + * + * @param $name + * @throws ModuleNotFoundException + * @static + */ + public static function setUsed($name) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->setUsed($name); + } + + /** + * Forget the module used for cli session. + * + * @static + */ + public static function forgetUsed() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->forgetUsed(); + } + + /** + * Get module used for cli session. + * + * @return string + * @throws \Nwidart\Modules\Exceptions\ModuleNotFoundException + * @static + */ + public static function getUsedNow() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getUsedNow(); + } + + /** + * Get laravel filesystem instance. + * + * @return \Nwidart\Modules\Filesystem + * @static + */ + public static function getFiles() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getFiles(); + } + + /** + * Get module assets path. + * + * @return string + * @static + */ + public static function getAssetsPath() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getAssetsPath(); + } + + /** + * Get asset url from a specific module. + * + * @param string $asset + * @return string + * @throws InvalidAssetPath + * @static + */ + public static function asset($asset) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->asset($asset); + } + + /** + * + * + * @inheritDoc + * @static + */ + public static function isEnabled($name) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->isEnabled($name); + } + + /** + * + * + * @inheritDoc + * @static + */ + public static function isDisabled($name) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->isDisabled($name); + } + + /** + * Enabling a specific module. + * + * @param string $name + * @return void + * @throws \Nwidart\Modules\Exceptions\ModuleNotFoundException + * @static + */ + public static function enable($name) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + $instance->enable($name); + } + + /** + * Disabling a specific module. + * + * @param string $name + * @return void + * @throws \Nwidart\Modules\Exceptions\ModuleNotFoundException + * @static + */ + public static function disable($name) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + $instance->disable($name); + } + + /** + * + * + * @inheritDoc + * @static + */ + public static function delete($name) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->delete($name); + } + + /** + * Update dependencies for the specified module. + * + * @param string $module + * @static + */ + public static function update($module) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->update($module); + } + + /** + * Install the specified module. + * + * @param string $name + * @param string $version + * @param string $type + * @param bool $subtree + * @return \Symfony\Component\Process\Process + * @static + */ + public static function install($name, $version = 'dev-master', $type = 'composer', $subtree = false) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->install($name, $version, $type, $subtree); + } + + /** + * Get stub path. + * + * @return string|null + * @static + */ + public static function getStubPath() + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->getStubPath(); + } + + /** + * Set stub path. + * + * @param string $stubPath + * @return \Nwidart\Modules\Laravel\LaravelFileRepository + * @static + */ + public static function setStubPath($stubPath) + { + //Method inherited from \Nwidart\Modules\FileRepository + /** @var \Nwidart\Modules\Laravel\LaravelFileRepository $instance */ + return $instance->setStubPath($stubPath); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + //Method inherited from \Nwidart\Modules\FileRepository + \Nwidart\Modules\Laravel\LaravelFileRepository::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + //Method inherited from \Nwidart\Modules\FileRepository + \Nwidart\Modules\Laravel\LaravelFileRepository::mixin($mixin, $replace); + } + + /** + * Checks if macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + //Method inherited from \Nwidart\Modules\FileRepository + return \Nwidart\Modules\Laravel\LaravelFileRepository::hasMacro($name); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + //Method inherited from \Nwidart\Modules\FileRepository + \Nwidart\Modules\Laravel\LaravelFileRepository::flushMacros(); + } + + } + } + +namespace Silber\Bouncer { + /** + * + * + * @see \Silber\Bouncer\Bouncer + */ + class BouncerFacade { + /** + * Create a new Bouncer instance. * * @param mixed $user - * @param array $customClaims - * @return string - * @static + * @return static + * @static */ - public static function fromUser($user, $customClaims = []) + public static function create($user = null) { - return \Tymon\JWTAuth\JWTAuth::fromUser($user, $customClaims); + return \Silber\Bouncer\Bouncer::create($user); } /** - * Attempt to authenticate the user and return the token. + * Create a bouncer factory instance. * - * @param array $credentials - * @param array $customClaims - * @return false|string - * @static + * @param mixed $user + * @return \Silber\Bouncer\Factory + * @static */ - public static function attempt($credentials = [], $customClaims = []) + public static function make($user = null) { - return \Tymon\JWTAuth\JWTAuth::attempt($credentials, $customClaims); + return \Silber\Bouncer\Bouncer::make($user); } /** - * Authenticate a user via a token. + * Start a chain, to allow the given authority an ability. * - * @param mixed $token - * @return mixed - * @static + * @param \Illuminate\Database\Eloquent\Model|string $authority + * @return \Silber\Bouncer\Conductors\GivesAbilities + * @static */ - public static function authenticate($token = false) + public static function allow($authority) { - return \Tymon\JWTAuth\JWTAuth::authenticate($token); + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->allow($authority); } /** - * Refresh an expired token. + * Start a chain, to allow everyone an ability. * - * @param mixed $token - * @return string - * @static + * @return \Silber\Bouncer\Conductors\GivesAbilities + * @static */ - public static function refresh($token = false) + public static function allowEveryone() { - return \Tymon\JWTAuth\JWTAuth::refresh($token); + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->allowEveryone(); } /** - * Invalidate a token (add it to the blacklist). + * Start a chain, to disallow the given authority an ability. * - * @param mixed $token - * @return bool - * @static + * @param \Illuminate\Database\Eloquent\Model|string $authority + * @return \Silber\Bouncer\Conductors\RemovesAbilities + * @static */ - public static function invalidate($token = false) + public static function disallow($authority) { - return \Tymon\JWTAuth\JWTAuth::invalidate($token); + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->disallow($authority); } /** - * Get the token. + * Start a chain, to disallow everyone the an ability. * - * @return bool|string - * @static + * @return \Silber\Bouncer\Conductors\RemovesAbilities + * @static */ - public static function getToken() + public static function disallowEveryone() { - return \Tymon\JWTAuth\JWTAuth::getToken(); + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->disallowEveryone(); } /** - * Get the raw Payload instance. + * Start a chain, to forbid the given authority an ability. * - * @param mixed $token - * @return \Tymon\JWTAuth\Payload - * @static + * @param \Illuminate\Database\Eloquent\Model|string $authority + * @return \Silber\Bouncer\Conductors\GivesAbilities + * @static */ - public static function getPayload($token = false) + public static function forbid($authority) { - return \Tymon\JWTAuth\JWTAuth::getPayload($token); + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->forbid($authority); } /** - * Parse the token from the request. + * Start a chain, to forbid everyone an ability. * - * @param string $query - * @return \JWTAuth - * @static + * @return \Silber\Bouncer\Conductors\GivesAbilities + * @static */ - public static function parseToken($method = 'bearer', $header = 'authorization', $query = 'token') + public static function forbidEveryone() { - return \Tymon\JWTAuth\JWTAuth::parseToken($method, $header, $query); + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->forbidEveryone(); } /** - * Set the identifier. + * Start a chain, to unforbid the given authority an ability. * - * @param string $identifier - * @return $this - * @static + * @param \Illuminate\Database\Eloquent\Model|string $authority + * @return \Silber\Bouncer\Conductors\RemovesAbilities + * @static */ - public static function setIdentifier($identifier) + public static function unforbid($authority) { - return \Tymon\JWTAuth\JWTAuth::setIdentifier($identifier); + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->unforbid($authority); } /** - * Get the identifier. + * Start a chain, to unforbid an ability from everyone. * - * @return string - * @static + * @return \Silber\Bouncer\Conductors\RemovesAbilities + * @static */ - public static function getIdentifier() + public static function unforbidEveryone() { - return \Tymon\JWTAuth\JWTAuth::getIdentifier(); + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->unforbidEveryone(); } /** - * Set the token. + * Start a chain, to assign the given role to a model. * - * @param string $token - * @return $this - * @static + * @param \Silber\Bouncer\Database\Role|\Illuminate\Support\Collection|string $roles + * @return \Silber\Bouncer\Conductors\AssignsRoles + * @static */ - public static function setToken($token) + public static function assign($roles) { - return \Tymon\JWTAuth\JWTAuth::setToken($token); + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->assign($roles); } /** - * Set the request instance. + * Start a chain, to retract the given role from a model. * - * @param \Request $request - * @static + * @param \Illuminate\Support\Collection|\Silber\Bouncer\Database\Role|string $roles + * @return \Silber\Bouncer\Conductors\RemovesRoles + * @static */ - public static function setRequest($request) + public static function retract($roles) { - return \Tymon\JWTAuth\JWTAuth::setRequest($request); + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->retract($roles); } /** - * Get the JWTManager instance. + * Start a chain, to sync roles/abilities for the given authority. * - * @return \Tymon\JWTAuth\JWTManager - * @static + * @param \Illuminate\Database\Eloquent\Model|string $authority + * @return \Silber\Bouncer\Conductors\SyncsRolesAndAbilities + * @static */ - public static function manager() + public static function sync($authority) { - return \Tymon\JWTAuth\JWTAuth::manager(); + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->sync($authority); } + + /** + * Start a chain, to check if the given authority has a certain role. + * + * @return \Silber\Bouncer\Conductors\ChecksRoles + * @static + */ + public static function is($authority) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->is($authority); + } + + /** + * Get the clipboard instance. + * + * @return \Silber\Bouncer\Contracts\Clipboard + * @static + */ + public static function getClipboard() + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->getClipboard(); + } + + /** + * Set the clipboard instance used by bouncer. + * + * Will also register the given clipboard with the container. + * + * @param \Silber\Bouncer\Contracts\Clipboard + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function setClipboard($clipboard) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->setClipboard($clipboard); + } + + /** + * Register the guard's clipboard at the container. + * + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function registerClipboardAtContainer() + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->registerClipboardAtContainer(); + } + + /** + * Use a cached clipboard with the given cache instance. + * + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function cache($cache = null) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->cache($cache); + } + + /** + * Fully disable all query caching. + * + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function dontCache() + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->dontCache(); + } + + /** + * Clear the cache. + * + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function refresh($authority = null) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->refresh($authority); + } + + /** + * Clear the cache for the given authority. + * + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function refreshFor($authority) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->refreshFor($authority); + } + + /** + * Set the access gate instance. + * + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function setGate($gate) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->setGate($gate); + } + + /** + * Get the gate instance. + * + * @return \Illuminate\Contracts\Auth\Access\Gate|null + * @static + */ + public static function getGate() + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->getGate(); + } + + /** + * Get the gate instance. Throw if not set. + * + * @return \Illuminate\Contracts\Auth\Access\Gate + * @throws \RuntimeException + * @static + */ + public static function gate() + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->gate(); + } + + /** + * Determine whether the clipboard used is a cached clipboard. + * + * @return bool + * @static + */ + public static function usesCachedClipboard() + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->usesCachedClipboard(); + } + + /** + * Define a new ability using a callback. + * + * @param string $ability + * @param callable|string $callback + * @return \Silber\Bouncer\Bouncer + * @throws \InvalidArgumentException + * @static + */ + public static function define($ability, $callback) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->define($ability, $callback); + } + + /** + * Determine if the given ability should be granted for the current user. + * + * @param string $ability + * @param array|mixed $arguments + * @return \Illuminate\Auth\Access\Response + * @throws \Illuminate\Auth\Access\AuthorizationException + * @static + */ + public static function authorize($ability, $arguments = []) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->authorize($ability, $arguments); + } + + /** + * Determine if the given ability is allowed. + * + * @param string $ability + * @param array|mixed $arguments + * @return bool + * @static + */ + public static function can($ability, $arguments = []) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->can($ability, $arguments); + } + + /** + * Determine if any of the given abilities are allowed. + * + * @param array $abilities + * @param array|mixed $arguments + * @return bool + * @static + */ + public static function canAny($abilities, $arguments = []) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->canAny($abilities, $arguments); + } + + /** + * Determine if the given ability is denied. + * + * @param string $ability + * @param array|mixed $arguments + * @return bool + * @static + */ + public static function cannot($ability, $arguments = []) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->cannot($ability, $arguments); + } + + /** + * Determine if the given ability is allowed. + * + * Alias for the "can" method. + * + * @deprecated + * @param string $ability + * @param array|mixed $arguments + * @return bool + * @static + */ + public static function allows($ability, $arguments = []) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->allows($ability, $arguments); + } + + /** + * Determine if the given ability is denied. + * + * Alias for the "cannot" method. + * + * @deprecated + * @param string $ability + * @param array|mixed $arguments + * @return bool + * @static + */ + public static function denies($ability, $arguments = []) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->denies($ability, $arguments); + } + + /** + * Get an instance of the role model. + * + * @return \Silber\Bouncer\Database\Role + * @static + */ + public static function role($attributes = []) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->role($attributes); + } + + /** + * Get an instance of the ability model. + * + * @return \Silber\Bouncer\Database\Ability + * @static + */ + public static function ability($attributes = []) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->ability($attributes); + } + + /** + * Set Bouncer to run its checks before the policies. + * + * @param bool $boolean + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function runBeforePolicies($boolean = true) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->runBeforePolicies($boolean); + } + + /** + * Register an attribute/callback to determine if a model is owned by a given authority. + * + * @param string|\Closure $model + * @param string|\Closure|null $attribute + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function ownedVia($model, $attribute = null) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->ownedVia($model, $attribute); + } + + /** + * Set the model to be used for abilities. + * + * @param string $model + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function useAbilityModel($model) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->useAbilityModel($model); + } + + /** + * Set the model to be used for roles. + * + * @param string $model + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function useRoleModel($model) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->useRoleModel($model); + } + + /** + * Set the model to be used for users. + * + * @param string $model + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function useUserModel($model) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->useUserModel($model); + } + + /** + * Set custom table names. + * + * @return \Silber\Bouncer\Bouncer + * @static + */ + public static function tables($map) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->tables($map); + } + + /** + * Get the model scoping instance. + * + * @return mixed + * @static + */ + public static function scope($scope = null) + { + /** @var \Silber\Bouncer\Bouncer $instance */ + return $instance->scope($scope); + } + + } + } + +namespace Spatie\LaravelIgnition\Facades { + /** + * + * + * @see \Spatie\FlareClient\Flare + */ + class Flare { + /** + * + * + * @static + */ + public static function make($apiKey = null, $contextDetector = null) + { + return \Spatie\FlareClient\Flare::make($apiKey, $contextDetector); + } + + /** + * + * + * @static + */ + public static function setApiToken($apiToken) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->setApiToken($apiToken); + } + + /** + * + * + * @static + */ + public static function apiTokenSet() + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->apiTokenSet(); + } + + /** + * + * + * @static + */ + public static function setBaseUrl($baseUrl) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->setBaseUrl($baseUrl); + } + + /** + * + * + * @static + */ + public static function setStage($stage) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->setStage($stage); + } + + /** + * + * + * @static + */ + public static function sendReportsImmediately() + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->sendReportsImmediately(); + } + + /** + * + * + * @static + */ + public static function determineVersionUsing($determineVersionCallable) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->determineVersionUsing($determineVersionCallable); + } + + /** + * + * + * @static + */ + public static function reportErrorLevels($reportErrorLevels) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->reportErrorLevels($reportErrorLevels); + } + + /** + * + * + * @static + */ + public static function filterExceptionsUsing($filterExceptionsCallable) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->filterExceptionsUsing($filterExceptionsCallable); + } + + /** + * + * + * @static + */ + public static function filterReportsUsing($filterReportsCallable) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->filterReportsUsing($filterReportsCallable); + } + + /** + * + * + * @param array|ArgumentReducer>|\Spatie\Backtrace\Arguments\ArgumentReducers|null $argumentReducers + * @static + */ + public static function argumentReducers($argumentReducers) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->argumentReducers($argumentReducers); + } + + /** + * + * + * @static + */ + public static function withStackFrameArguments($withStackFrameArguments = true, $forcePHPIniSetting = false) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->withStackFrameArguments($withStackFrameArguments, $forcePHPIniSetting); + } + + /** + * + * + * @param class-string $exceptionClass + * @static + */ + public static function overrideGrouping($exceptionClass, $type = 'exception_message_and_class') + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->overrideGrouping($exceptionClass, $type); + } + + /** + * + * + * @static + */ + public static function version() + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->version(); + } + + /** + * + * + * @return array> + * @static + */ + public static function getMiddleware() + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->getMiddleware(); + } + + /** + * + * + * @static + */ + public static function setContextProviderDetector($contextDetector) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->setContextProviderDetector($contextDetector); + } + + /** + * + * + * @static + */ + public static function setContainer($container) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->setContainer($container); + } + + /** + * + * + * @static + */ + public static function registerFlareHandlers() + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->registerFlareHandlers(); + } + + /** + * + * + * @static + */ + public static function registerExceptionHandler() + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->registerExceptionHandler(); + } + + /** + * + * + * @static + */ + public static function registerErrorHandler($errorLevels = null) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->registerErrorHandler($errorLevels); + } + + /** + * + * + * @param \Spatie\FlareClient\FlareMiddleware\FlareMiddleware|array|class-string|callable $middleware + * @return \Spatie\FlareClient\Flare + * @static + */ + public static function registerMiddleware($middleware) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->registerMiddleware($middleware); + } + + /** + * + * + * @return array> + * @static + */ + public static function getMiddlewares() + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->getMiddlewares(); + } + + /** + * + * + * @param string $name + * @param string $messageLevel + * @param array $metaData + * @return \Spatie\FlareClient\Flare + * @static + */ + public static function glow($name, $messageLevel = 'info', $metaData = []) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->glow($name, $messageLevel, $metaData); + } + + /** + * + * + * @static + */ + public static function handleException($throwable) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->handleException($throwable); + } + + /** + * + * + * @return mixed + * @static + */ + public static function handleError($code, $message, $file = '', $line = 0) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->handleError($code, $message, $file, $line); + } + + /** + * + * + * @static + */ + public static function applicationPath($applicationPath) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->applicationPath($applicationPath); + } + + /** + * + * + * @static + */ + public static function report($throwable, $callback = null, $report = null, $handled = null) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->report($throwable, $callback, $report, $handled); + } + + /** + * + * + * @static + */ + public static function reportHandled($throwable) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->reportHandled($throwable); + } + + /** + * + * + * @static + */ + public static function reportMessage($message, $logLevel, $callback = null) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->reportMessage($message, $logLevel, $callback); + } + + /** + * + * + * @static + */ + public static function sendTestReport($throwable) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->sendTestReport($throwable); + } + + /** + * + * + * @static + */ + public static function reset() + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->reset(); + } + + /** + * + * + * @static + */ + public static function anonymizeIp() + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->anonymizeIp(); + } + + /** + * + * + * @param array $fieldNames + * @return \Spatie\FlareClient\Flare + * @static + */ + public static function censorRequestBodyFields($fieldNames) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->censorRequestBodyFields($fieldNames); + } + + /** + * + * + * @static + */ + public static function createReport($throwable) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->createReport($throwable); + } + + /** + * + * + * @static + */ + public static function createReportFromMessage($message, $logLevel) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->createReportFromMessage($message, $logLevel); + } + + /** + * + * + * @static + */ + public static function stage($stage) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->stage($stage); + } + + /** + * + * + * @static + */ + public static function messageLevel($messageLevel) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->messageLevel($messageLevel); + } + + /** + * + * + * @param string $groupName + * @param mixed $default + * @return array + * @static + */ + public static function getGroup($groupName = 'context', $default = []) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->getGroup($groupName, $default); + } + + /** + * + * + * @static + */ + public static function context($key, $value) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->context($key, $value); + } + + /** + * + * + * @param string $groupName + * @param array $properties + * @return \Spatie\FlareClient\Flare + * @static + */ + public static function group($groupName, $properties) + { + /** @var \Spatie\FlareClient\Flare $instance */ + return $instance->group($groupName, $properties); + } + + } + } + +namespace Spatie\SignalAwareCommand\Facades { + /** + * + * + * @see \Spatie\SignalAwareCommand\Signal + */ + class Signal { + /** + * + * + * @static + */ + public static function handle($signal, $callable) + { + /** @var \Spatie\SignalAwareCommand\Signal $instance */ + return $instance->handle($signal, $callable); + } + + /** + * + * + * @static + */ + public static function executeSignalHandlers($signal, $command) + { + /** @var \Spatie\SignalAwareCommand\Signal $instance */ + return $instance->executeSignalHandlers($signal, $command); + } + + /** + * + * + * @static + */ + public static function clearHandlers($signal = null) + { + /** @var \Spatie\SignalAwareCommand\Signal $instance */ + return $instance->clearHandlers($signal); + } + + } + } + +namespace Vinkla\Hashids\Facades { + /** + * + * + * @method static string encode(mixed ...$numbers) + * @method static array decode(string $hash) + * @method static string encodeHex(string $str) + * @method static string decodeHex(string $hash) + */ + class Hashids { + /** + * + * + * @static + */ + public static function getFactory() + { + /** @var \Vinkla\Hashids\HashidsManager $instance */ + return $instance->getFactory(); + } + + /** + * Get a connection instance. + * + * @param string|null $name + * @throws \InvalidArgumentException + * @return object + * @static + */ + public static function connection($name = null) + { + //Method inherited from \GrahamCampbell\Manager\AbstractManager + /** @var \Vinkla\Hashids\HashidsManager $instance */ + return $instance->connection($name); + } + + /** + * Reconnect to the given connection. + * + * @param string|null $name + * @throws \InvalidArgumentException + * @return object + * @static + */ + public static function reconnect($name = null) + { + //Method inherited from \GrahamCampbell\Manager\AbstractManager + /** @var \Vinkla\Hashids\HashidsManager $instance */ + return $instance->reconnect($name); + } + + /** + * Disconnect from the given connection. + * + * @param string|null $name + * @return void + * @static + */ + public static function disconnect($name = null) + { + //Method inherited from \GrahamCampbell\Manager\AbstractManager + /** @var \Vinkla\Hashids\HashidsManager $instance */ + $instance->disconnect($name); + } + + /** + * Get the configuration for a connection. + * + * @param string|null $name + * @throws \InvalidArgumentException + * @return array + * @static + */ + public static function getConnectionConfig($name = null) + { + //Method inherited from \GrahamCampbell\Manager\AbstractManager + /** @var \Vinkla\Hashids\HashidsManager $instance */ + return $instance->getConnectionConfig($name); + } + + /** + * Get the default connection name. + * + * @return string + * @static + */ + public static function getDefaultConnection() + { + //Method inherited from \GrahamCampbell\Manager\AbstractManager + /** @var \Vinkla\Hashids\HashidsManager $instance */ + return $instance->getDefaultConnection(); + } + + /** + * Set the default connection name. + * + * @param string $name + * @return void + * @static + */ + public static function setDefaultConnection($name) + { + //Method inherited from \GrahamCampbell\Manager\AbstractManager + /** @var \Vinkla\Hashids\HashidsManager $instance */ + $instance->setDefaultConnection($name); + } + + /** + * Register an extension connection resolver. + * + * @param string $name + * @param callable $resolver + * @return void + * @static + */ + public static function extend($name, $resolver) + { + //Method inherited from \GrahamCampbell\Manager\AbstractManager + /** @var \Vinkla\Hashids\HashidsManager $instance */ + $instance->extend($name, $resolver); + } + + /** + * Return all of the created connections. + * + * @return array + * @static + */ + public static function getConnections() + { + //Method inherited from \GrahamCampbell\Manager\AbstractManager + /** @var \Vinkla\Hashids\HashidsManager $instance */ + return $instance->getConnections(); + } + + /** + * Get the config instance. + * + * @return \Illuminate\Contracts\Config\Repository + * @static + */ + public static function getConfig() + { + //Method inherited from \GrahamCampbell\Manager\AbstractManager + /** @var \Vinkla\Hashids\HashidsManager $instance */ + return $instance->getConfig(); + } + + } + } + +namespace Illuminate\Http { + /** + * + * + */ + class Request { + /** + * + * + * @see \Illuminate\Foundation\Providers\FoundationServiceProvider::registerRequestValidation() + * @param array $rules + * @param mixed $params + * @static + */ + public static function validate($rules, ...$params) + { + return \Illuminate\Http\Request::validate($rules, ...$params); + } + + /** + * + * + * @see \Illuminate\Foundation\Providers\FoundationServiceProvider::registerRequestValidation() + * @param string $errorBag + * @param array $rules + * @param mixed $params + * @static + */ + public static function validateWithBag($errorBag, $rules, ...$params) + { + return \Illuminate\Http\Request::validateWithBag($errorBag, $rules, ...$params); + } + + /** + * + * + * @see \Illuminate\Foundation\Providers\FoundationServiceProvider::registerRequestSignatureValidation() + * @param mixed $absolute + * @static + */ + public static function hasValidSignature($absolute = true) + { + return \Illuminate\Http\Request::hasValidSignature($absolute); + } + + /** + * + * + * @see \Illuminate\Foundation\Providers\FoundationServiceProvider::registerRequestSignatureValidation() + * @static + */ + public static function hasValidRelativeSignature() + { + return \Illuminate\Http\Request::hasValidRelativeSignature(); + } + + /** + * + * + * @see \Illuminate\Foundation\Providers\FoundationServiceProvider::registerRequestSignatureValidation() + * @param mixed $ignoreQuery + * @param mixed $absolute + * @static + */ + public static function hasValidSignatureWhileIgnoring($ignoreQuery = [], $absolute = true) + { + return \Illuminate\Http\Request::hasValidSignatureWhileIgnoring($ignoreQuery, $absolute); + } + + /** + * + * + * @see \Illuminate\Foundation\Providers\FoundationServiceProvider::registerRequestSignatureValidation() + * @param mixed $ignoreQuery + * @static + */ + public static function hasValidRelativeSignatureWhileIgnoring($ignoreQuery = []) + { + return \Illuminate\Http\Request::hasValidRelativeSignatureWhileIgnoring($ignoreQuery); + } + + } + } + +namespace Illuminate\Testing { + /** + * + * + * @template TResponse of \Symfony\Component\HttpFoundation\Response + * @mixin \Illuminate\Http\Response + */ + class TestResponse { + /** + * + * + * @see \JMac\Testing\AdditionalAssertionsServiceProvider::register() + * @param array $structure + * @static + */ + public static function assertJsonTypedStructure($structure) + { + return \Illuminate\Testing\TestResponse::assertJsonTypedStructure($structure); + } + + } } +namespace { + class App extends \Illuminate\Support\Facades\App {} + class Arr extends \Illuminate\Support\Arr {} + class Artisan extends \Illuminate\Support\Facades\Artisan {} + class Auth extends \Illuminate\Support\Facades\Auth {} + class Blade extends \Illuminate\Support\Facades\Blade {} + class Broadcast extends \Illuminate\Support\Facades\Broadcast {} + class Bus extends \Illuminate\Support\Facades\Bus {} + class Cache extends \Illuminate\Support\Facades\Cache {} + class Concurrency extends \Illuminate\Support\Facades\Concurrency {} + class Config extends \Illuminate\Support\Facades\Config {} + class Context extends \Illuminate\Support\Facades\Context {} + class Cookie extends \Illuminate\Support\Facades\Cookie {} + class Crypt extends \Illuminate\Support\Facades\Crypt {} + class Date extends \Illuminate\Support\Facades\Date {} + class DB extends \Illuminate\Support\Facades\DB {} + + /** + * + * + * @template TCollection of static + * @template TModel of static + * @template TValue of static + * @template TValue of static + */ + class Eloquent extends \Illuminate\Database\Eloquent\Model { /** + * Create and return an un-saved model instance. + * + * @param array $attributes + * @return TModel + * @static + */ + public static function make($attributes = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->make($attributes); + } + + /** + * Register a new global scope. + * + * @param string $identifier + * @param \Illuminate\Database\Eloquent\Scope|\Closure $scope + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withGlobalScope($identifier, $scope) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withGlobalScope($identifier, $scope); + } + + /** + * Remove a registered global scope. + * + * @param \Illuminate\Database\Eloquent\Scope|string $scope + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withoutGlobalScope($scope) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withoutGlobalScope($scope); + } + + /** + * Remove all or passed registered global scopes. + * + * @param array|null $scopes + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withoutGlobalScopes($scopes = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withoutGlobalScopes($scopes); + } + + /** + * Get an array of global scopes that were removed from the query. + * + * @return array + * @static + */ + public static function removedScopes() + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->removedScopes(); + } + + /** + * Add a where clause on the primary key to the query. + * + * @param mixed $id + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereKey($id) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereKey($id); + } + + /** + * Add a where clause on the primary key to the query. + * + * @param mixed $id + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereKeyNot($id) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereKeyNot($id); + } + + /** + * Add a basic where clause to the query. + * + * @param (\Closure(static): mixed)|string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function where($column, $operator = null, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->where($column, $operator, $value, $boolean); + } + + /** + * Add a basic where clause to the query, and return the first result. + * + * @param (\Closure(static): mixed)|string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @param string $boolean + * @return TModel|null + * @static + */ + public static function firstWhere($column, $operator = null, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->firstWhere($column, $operator, $value, $boolean); + } + + /** + * Add an "or where" clause to the query. + * + * @param (\Closure(static): mixed)|array|string|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhere($column, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhere($column, $operator, $value); + } + + /** + * Add a basic "where not" clause to the query. + * + * @param (\Closure(static): mixed)|string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereNot($column, $operator = null, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereNot($column, $operator, $value, $boolean); + } + + /** + * Add an "or where not" clause to the query. + * + * @param (\Closure(static): mixed)|array|string|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereNot($column, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereNot($column, $operator, $value); + } + + /** + * Add an "order by" clause for a timestamp to the query. + * + * @param string|\Illuminate\Contracts\Database\Query\Expression $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function latest($column = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->latest($column); + } + + /** + * Add an "order by" clause for a timestamp to the query. + * + * @param string|\Illuminate\Contracts\Database\Query\Expression $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function oldest($column = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->oldest($column); + } + + /** + * Create a collection of models from plain arrays. + * + * @param array $items + * @return \Illuminate\Database\Eloquent\Collection + * @static + */ + public static function hydrate($items) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->hydrate($items); + } + + /** + * Create a collection of models from a raw query. + * + * @param string $query + * @param array $bindings + * @return \Illuminate\Database\Eloquent\Collection + * @static + */ + public static function fromQuery($query, $bindings = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->fromQuery($query, $bindings); + } + + /** + * Find a model by its primary key. + * + * @param mixed $id + * @param array|string $columns + * @return ($id is (\Illuminate\Contracts\Support\Arrayable|array) ? \Illuminate\Database\Eloquent\Collection : TModel|null) + * @static + */ + public static function find($id, $columns = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->find($id, $columns); + } + + /** + * Find multiple models by their primary keys. + * + * @param \Illuminate\Contracts\Support\Arrayable|array $ids + * @param array|string $columns + * @return \Illuminate\Database\Eloquent\Collection + * @static + */ + public static function findMany($ids, $columns = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->findMany($ids, $columns); + } + + /** + * Find a model by its primary key or throw an exception. + * + * @param mixed $id + * @param array|string $columns + * @return ($id is (\Illuminate\Contracts\Support\Arrayable|array) ? \Illuminate\Database\Eloquent\Collection : TModel) + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException + * @static + */ + public static function findOrFail($id, $columns = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->findOrFail($id, $columns); + } + + /** + * Find a model by its primary key or return fresh model instance. + * + * @param mixed $id + * @param array|string $columns + * @return ($id is (\Illuminate\Contracts\Support\Arrayable|array) ? \Illuminate\Database\Eloquent\Collection : TModel) + * @static + */ + public static function findOrNew($id, $columns = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->findOrNew($id, $columns); + } + + /** + * Find a model by its primary key or call a callback. + * + * @template TValue + * @param mixed $id + * @param (\Closure(): TValue)|list|string $columns + * @param (\Closure(): TValue)|null $callback + * @return ( $id is (\Illuminate\Contracts\Support\Arrayable|array) + * ? \Illuminate\Database\Eloquent\Collection + * : TModel|TValue + * ) + * @static + */ + public static function findOr($id, $columns = [], $callback = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->findOr($id, $columns, $callback); + } + + /** + * Get the first record matching the attributes or instantiate it. + * + * @param array $attributes + * @param array $values + * @return TModel + * @static + */ + public static function firstOrNew($attributes = [], $values = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->firstOrNew($attributes, $values); + } + + /** + * Get the first record matching the attributes. If the record is not found, create it. + * + * @param array $attributes + * @param array $values + * @return TModel + * @static + */ + public static function firstOrCreate($attributes = [], $values = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->firstOrCreate($attributes, $values); + } + + /** + * Attempt to create the record. If a unique constraint violation occurs, attempt to find the matching record. + * + * @param array $attributes + * @param array $values + * @return TModel + * @static + */ + public static function createOrFirst($attributes = [], $values = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->createOrFirst($attributes, $values); + } + + /** + * Create or update a record matching the attributes, and fill it with values. + * + * @param array $attributes + * @param array $values + * @return TModel + * @static + */ + public static function updateOrCreate($attributes, $values = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->updateOrCreate($attributes, $values); + } + + /** + * Execute the query and get the first result or throw an exception. + * + * @param array|string $columns + * @return TModel + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException + * @static + */ + public static function firstOrFail($columns = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->firstOrFail($columns); + } + + /** + * Execute the query and get the first result or call a callback. + * + * @template TValue + * @param (\Closure(): TValue)|list $columns + * @param (\Closure(): TValue)|null $callback + * @return TModel|TValue + * @static + */ + public static function firstOr($columns = [], $callback = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->firstOr($columns, $callback); + } + + /** + * Execute the query and get the first result if it's the sole matching record. + * + * @param array|string $columns + * @return TModel + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException + * @throws \Illuminate\Database\MultipleRecordsFoundException + * @static + */ + public static function sole($columns = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->sole($columns); + } + + /** + * Get a single column's value from the first result of a query. + * + * @param string|\Illuminate\Contracts\Database\Query\Expression $column + * @return mixed + * @static + */ + public static function value($column) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->value($column); + } + + /** + * Get a single column's value from the first result of a query if it's the sole matching record. + * + * @param string|\Illuminate\Contracts\Database\Query\Expression $column + * @return mixed + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException + * @throws \Illuminate\Database\MultipleRecordsFoundException + * @static + */ + public static function soleValue($column) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->soleValue($column); + } + + /** + * Get a single column's value from the first result of the query or throw an exception. + * + * @param string|\Illuminate\Contracts\Database\Query\Expression $column + * @return mixed + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException + * @static + */ + public static function valueOrFail($column) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->valueOrFail($column); + } + + /** + * Execute the query as a "select" statement. + * + * @param array|string $columns + * @return \Illuminate\Database\Eloquent\Collection + * @static + */ + public static function get($columns = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->get($columns); + } + + /** + * Get the hydrated models without eager loading. + * + * @param array|string $columns + * @return array + * @static + */ + public static function getModels($columns = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->getModels($columns); + } + + /** + * Eager load the relationships for the models. + * + * @param array $models + * @return array + * @static + */ + public static function eagerLoadRelations($models) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->eagerLoadRelations($models); + } + + /** + * Register a closure to be invoked after the query is executed. + * + * @param \Closure $callback + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function afterQuery($callback) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->afterQuery($callback); + } + + /** + * Invoke the "after query" modification callbacks. + * + * @param mixed $result + * @return mixed + * @static + */ + public static function applyAfterQueryCallbacks($result) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->applyAfterQueryCallbacks($result); + } + + /** + * Get a lazy collection for the given query. + * + * @return \Illuminate\Support\LazyCollection + * @static + */ + public static function cursor() + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->cursor(); + } + + /** + * Get a collection with the values of a given column. + * + * @param string|\Illuminate\Contracts\Database\Query\Expression $column + * @param string|null $key + * @return \Illuminate\Support\Collection + * @static + */ + public static function pluck($column, $key = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->pluck($column, $key); + } + + /** + * Paginate the given query. + * + * @param int|null|\Closure $perPage + * @param array|string $columns + * @param string $pageName + * @param int|null $page + * @param \Closure|int|null $total + * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator + * @throws \InvalidArgumentException + * @static + */ + public static function paginate($perPage = null, $columns = [], $pageName = 'page', $page = null, $total = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->paginate($perPage, $columns, $pageName, $page, $total); + } + + /** + * Paginate the given query into a simple paginator. + * + * @param int|null $perPage + * @param array|string $columns + * @param string $pageName + * @param int|null $page + * @return \Illuminate\Contracts\Pagination\Paginator + * @static + */ + public static function simplePaginate($perPage = null, $columns = [], $pageName = 'page', $page = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->simplePaginate($perPage, $columns, $pageName, $page); + } + + /** + * Paginate the given query into a cursor paginator. + * + * @param int|null $perPage + * @param array|string $columns + * @param string $cursorName + * @param \Illuminate\Pagination\Cursor|string|null $cursor + * @return \Illuminate\Contracts\Pagination\CursorPaginator + * @static + */ + public static function cursorPaginate($perPage = null, $columns = [], $cursorName = 'cursor', $cursor = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->cursorPaginate($perPage, $columns, $cursorName, $cursor); + } + + /** + * Save a new model and return the instance. + * + * @param array $attributes + * @return TModel + * @static + */ + public static function create($attributes = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->create($attributes); + } + + /** + * Save a new model and return the instance without raising model events. + * + * @param array $attributes + * @return TModel + * @static + */ + public static function createQuietly($attributes = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->createQuietly($attributes); + } + + /** + * Save a new model and return the instance. Allow mass-assignment. + * + * @param array $attributes + * @return TModel + * @static + */ + public static function forceCreate($attributes) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->forceCreate($attributes); + } + + /** + * Save a new model instance with mass assignment without raising model events. + * + * @param array $attributes + * @return TModel + * @static + */ + public static function forceCreateQuietly($attributes = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->forceCreateQuietly($attributes); + } + + /** + * Insert new records or update the existing ones. + * + * @param array $values + * @param array|string $uniqueBy + * @param array|null $update + * @return int + * @static + */ + public static function upsert($values, $uniqueBy, $update = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->upsert($values, $uniqueBy, $update); + } + + /** + * Register a replacement for the default delete function. + * + * @param \Closure $callback + * @return void + * @static + */ + public static function onDelete($callback) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + $instance->onDelete($callback); + } + + /** + * Call the given local model scopes. + * + * @param array|string $scopes + * @return static|mixed + * @static + */ + public static function scopes($scopes) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->scopes($scopes); + } + + /** + * Apply the scopes to the Eloquent builder instance and return it. + * + * @return static + * @static + */ + public static function applyScopes() + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->applyScopes(); + } + + /** + * Prevent the specified relations from being eager loaded. + * + * @param mixed $relations + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function without($relations) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->without($relations); + } + + /** + * Set the relationships that should be eager loaded while removing any previously added eager loading specifications. + * + * @param array): mixed)|string>|string $relations + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withOnly($relations) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withOnly($relations); + } + + /** + * Create a new instance of the model being queried. + * + * @param array $attributes + * @return TModel + * @static + */ + public static function newModelInstance($attributes = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->newModelInstance($attributes); + } + + /** + * Apply query-time casts to the model instance. + * + * @param array $casts + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withCasts($casts) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withCasts($casts); + } + + /** + * Execute the given Closure within a transaction savepoint if needed. + * + * @template TModelValue + * @param \Closure(): TModelValue $scope + * @return TModelValue + * @static + */ + public static function withSavepointIfNeeded($scope) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withSavepointIfNeeded($scope); + } + + /** + * Get the underlying query builder instance. + * + * @return \Illuminate\Database\Query\Builder + * @static + */ + public static function getQuery() + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->getQuery(); + } + + /** + * Set the underlying query builder instance. + * + * @param \Illuminate\Database\Query\Builder $query + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function setQuery($query) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->setQuery($query); + } + + /** + * Get a base query builder instance. + * + * @return \Illuminate\Database\Query\Builder + * @static + */ + public static function toBase() + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->toBase(); + } + + /** + * Get the relationships being eagerly loaded. + * + * @return array + * @static + */ + public static function getEagerLoads() + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->getEagerLoads(); + } + + /** + * Set the relationships being eagerly loaded. + * + * @param array $eagerLoad + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function setEagerLoads($eagerLoad) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->setEagerLoads($eagerLoad); + } + + /** + * Indicate that the given relationships should not be eagerly loaded. + * + * @param array $relations + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withoutEagerLoad($relations) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withoutEagerLoad($relations); + } + + /** + * Flush the relationships being eagerly loaded. + * + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withoutEagerLoads() + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withoutEagerLoads(); + } + + /** + * Get the model instance being queried. + * + * @return TModel + * @static + */ + public static function getModel() + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->getModel(); + } + + /** + * Set a model instance for the model being queried. + * + * @template TModelNew of \Illuminate\Database\Eloquent\Model + * @param TModelNew $model + * @return static + * @static + */ + public static function setModel($model) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->setModel($model); + } + + /** + * Get the given macro by name. + * + * @param string $name + * @return \Closure + * @static + */ + public static function getMacro($name) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->getMacro($name); + } + + /** + * Checks if a macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasMacro($name) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->hasMacro($name); + } + + /** + * Get the given global macro by name. + * + * @param string $name + * @return \Closure + * @static + */ + public static function getGlobalMacro($name) + { + return \Illuminate\Database\Eloquent\Builder::getGlobalMacro($name); + } + + /** + * Checks if a global macro is registered. + * + * @param string $name + * @return bool + * @static + */ + public static function hasGlobalMacro($name) + { + return \Illuminate\Database\Eloquent\Builder::hasGlobalMacro($name); + } + + /** + * Clone the Eloquent query builder. + * + * @return static + * @static + */ + public static function clone() + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->clone(); + } + + /** + * Chunk the results of the query. + * + * @param int $count + * @param \Illuminate\Database\Eloquent\callable(\Illuminate\Support\Collection, int): mixed $callback + * @return bool + * @static + */ + public static function chunk($count, $callback) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->chunk($count, $callback); + } + + /** + * Run a map over each item while chunking. + * + * @template TReturn + * @param \Illuminate\Database\Eloquent\callable(TValue): TReturn $callback + * @param int $count + * @return \Illuminate\Support\Collection + * @static + */ + public static function chunkMap($callback, $count = 1000) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->chunkMap($callback, $count); + } + + /** + * Execute a callback over each item while chunking. + * + * @param \Illuminate\Database\Eloquent\callable(TValue, int): mixed $callback + * @param int $count + * @return bool + * @throws \RuntimeException + * @static + */ + public static function each($callback, $count = 1000) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->each($callback, $count); + } + + /** + * Chunk the results of a query by comparing IDs. + * + * @param int $count + * @param \Illuminate\Database\Eloquent\callable(\Illuminate\Support\Collection, int): mixed $callback + * @param string|null $column + * @param string|null $alias + * @return bool + * @static + */ + public static function chunkById($count, $callback, $column = null, $alias = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->chunkById($count, $callback, $column, $alias); + } + + /** + * Chunk the results of a query by comparing IDs in descending order. + * + * @param int $count + * @param \Illuminate\Database\Eloquent\callable(\Illuminate\Support\Collection, int): mixed $callback + * @param string|null $column + * @param string|null $alias + * @return bool + * @static + */ + public static function chunkByIdDesc($count, $callback, $column = null, $alias = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->chunkByIdDesc($count, $callback, $column, $alias); + } + + /** + * Chunk the results of a query by comparing IDs in a given order. + * + * @param int $count + * @param \Illuminate\Database\Eloquent\callable(\Illuminate\Support\Collection, int): mixed $callback + * @param string|null $column + * @param string|null $alias + * @param bool $descending + * @return bool + * @throws \RuntimeException + * @static + */ + public static function orderedChunkById($count, $callback, $column = null, $alias = null, $descending = false) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orderedChunkById($count, $callback, $column, $alias, $descending); + } + + /** + * Execute a callback over each item while chunking by ID. + * + * @param \Illuminate\Database\Eloquent\callable(TValue, int): mixed $callback + * @param int $count + * @param string|null $column + * @param string|null $alias + * @return bool + * @static + */ + public static function eachById($callback, $count = 1000, $column = null, $alias = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->eachById($callback, $count, $column, $alias); + } + + /** + * Query lazily, by chunks of the given size. + * + * @param int $chunkSize + * @return \Illuminate\Support\LazyCollection + * @throws \InvalidArgumentException + * @static + */ + public static function lazy($chunkSize = 1000) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->lazy($chunkSize); + } + + /** + * Query lazily, by chunking the results of a query by comparing IDs. + * + * @param int $chunkSize + * @param string|null $column + * @param string|null $alias + * @return \Illuminate\Support\LazyCollection + * @throws \InvalidArgumentException + * @static + */ + public static function lazyById($chunkSize = 1000, $column = null, $alias = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->lazyById($chunkSize, $column, $alias); + } + + /** + * Query lazily, by chunking the results of a query by comparing IDs in descending order. + * + * @param int $chunkSize + * @param string|null $column + * @param string|null $alias + * @return \Illuminate\Support\LazyCollection + * @throws \InvalidArgumentException + * @static + */ + public static function lazyByIdDesc($chunkSize = 1000, $column = null, $alias = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->lazyByIdDesc($chunkSize, $column, $alias); + } + + /** + * Execute the query and get the first result. + * + * @param array|string $columns + * @return TValue|null + * @static + */ + public static function first($columns = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->first($columns); + } + + /** + * Execute the query and get the first result if it's the sole matching record. + * + * @param array|string $columns + * @return TValue + * @throws \Illuminate\Database\RecordsNotFoundException + * @throws \Illuminate\Database\MultipleRecordsFoundException + * @static + */ + public static function baseSole($columns = []) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->baseSole($columns); + } + + /** + * Pass the query to a given callback. + * + * @param \Illuminate\Database\Eloquent\callable($this): mixed $callback + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function tap($callback) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->tap($callback); + } + + /** + * Apply the callback if the given "value" is (or resolves to) truthy. + * + * @template TWhenParameter + * @template TWhenReturnType + * @param (\Closure($this): TWhenParameter)|TWhenParameter|null $value + * @param (callable($this, TWhenParameter): TWhenReturnType)|null $callback + * @param (callable($this, TWhenParameter): TWhenReturnType)|null $default + * @return $this|TWhenReturnType + * @static + */ + public static function when($value = null, $callback = null, $default = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->when($value, $callback, $default); + } + + /** + * Apply the callback if the given "value" is (or resolves to) falsy. + * + * @template TUnlessParameter + * @template TUnlessReturnType + * @param (\Closure($this): TUnlessParameter)|TUnlessParameter|null $value + * @param (callable($this, TUnlessParameter): TUnlessReturnType)|null $callback + * @param (callable($this, TUnlessParameter): TUnlessReturnType)|null $default + * @return $this|TUnlessReturnType + * @static + */ + public static function unless($value = null, $callback = null, $default = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->unless($value, $callback, $default); + } + + /** + * Add a relationship count / exists condition to the query. + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param string $operator + * @param int $count + * @param string $boolean + * @param \Closure|null $callback + * @return \Illuminate\Database\Eloquent\Builder + * @throws \RuntimeException + * @static + */ + public static function has($relation, $operator = '>=', $count = 1, $boolean = 'and', $callback = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->has($relation, $operator, $count, $boolean, $callback); + } + + /** + * Add a relationship count / exists condition to the query with an "or". + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param string $operator + * @param int $count + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orHas($relation, $operator = '>=', $count = 1) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orHas($relation, $operator, $count); + } + + /** + * Add a relationship count / exists condition to the query. + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param string $boolean + * @param \Closure|null $callback + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function doesntHave($relation, $boolean = 'and', $callback = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->doesntHave($relation, $boolean, $callback); + } + + /** + * Add a relationship count / exists condition to the query with an "or". + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orDoesntHave($relation) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orDoesntHave($relation); + } + + /** + * Add a relationship count / exists condition to the query with where clauses. + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param \Closure|null $callback + * @param string $operator + * @param int $count + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereHas($relation, $callback = null, $operator = '>=', $count = 1) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereHas($relation, $callback, $operator, $count); + } + + /** + * Add a relationship count / exists condition to the query with where clauses. + * + * Also load the relationship with same condition. + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param \Closure|null $callback + * @param string $operator + * @param int $count + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withWhereHas($relation, $callback = null, $operator = '>=', $count = 1) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withWhereHas($relation, $callback, $operator, $count); + } + + /** + * Add a relationship count / exists condition to the query with where clauses and an "or". + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param \Closure|null $callback + * @param string $operator + * @param int $count + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereHas($relation, $callback = null, $operator = '>=', $count = 1) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereHas($relation, $callback, $operator, $count); + } + + /** + * Add a relationship count / exists condition to the query with where clauses. + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param \Closure|null $callback + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereDoesntHave($relation, $callback = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereDoesntHave($relation, $callback); + } + + /** + * Add a relationship count / exists condition to the query with where clauses and an "or". + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param \Closure|null $callback + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereDoesntHave($relation, $callback = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereDoesntHave($relation, $callback); + } + + /** + * Add a polymorphic relationship count / exists condition to the query. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @param string $operator + * @param int $count + * @param string $boolean + * @param \Closure|null $callback + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function hasMorph($relation, $types, $operator = '>=', $count = 1, $boolean = 'and', $callback = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->hasMorph($relation, $types, $operator, $count, $boolean, $callback); + } + + /** + * Add a polymorphic relationship count / exists condition to the query with an "or". + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @param string $operator + * @param int $count + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orHasMorph($relation, $types, $operator = '>=', $count = 1) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orHasMorph($relation, $types, $operator, $count); + } + + /** + * Add a polymorphic relationship count / exists condition to the query. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @param string $boolean + * @param \Closure|null $callback + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function doesntHaveMorph($relation, $types, $boolean = 'and', $callback = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->doesntHaveMorph($relation, $types, $boolean, $callback); + } + + /** + * Add a polymorphic relationship count / exists condition to the query with an "or". + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orDoesntHaveMorph($relation, $types) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orDoesntHaveMorph($relation, $types); + } + + /** + * Add a polymorphic relationship count / exists condition to the query with where clauses. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @param \Closure|null $callback + * @param string $operator + * @param int $count + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereHasMorph($relation, $types, $callback = null, $operator = '>=', $count = 1) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereHasMorph($relation, $types, $callback, $operator, $count); + } + + /** + * Add a polymorphic relationship count / exists condition to the query with where clauses and an "or". + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @param \Closure|null $callback + * @param string $operator + * @param int $count + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereHasMorph($relation, $types, $callback = null, $operator = '>=', $count = 1) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereHasMorph($relation, $types, $callback, $operator, $count); + } + + /** + * Add a polymorphic relationship count / exists condition to the query with where clauses. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @param \Closure|null $callback + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereDoesntHaveMorph($relation, $types, $callback = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereDoesntHaveMorph($relation, $types, $callback); + } + + /** + * Add a polymorphic relationship count / exists condition to the query with where clauses and an "or". + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @param \Closure|null $callback + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereDoesntHaveMorph($relation, $types, $callback = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereDoesntHaveMorph($relation, $types, $callback); + } + + /** + * Add a basic where clause to a relationship query. + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereRelation($relation, $column, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereRelation($relation, $column, $operator, $value); + } + + /** + * Add an "or where" clause to a relationship query. + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereRelation($relation, $column, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereRelation($relation, $column, $operator, $value); + } + + /** + * Add a basic count / exists condition to a relationship query. + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereDoesntHaveRelation($relation, $column, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereDoesntHaveRelation($relation, $column, $operator, $value); + } + + /** + * Add an "or where" clause to a relationship query. + * + * @param \Illuminate\Database\Eloquent\Relations\Relation<*, *, *>|string $relation + * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereDoesntHaveRelation($relation, $column, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereDoesntHaveRelation($relation, $column, $operator, $value); + } + + /** + * Add a polymorphic relationship condition to the query with a where clause. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereMorphRelation($relation, $types, $column, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereMorphRelation($relation, $types, $column, $operator, $value); + } + + /** + * Add a polymorphic relationship condition to the query with an "or where" clause. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereMorphRelation($relation, $types, $column, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereMorphRelation($relation, $types, $column, $operator, $value); + } + + /** + * Add a polymorphic relationship condition to the query with a doesn't have clause. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereMorphDoesntHaveRelation($relation, $types, $column, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereMorphDoesntHaveRelation($relation, $types, $column, $operator, $value); + } + + /** + * Add a polymorphic relationship condition to the query with an "or doesn't have" clause. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param string|array $types + * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereMorphDoesntHaveRelation($relation, $types, $column, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereMorphDoesntHaveRelation($relation, $types, $column, $operator, $value); + } + + /** + * Add a morph-to relationship condition to the query. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param \Illuminate\Database\Eloquent\Model|string|null $model + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereMorphedTo($relation, $model, $boolean = 'and') + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereMorphedTo($relation, $model, $boolean); + } + + /** + * Add a not morph-to relationship condition to the query. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param \Illuminate\Database\Eloquent\Model|string $model + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereNotMorphedTo($relation, $model, $boolean = 'and') + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereNotMorphedTo($relation, $model, $boolean); + } + + /** + * Add a morph-to relationship condition to the query with an "or where" clause. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param \Illuminate\Database\Eloquent\Model|string|null $model + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereMorphedTo($relation, $model) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereMorphedTo($relation, $model); + } + + /** + * Add a not morph-to relationship condition to the query with an "or where" clause. + * + * @param \Illuminate\Database\Eloquent\Relations\MorphTo<*, *>|string $relation + * @param \Illuminate\Database\Eloquent\Model|string $model + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereNotMorphedTo($relation, $model) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereNotMorphedTo($relation, $model); + } + + /** + * Add a "belongs to" relationship where clause to the query. + * + * @param \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection $related + * @param string|null $relationshipName + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @throws \Illuminate\Database\Eloquent\RelationNotFoundException + * @static + */ + public static function whereBelongsTo($related, $relationshipName = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->whereBelongsTo($related, $relationshipName, $boolean); + } + + /** + * Add a "BelongsTo" relationship with an "or where" clause to the query. + * + * @param \Illuminate\Database\Eloquent\Model $related + * @param string|null $relationshipName + * @return \Illuminate\Database\Eloquent\Builder + * @throws \RuntimeException + * @static + */ + public static function orWhereBelongsTo($related, $relationshipName = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->orWhereBelongsTo($related, $relationshipName); + } + + /** + * Add subselect queries to include an aggregate value for a relationship. + * + * @param mixed $relations + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param string $function + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withAggregate($relations, $column, $function = null) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withAggregate($relations, $column, $function); + } + + /** + * Add subselect queries to count the relations. + * + * @param mixed $relations + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withCount($relations) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withCount($relations); + } + + /** + * Add subselect queries to include the max of the relation's column. + * + * @param string|array $relation + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withMax($relation, $column) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withMax($relation, $column); + } + + /** + * Add subselect queries to include the min of the relation's column. + * + * @param string|array $relation + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withMin($relation, $column) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withMin($relation, $column); + } + + /** + * Add subselect queries to include the sum of the relation's column. + * + * @param string|array $relation + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withSum($relation, $column) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withSum($relation, $column); + } + + /** + * Add subselect queries to include the average of the relation's column. + * + * @param string|array $relation + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withAvg($relation, $column) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withAvg($relation, $column); + } + + /** + * Add subselect queries to include the existence of related models. + * + * @param string|array $relation + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function withExists($relation) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->withExists($relation); + } + + /** + * Merge the where constraints from another query to the current query. + * + * @param \Illuminate\Database\Eloquent\Builder<*> $from + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function mergeConstraintsFrom($from) + { + /** @var \Illuminate\Database\Eloquent\Builder $instance */ + return $instance->mergeConstraintsFrom($from); + } + + /** + * Set the columns to be selected. + * + * @param array|mixed $columns + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function select($columns = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->select($columns); + } + + /** + * Add a subselect expression to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query + * @param string $as + * @return \Illuminate\Database\Eloquent\Builder + * @throws \InvalidArgumentException + * @static + */ + public static function selectSub($query, $as) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->selectSub($query, $as); + } + + /** + * Add a new "raw" select expression to the query. + * + * @param string $expression + * @param array $bindings + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function selectRaw($expression, $bindings = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->selectRaw($expression, $bindings); + } + + /** + * Makes "from" fetch from a subquery. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query + * @param string $as + * @return \Illuminate\Database\Eloquent\Builder + * @throws \InvalidArgumentException + * @static + */ + public static function fromSub($query, $as) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->fromSub($query, $as); + } + + /** + * Add a raw from clause to the query. + * + * @param string $expression + * @param mixed $bindings + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function fromRaw($expression, $bindings = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->fromRaw($expression, $bindings); + } + + /** + * Add a new select column to the query. + * + * @param array|mixed $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function addSelect($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->addSelect($column); + } + + /** + * Force the query to only return distinct results. + * + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function distinct() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->distinct(); + } + + /** + * Set the table which the query is targeting. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|\Illuminate\Contracts\Database\Query\Expression|string $table + * @param string|null $as + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function from($table, $as = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->from($table, $as); + } + + /** + * Add an index hint to suggest a query index. + * + * @param string $index + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function useIndex($index) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->useIndex($index); + } + + /** + * Add an index hint to force a query index. + * + * @param string $index + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function forceIndex($index) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->forceIndex($index); + } + + /** + * Add an index hint to ignore a query index. + * + * @param string $index + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function ignoreIndex($index) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->ignoreIndex($index); + } + + /** + * Add a join clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $table + * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first + * @param string|null $operator + * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second + * @param string $type + * @param bool $where + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function join($table, $first, $operator = null, $second = null, $type = 'inner', $where = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->join($table, $first, $operator, $second, $type, $where); + } + + /** + * Add a "join where" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $table + * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first + * @param string $operator + * @param \Illuminate\Contracts\Database\Query\Expression|string $second + * @param string $type + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function joinWhere($table, $first, $operator, $second, $type = 'inner') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->joinWhere($table, $first, $operator, $second, $type); + } + + /** + * Add a subquery join clause to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query + * @param string $as + * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first + * @param string|null $operator + * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second + * @param string $type + * @param bool $where + * @return \Illuminate\Database\Eloquent\Builder + * @throws \InvalidArgumentException + * @static + */ + public static function joinSub($query, $as, $first, $operator = null, $second = null, $type = 'inner', $where = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->joinSub($query, $as, $first, $operator, $second, $type, $where); + } + + /** + * Add a lateral join clause to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query + * @param string $as + * @param string $type + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function joinLateral($query, $as, $type = 'inner') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->joinLateral($query, $as, $type); + } + + /** + * Add a lateral left join to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query + * @param string $as + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function leftJoinLateral($query, $as) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->leftJoinLateral($query, $as); + } + + /** + * Add a left join to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $table + * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first + * @param string|null $operator + * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function leftJoin($table, $first, $operator = null, $second = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->leftJoin($table, $first, $operator, $second); + } + + /** + * Add a "join where" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $table + * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first + * @param string $operator + * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function leftJoinWhere($table, $first, $operator, $second) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->leftJoinWhere($table, $first, $operator, $second); + } + + /** + * Add a subquery left join to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query + * @param string $as + * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first + * @param string|null $operator + * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function leftJoinSub($query, $as, $first, $operator = null, $second = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->leftJoinSub($query, $as, $first, $operator, $second); + } + + /** + * Add a right join to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $table + * @param \Closure|string $first + * @param string|null $operator + * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function rightJoin($table, $first, $operator = null, $second = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->rightJoin($table, $first, $operator, $second); + } + + /** + * Add a "right join where" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $table + * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first + * @param string $operator + * @param \Illuminate\Contracts\Database\Query\Expression|string $second + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function rightJoinWhere($table, $first, $operator, $second) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->rightJoinWhere($table, $first, $operator, $second); + } + + /** + * Add a subquery right join to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query + * @param string $as + * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first + * @param string|null $operator + * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function rightJoinSub($query, $as, $first, $operator = null, $second = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->rightJoinSub($query, $as, $first, $operator, $second); + } + + /** + * Add a "cross join" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $table + * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string|null $first + * @param string|null $operator + * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function crossJoin($table, $first = null, $operator = null, $second = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->crossJoin($table, $first, $operator, $second); + } + + /** + * Add a subquery cross join to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query + * @param string $as + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function crossJoinSub($query, $as) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->crossJoinSub($query, $as); + } + + /** + * Merge an array of where clauses and bindings. + * + * @param array $wheres + * @param array $bindings + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function mergeWheres($wheres, $bindings) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->mergeWheres($wheres, $bindings); + } + + /** + * Prepare the value and operator for a where clause. + * + * @param string $value + * @param string $operator + * @param bool $useDefault + * @return array + * @throws \InvalidArgumentException + * @static + */ + public static function prepareValueAndOperator($value, $operator, $useDefault = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->prepareValueAndOperator($value, $operator, $useDefault); + } + + /** + * Add a "where" clause comparing two columns to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string|array $first + * @param string|null $operator + * @param string|null $second + * @param string|null $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereColumn($first, $operator = null, $second = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereColumn($first, $operator, $second, $boolean); + } + + /** + * Add an "or where" clause comparing two columns to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string|array $first + * @param string|null $operator + * @param string|null $second + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereColumn($first, $operator = null, $second = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereColumn($first, $operator, $second); + } + + /** + * Add a raw where clause to the query. + * + * @param string $sql + * @param mixed $bindings + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereRaw($sql, $bindings = [], $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereRaw($sql, $bindings, $boolean); + } + + /** + * Add a raw or where clause to the query. + * + * @param string $sql + * @param mixed $bindings + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereRaw($sql, $bindings = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereRaw($sql, $bindings); + } + + /** + * Add a "where like" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param string $value + * @param bool $caseSensitive + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereLike($column, $value, $caseSensitive = false, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereLike($column, $value, $caseSensitive, $boolean, $not); + } + + /** + * Add an "or where like" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param string $value + * @param bool $caseSensitive + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereLike($column, $value, $caseSensitive = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereLike($column, $value, $caseSensitive); + } + + /** + * Add a "where not like" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param string $value + * @param bool $caseSensitive + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereNotLike($column, $value, $caseSensitive = false, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereNotLike($column, $value, $caseSensitive, $boolean); + } + + /** + * Add an "or where not like" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param string $value + * @param bool $caseSensitive + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereNotLike($column, $value, $caseSensitive = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereNotLike($column, $value, $caseSensitive); + } + + /** + * Add a "where in" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param mixed $values + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereIn($column, $values, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereIn($column, $values, $boolean, $not); + } + + /** + * Add an "or where in" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param mixed $values + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereIn($column, $values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereIn($column, $values); + } + + /** + * Add a "where not in" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param mixed $values + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereNotIn($column, $values, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereNotIn($column, $values, $boolean); + } + + /** + * Add an "or where not in" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param mixed $values + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereNotIn($column, $values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereNotIn($column, $values); + } + + /** + * Add a "where in raw" clause for integer values to the query. + * + * @param string $column + * @param \Illuminate\Contracts\Support\Arrayable|array $values + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereIntegerInRaw($column, $values, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereIntegerInRaw($column, $values, $boolean, $not); + } + + /** + * Add an "or where in raw" clause for integer values to the query. + * + * @param string $column + * @param \Illuminate\Contracts\Support\Arrayable|array $values + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereIntegerInRaw($column, $values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereIntegerInRaw($column, $values); + } + + /** + * Add a "where not in raw" clause for integer values to the query. + * + * @param string $column + * @param \Illuminate\Contracts\Support\Arrayable|array $values + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereIntegerNotInRaw($column, $values, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereIntegerNotInRaw($column, $values, $boolean); + } + + /** + * Add an "or where not in raw" clause for integer values to the query. + * + * @param string $column + * @param \Illuminate\Contracts\Support\Arrayable|array $values + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereIntegerNotInRaw($column, $values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereIntegerNotInRaw($column, $values); + } + + /** + * Add a "where null" clause to the query. + * + * @param string|array|\Illuminate\Contracts\Database\Query\Expression $columns + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereNull($columns, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereNull($columns, $boolean, $not); + } + + /** + * Add an "or where null" clause to the query. + * + * @param string|array|\Illuminate\Contracts\Database\Query\Expression $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereNull($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereNull($column); + } + + /** + * Add a "where not null" clause to the query. + * + * @param string|array|\Illuminate\Contracts\Database\Query\Expression $columns + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereNotNull($columns, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereNotNull($columns, $boolean); + } + + /** + * Add a where between statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param iterable $values + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereBetween($column, $values, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereBetween($column, $values, $boolean, $not); + } + + /** + * Add a where between statement using columns to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param array $values + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereBetweenColumns($column, $values, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereBetweenColumns($column, $values, $boolean, $not); + } + + /** + * Add an or where between statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param iterable $values + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereBetween($column, $values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereBetween($column, $values); + } + + /** + * Add an or where between statement using columns to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param array $values + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereBetweenColumns($column, $values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereBetweenColumns($column, $values); + } + + /** + * Add a where not between statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param iterable $values + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereNotBetween($column, $values, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereNotBetween($column, $values, $boolean); + } + + /** + * Add a where not between statement using columns to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param array $values + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereNotBetweenColumns($column, $values, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereNotBetweenColumns($column, $values, $boolean); + } + + /** + * Add an or where not between statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param iterable $values + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereNotBetween($column, $values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereNotBetween($column, $values); + } + + /** + * Add an or where not between statement using columns to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param array $values + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereNotBetweenColumns($column, $values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereNotBetweenColumns($column, $values); + } + + /** + * Add an "or where not null" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereNotNull($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereNotNull($column); + } + + /** + * Add a "where date" statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param \DateTimeInterface|string|null $operator + * @param \DateTimeInterface|string|null $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereDate($column, $operator, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereDate($column, $operator, $value, $boolean); + } + + /** + * Add an "or where date" statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param \DateTimeInterface|string|null $operator + * @param \DateTimeInterface|string|null $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereDate($column, $operator, $value = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereDate($column, $operator, $value); + } + + /** + * Add a "where time" statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param \DateTimeInterface|string|null $operator + * @param \DateTimeInterface|string|null $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereTime($column, $operator, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereTime($column, $operator, $value, $boolean); + } + + /** + * Add an "or where time" statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param \DateTimeInterface|string|null $operator + * @param \DateTimeInterface|string|null $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereTime($column, $operator, $value = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereTime($column, $operator, $value); + } + + /** + * Add a "where day" statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param \DateTimeInterface|string|int|null $operator + * @param \DateTimeInterface|string|int|null $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereDay($column, $operator, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereDay($column, $operator, $value, $boolean); + } + + /** + * Add an "or where day" statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param \DateTimeInterface|string|int|null $operator + * @param \DateTimeInterface|string|int|null $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereDay($column, $operator, $value = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereDay($column, $operator, $value); + } + + /** + * Add a "where month" statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param \DateTimeInterface|string|int|null $operator + * @param \DateTimeInterface|string|int|null $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereMonth($column, $operator, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereMonth($column, $operator, $value, $boolean); + } + + /** + * Add an "or where month" statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param \DateTimeInterface|string|int|null $operator + * @param \DateTimeInterface|string|int|null $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereMonth($column, $operator, $value = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereMonth($column, $operator, $value); + } + + /** + * Add a "where year" statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param \DateTimeInterface|string|int|null $operator + * @param \DateTimeInterface|string|int|null $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereYear($column, $operator, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereYear($column, $operator, $value, $boolean); + } + + /** + * Add an "or where year" statement to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @param \DateTimeInterface|string|int|null $operator + * @param \DateTimeInterface|string|int|null $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereYear($column, $operator, $value = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereYear($column, $operator, $value); + } + + /** + * Add a nested where statement to the query. + * + * @param \Closure $callback + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereNested($callback, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereNested($callback, $boolean); + } + + /** + * Create a new query instance for nested where condition. + * + * @return \Illuminate\Database\Query\Builder + * @static + */ + public static function forNestedWhere() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->forNestedWhere(); + } + + /** + * Add another query builder as a nested where to the query builder. + * + * @param \Illuminate\Database\Query\Builder $query + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function addNestedWhereQuery($query, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->addNestedWhereQuery($query, $boolean); + } + + /** + * Add an exists clause to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*> $callback + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereExists($callback, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereExists($callback, $boolean, $not); + } + + /** + * Add an or exists clause to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*> $callback + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereExists($callback, $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereExists($callback, $not); + } + + /** + * Add a where not exists clause to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*> $callback + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereNotExists($callback, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereNotExists($callback, $boolean); + } + + /** + * Add a where not exists clause to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*> $callback + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereNotExists($callback) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereNotExists($callback); + } + + /** + * Add an exists clause to the query. + * + * @param \Illuminate\Database\Query\Builder $query + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function addWhereExistsQuery($query, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->addWhereExistsQuery($query, $boolean, $not); + } + + /** + * Adds a where condition using row values. + * + * @param array $columns + * @param string $operator + * @param array $values + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @throws \InvalidArgumentException + * @static + */ + public static function whereRowValues($columns, $operator, $values, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereRowValues($columns, $operator, $values, $boolean); + } + + /** + * Adds an or where condition using row values. + * + * @param array $columns + * @param string $operator + * @param array $values + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereRowValues($columns, $operator, $values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereRowValues($columns, $operator, $values); + } + + /** + * Add a "where JSON contains" clause to the query. + * + * @param string $column + * @param mixed $value + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereJsonContains($column, $value, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereJsonContains($column, $value, $boolean, $not); + } + + /** + * Add an "or where JSON contains" clause to the query. + * + * @param string $column + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereJsonContains($column, $value) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereJsonContains($column, $value); + } + + /** + * Add a "where JSON not contains" clause to the query. + * + * @param string $column + * @param mixed $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereJsonDoesntContain($column, $value, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereJsonDoesntContain($column, $value, $boolean); + } + + /** + * Add an "or where JSON not contains" clause to the query. + * + * @param string $column + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereJsonDoesntContain($column, $value) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereJsonDoesntContain($column, $value); + } + + /** + * Add a "where JSON overlaps" clause to the query. + * + * @param string $column + * @param mixed $value + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereJsonOverlaps($column, $value, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereJsonOverlaps($column, $value, $boolean, $not); + } + + /** + * Add an "or where JSON overlaps" clause to the query. + * + * @param string $column + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereJsonOverlaps($column, $value) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereJsonOverlaps($column, $value); + } + + /** + * Add a "where JSON not overlap" clause to the query. + * + * @param string $column + * @param mixed $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereJsonDoesntOverlap($column, $value, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereJsonDoesntOverlap($column, $value, $boolean); + } + + /** + * Add an "or where JSON not overlap" clause to the query. + * + * @param string $column + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereJsonDoesntOverlap($column, $value) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereJsonDoesntOverlap($column, $value); + } + + /** + * Add a clause that determines if a JSON path exists to the query. + * + * @param string $column + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereJsonContainsKey($column, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereJsonContainsKey($column, $boolean, $not); + } + + /** + * Add an "or" clause that determines if a JSON path exists to the query. + * + * @param string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereJsonContainsKey($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereJsonContainsKey($column); + } + + /** + * Add a clause that determines if a JSON path does not exist to the query. + * + * @param string $column + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereJsonDoesntContainKey($column, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereJsonDoesntContainKey($column, $boolean); + } + + /** + * Add an "or" clause that determines if a JSON path does not exist to the query. + * + * @param string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereJsonDoesntContainKey($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereJsonDoesntContainKey($column); + } + + /** + * Add a "where JSON length" clause to the query. + * + * @param string $column + * @param mixed $operator + * @param mixed $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereJsonLength($column, $operator, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereJsonLength($column, $operator, $value, $boolean); + } + + /** + * Add an "or where JSON length" clause to the query. + * + * @param string $column + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereJsonLength($column, $operator, $value = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereJsonLength($column, $operator, $value); + } + + /** + * Handles dynamic "where" clauses to the query. + * + * @param string $method + * @param array $parameters + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function dynamicWhere($method, $parameters) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->dynamicWhere($method, $parameters); + } + + /** + * Add a "where fulltext" clause to the query. + * + * @param string|string[] $columns + * @param string $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereFullText($columns, $value, $options = [], $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereFullText($columns, $value, $options, $boolean); + } + + /** + * Add a "or where fulltext" clause to the query. + * + * @param string|string[] $columns + * @param string $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereFullText($columns, $value, $options = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereFullText($columns, $value, $options); + } + + /** + * Add a "where" clause to the query for multiple columns with "and" conditions between them. + * + * @param \Illuminate\Contracts\Database\Query\Expression[]|\Closure[]|string[] $columns + * @param mixed $operator + * @param mixed $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereAll($columns, $operator = null, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereAll($columns, $operator, $value, $boolean); + } + + /** + * Add an "or where" clause to the query for multiple columns with "and" conditions between them. + * + * @param \Illuminate\Contracts\Database\Query\Expression[]|\Closure[]|string[] $columns + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereAll($columns, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereAll($columns, $operator, $value); + } + + /** + * Add a "where" clause to the query for multiple columns with "or" conditions between them. + * + * @param \Illuminate\Contracts\Database\Query\Expression[]|\Closure[]|string[] $columns + * @param mixed $operator + * @param mixed $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereAny($columns, $operator = null, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereAny($columns, $operator, $value, $boolean); + } + + /** + * Add an "or where" clause to the query for multiple columns with "or" conditions between them. + * + * @param \Illuminate\Contracts\Database\Query\Expression[]|\Closure[]|string[] $columns + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereAny($columns, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereAny($columns, $operator, $value); + } + + /** + * Add a "where not" clause to the query for multiple columns where none of the conditions should be true. + * + * @param \Illuminate\Contracts\Database\Query\Expression[]|\Closure[]|string[] $columns + * @param mixed $operator + * @param mixed $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function whereNone($columns, $operator = null, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->whereNone($columns, $operator, $value, $boolean); + } + + /** + * Add an "or where not" clause to the query for multiple columns where none of the conditions should be true. + * + * @param \Illuminate\Contracts\Database\Query\Expression[]|\Closure[]|string[] $columns + * @param mixed $operator + * @param mixed $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orWhereNone($columns, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orWhereNone($columns, $operator, $value); + } + + /** + * Add a "group by" clause to the query. + * + * @param array|\Illuminate\Contracts\Database\Query\Expression|string $groups + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function groupBy(...$groups) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->groupBy(...$groups); + } + + /** + * Add a raw groupBy clause to the query. + * + * @param string $sql + * @param array $bindings + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function groupByRaw($sql, $bindings = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->groupByRaw($sql, $bindings); + } + + /** + * Add a "having" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|\Closure|string $column + * @param string|int|float|null $operator + * @param string|int|float|null $value + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function having($column, $operator = null, $value = null, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->having($column, $operator, $value, $boolean); + } + + /** + * Add an "or having" clause to the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|\Closure|string $column + * @param string|int|float|null $operator + * @param string|int|float|null $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orHaving($column, $operator = null, $value = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orHaving($column, $operator, $value); + } + + /** + * Add a nested having statement to the query. + * + * @param \Closure $callback + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function havingNested($callback, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->havingNested($callback, $boolean); + } + + /** + * Add another query builder as a nested having to the query builder. + * + * @param \Illuminate\Database\Query\Builder $query + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function addNestedHavingQuery($query, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->addNestedHavingQuery($query, $boolean); + } + + /** + * Add a "having null" clause to the query. + * + * @param string|array $columns + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function havingNull($columns, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->havingNull($columns, $boolean, $not); + } + + /** + * Add an "or having null" clause to the query. + * + * @param string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orHavingNull($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orHavingNull($column); + } + + /** + * Add a "having not null" clause to the query. + * + * @param string|array $columns + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function havingNotNull($columns, $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->havingNotNull($columns, $boolean); + } + + /** + * Add an "or having not null" clause to the query. + * + * @param string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orHavingNotNull($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orHavingNotNull($column); + } + + /** + * Add a "having between " clause to the query. + * + * @param string $column + * @param iterable $values + * @param string $boolean + * @param bool $not + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function havingBetween($column, $values, $boolean = 'and', $not = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->havingBetween($column, $values, $boolean, $not); + } + + /** + * Add a raw having clause to the query. + * + * @param string $sql + * @param array $bindings + * @param string $boolean + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function havingRaw($sql, $bindings = [], $boolean = 'and') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->havingRaw($sql, $bindings, $boolean); + } + + /** + * Add a raw or having clause to the query. + * + * @param string $sql + * @param array $bindings + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orHavingRaw($sql, $bindings = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orHavingRaw($sql, $bindings); + } + + /** + * Add an "order by" clause to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|\Illuminate\Contracts\Database\Query\Expression|string $column + * @param string $direction + * @return \Illuminate\Database\Eloquent\Builder + * @throws \InvalidArgumentException + * @static + */ + public static function orderBy($column, $direction = 'asc') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orderBy($column, $direction); + } + + /** + * Add a descending "order by" clause to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|\Illuminate\Contracts\Database\Query\Expression|string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orderByDesc($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orderByDesc($column); + } + + /** + * Put the query's results in random order. + * + * @param string|int $seed + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function inRandomOrder($seed = '') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->inRandomOrder($seed); + } + + /** + * Add a raw "order by" clause to the query. + * + * @param string $sql + * @param array $bindings + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function orderByRaw($sql, $bindings = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->orderByRaw($sql, $bindings); + } + + /** + * Alias to set the "offset" value of the query. + * + * @param int $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function skip($value) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->skip($value); + } + + /** + * Set the "offset" value of the query. + * + * @param int $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function offset($value) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->offset($value); + } + + /** + * Alias to set the "limit" value of the query. + * + * @param int $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function take($value) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->take($value); + } + + /** + * Set the "limit" value of the query. + * + * @param int $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function limit($value) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->limit($value); + } + + /** + * Add a "group limit" clause to the query. + * + * @param int $value + * @param string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function groupLimit($value, $column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->groupLimit($value, $column); + } + + /** + * Set the limit and offset for a given page. + * + * @param int $page + * @param int $perPage + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function forPage($page, $perPage = 15) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->forPage($page, $perPage); + } + + /** + * Constrain the query to the previous "page" of results before a given ID. + * + * @param int $perPage + * @param int|null $lastId + * @param string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function forPageBeforeId($perPage = 15, $lastId = 0, $column = 'id') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->forPageBeforeId($perPage, $lastId, $column); + } + + /** + * Constrain the query to the next "page" of results after a given ID. + * + * @param int $perPage + * @param int|null $lastId + * @param string $column + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function forPageAfterId($perPage = 15, $lastId = 0, $column = 'id') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->forPageAfterId($perPage, $lastId, $column); + } + + /** + * Remove all existing orders and optionally add a new order. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Contracts\Database\Query\Expression|string|null $column + * @param string $direction + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function reorder($column = null, $direction = 'asc') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->reorder($column, $direction); + } + + /** + * Add a union statement to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*> $query + * @param bool $all + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function union($query, $all = false) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->union($query, $all); + } + + /** + * Add a union all statement to the query. + * + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*> $query + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function unionAll($query) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->unionAll($query); + } + + /** + * Lock the selected rows in the table. + * + * @param string|bool $value + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function lock($value = true) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->lock($value); + } + + /** + * Lock the selected rows in the table for updating. + * + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function lockForUpdate() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->lockForUpdate(); + } + + /** + * Share lock the selected rows in the table. + * + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function sharedLock() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->sharedLock(); + } + + /** + * Register a closure to be invoked before the query is executed. + * + * @param callable $callback + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function beforeQuery($callback) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->beforeQuery($callback); + } + + /** + * Invoke the "before query" modification callbacks. + * + * @return void + * @static + */ + public static function applyBeforeQueryCallbacks() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + $instance->applyBeforeQueryCallbacks(); + } + + /** + * Get the SQL representation of the query. + * + * @return string + * @static + */ + public static function toSql() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->toSql(); + } + + /** + * Get the raw SQL representation of the query with embedded bindings. + * + * @return string + * @static + */ + public static function toRawSql() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->toRawSql(); + } + + /** + * Get a single expression value from the first result of a query. + * + * @param string $expression + * @param array $bindings + * @return mixed + * @static + */ + public static function rawValue($expression, $bindings = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->rawValue($expression, $bindings); + } + + /** + * Get the count of the total records for the paginator. + * + * @param array $columns + * @return int + * @static + */ + public static function getCountForPagination($columns = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->getCountForPagination($columns); + } + + /** + * Concatenate values of a given column as a string. + * + * @param string $column + * @param string $glue + * @return string + * @static + */ + public static function implode($column, $glue = '') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->implode($column, $glue); + } + + /** + * Determine if any rows exist for the current query. + * + * @return bool + * @static + */ + public static function exists() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->exists(); + } + + /** + * Determine if no rows exist for the current query. + * + * @return bool + * @static + */ + public static function doesntExist() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->doesntExist(); + } + + /** + * Execute the given callback if no rows exist for the current query. + * + * @param \Closure $callback + * @return mixed + * @static + */ + public static function existsOr($callback) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->existsOr($callback); + } + + /** + * Execute the given callback if rows exist for the current query. + * + * @param \Closure $callback + * @return mixed + * @static + */ + public static function doesntExistOr($callback) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->doesntExistOr($callback); + } + + /** + * Retrieve the "count" result of the query. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $columns + * @return int + * @static + */ + public static function count($columns = '*') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->count($columns); + } + + /** + * Retrieve the minimum value of a given column. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @return mixed + * @static + */ + public static function min($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->min($column); + } + + /** + * Retrieve the maximum value of a given column. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @return mixed + * @static + */ + public static function max($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->max($column); + } + + /** + * Retrieve the sum of the values of a given column. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @return mixed + * @static + */ + public static function sum($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->sum($column); + } + + /** + * Retrieve the average of the values of a given column. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @return mixed + * @static + */ + public static function avg($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->avg($column); + } + + /** + * Alias for the "avg" method. + * + * @param \Illuminate\Contracts\Database\Query\Expression|string $column + * @return mixed + * @static + */ + public static function average($column) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->average($column); + } + + /** + * Execute an aggregate function on the database. + * + * @param string $function + * @param array $columns + * @return mixed + * @static + */ + public static function aggregate($function, $columns = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->aggregate($function, $columns); + } + + /** + * Execute a numeric aggregate function on the database. + * + * @param string $function + * @param array $columns + * @return float|int + * @static + */ + public static function numericAggregate($function, $columns = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->numericAggregate($function, $columns); + } + + /** + * Insert new records into the database. + * + * @param array $values + * @return bool + * @static + */ + public static function insert($values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->insert($values); + } + + /** + * Insert new records into the database while ignoring errors. + * + * @param array $values + * @return int + * @static + */ + public static function insertOrIgnore($values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->insertOrIgnore($values); + } + + /** + * Insert a new record and get the value of the primary key. + * + * @param array $values + * @param string|null $sequence + * @return int + * @static + */ + public static function insertGetId($values, $sequence = null) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->insertGetId($values, $sequence); + } + + /** + * Insert new records into the table using a subquery. + * + * @param array $columns + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query + * @return int + * @static + */ + public static function insertUsing($columns, $query) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->insertUsing($columns, $query); + } + + /** + * Insert new records into the table using a subquery while ignoring errors. + * + * @param array $columns + * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder<*>|string $query + * @return int + * @static + */ + public static function insertOrIgnoreUsing($columns, $query) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->insertOrIgnoreUsing($columns, $query); + } + + /** + * Update records in a PostgreSQL database using the update from syntax. + * + * @param array $values + * @return int + * @static + */ + public static function updateFrom($values) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->updateFrom($values); + } + + /** + * Insert or update a record matching the attributes, and fill it with values. + * + * @param array $attributes + * @param array|callable $values + * @return bool + * @static + */ + public static function updateOrInsert($attributes, $values = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->updateOrInsert($attributes, $values); + } + + /** + * Increment the given column's values by the given amounts. + * + * @param array $columns + * @param array $extra + * @return int + * @throws \InvalidArgumentException + * @static + */ + public static function incrementEach($columns, $extra = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->incrementEach($columns, $extra); + } + + /** + * Decrement the given column's values by the given amounts. + * + * @param array $columns + * @param array $extra + * @return int + * @throws \InvalidArgumentException + * @static + */ + public static function decrementEach($columns, $extra = []) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->decrementEach($columns, $extra); + } + + /** + * Run a truncate statement on the table. + * + * @return void + * @static + */ + public static function truncate() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + $instance->truncate(); + } + + /** + * Get all of the query builder's columns in a text-only array with all expressions evaluated. + * + * @return array + * @static + */ + public static function getColumns() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->getColumns(); + } + + /** + * Create a raw database expression. + * + * @param mixed $value + * @return \Illuminate\Contracts\Database\Query\Expression + * @static + */ + public static function raw($value) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->raw($value); + } + + /** + * Get the current query value bindings in a flattened array. + * + * @return array + * @static + */ + public static function getBindings() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->getBindings(); + } + + /** + * Get the raw array of bindings. + * + * @return array + * @static + */ + public static function getRawBindings() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->getRawBindings(); + } + + /** + * Set the bindings on the query builder. + * + * @param array $bindings + * @param string $type + * @return \Illuminate\Database\Eloquent\Builder + * @throws \InvalidArgumentException + * @static + */ + public static function setBindings($bindings, $type = 'where') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->setBindings($bindings, $type); + } + + /** + * Add a binding to the query. + * + * @param mixed $value + * @param string $type + * @return \Illuminate\Database\Eloquent\Builder + * @throws \InvalidArgumentException + * @static + */ + public static function addBinding($value, $type = 'where') + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->addBinding($value, $type); + } + + /** + * Cast the given binding value. + * + * @param mixed $value + * @return mixed + * @static + */ + public static function castBinding($value) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->castBinding($value); + } + + /** + * Merge an array of bindings into our bindings. + * + * @param \Illuminate\Database\Query\Builder $query + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function mergeBindings($query) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->mergeBindings($query); + } + + /** + * Remove all of the expressions from a list of bindings. + * + * @param array $bindings + * @return array + * @static + */ + public static function cleanBindings($bindings) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->cleanBindings($bindings); + } + + /** + * Get the database query processor instance. + * + * @return \Illuminate\Database\Query\Processors\Processor + * @static + */ + public static function getProcessor() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->getProcessor(); + } + + /** + * Get the query grammar instance. + * + * @return \Illuminate\Database\Query\Grammars\Grammar + * @static + */ + public static function getGrammar() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->getGrammar(); + } + + /** + * Use the "write" PDO connection when executing the query. + * + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function useWritePdo() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->useWritePdo(); + } + + /** + * Clone the query without the given properties. + * + * @param array $properties + * @return static + * @static + */ + public static function cloneWithout($properties) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->cloneWithout($properties); + } + + /** + * Clone the query without the given bindings. + * + * @param array $except + * @return static + * @static + */ + public static function cloneWithoutBindings($except) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->cloneWithoutBindings($except); + } + + /** + * Dump the current SQL and bindings. + * + * @param mixed $args + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function dump(...$args) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->dump(...$args); + } + + /** + * Dump the raw current SQL with embedded bindings. + * + * @return \Illuminate\Database\Eloquent\Builder + * @static + */ + public static function dumpRawSql() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->dumpRawSql(); + } + + /** + * Die and dump the current SQL and bindings. + * + * @return never + * @static + */ + public static function dd() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->dd(); + } + + /** + * Die and dump the current SQL with embedded bindings. + * + * @return never + * @static + */ + public static function ddRawSql() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->ddRawSql(); + } + + /** + * Explains the query. + * + * @return \Illuminate\Support\Collection + * @static + */ + public static function explain() + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->explain(); + } + + /** + * Register a custom macro. + * + * @param string $name + * @param object|callable $macro + * @param-closure-this static $macro + * @return void + * @static + */ + public static function macro($name, $macro) + { + \Illuminate\Database\Query\Builder::macro($name, $macro); + } + + /** + * Mix another object into the class. + * + * @param object $mixin + * @param bool $replace + * @return void + * @throws \ReflectionException + * @static + */ + public static function mixin($mixin, $replace = true) + { + \Illuminate\Database\Query\Builder::mixin($mixin, $replace); + } + + /** + * Flush the existing macros. + * + * @return void + * @static + */ + public static function flushMacros() + { + \Illuminate\Database\Query\Builder::flushMacros(); + } + + /** + * Dynamically handle calls to the class. + * + * @param string $method + * @param array $parameters + * @return mixed + * @throws \BadMethodCallException + * @static + */ + public static function macroCall($method, $parameters) + { + /** @var \Illuminate\Database\Query\Builder $instance */ + return $instance->macroCall($method, $parameters); + } + } + class Event extends \Illuminate\Support\Facades\Event {} + class File extends \Illuminate\Support\Facades\File {} + class Gate extends \Illuminate\Support\Facades\Gate {} + class Hash extends \Illuminate\Support\Facades\Hash {} + class Http extends \Illuminate\Support\Facades\Http {} + class Js extends \Illuminate\Support\Js {} + class Lang extends \Illuminate\Support\Facades\Lang {} + class Log extends \Illuminate\Support\Facades\Log {} + class Mail extends \Illuminate\Support\Facades\Mail {} + class Notification extends \Illuminate\Support\Facades\Notification {} + class Number extends \Illuminate\Support\Number {} + class Password extends \Illuminate\Support\Facades\Password {} + class Process extends \Illuminate\Support\Facades\Process {} + class Queue extends \Illuminate\Support\Facades\Queue {} + class RateLimiter extends \Illuminate\Support\Facades\RateLimiter {} + class Redirect extends \Illuminate\Support\Facades\Redirect {} + class Request extends \Illuminate\Support\Facades\Request {} + class Response extends \Illuminate\Support\Facades\Response {} + class Route extends \Illuminate\Support\Facades\Route {} + class Schedule extends \Illuminate\Support\Facades\Schedule {} + class Schema extends \Illuminate\Support\Facades\Schema {} + class Session extends \Illuminate\Support\Facades\Session {} + class Storage extends \Illuminate\Support\Facades\Storage {} + class Str extends \Illuminate\Support\Str {} + class URL extends \Illuminate\Support\Facades\URL {} + class Uri extends \Illuminate\Support\Uri {} + class Validator extends \Illuminate\Support\Facades\Validator {} + class View extends \Illuminate\Support\Facades\View {} + class Vite extends \Illuminate\Support\Facades\Vite {} + class Menu extends \Lavary\Menu\Facade {} + class Redis extends \Illuminate\Support\Facades\Redis {} + class PDF extends \Barryvdh\DomPDF\Facade\Pdf {} + class Pdf extends \Barryvdh\DomPDF\Facade\Pdf {} + class Module extends \Nwidart\Modules\Facades\Module {} + class Bouncer extends \Silber\Bouncer\BouncerFacade {} + class Flare extends \Spatie\LaravelIgnition\Facades\Flare {} + class Signal extends \Spatie\SignalAwareCommand\Facades\Signal {} + class Hashids extends \Vinkla\Hashids\Facades\Hashids {} +} + + + + + diff --git a/_ide_helper_models.php b/_ide_helper_models.php new file mode 100644 index 00000000..ef625186 --- /dev/null +++ b/_ide_helper_models.php @@ -0,0 +1,1629 @@ + + */ + + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string|null $name + * @property string|null $address_street_1 + * @property string|null $address_street_2 + * @property string|null $city + * @property string|null $state + * @property int|null $country_id + * @property string|null $zip + * @property string|null $phone + * @property string|null $fax + * @property string|null $type + * @property int|null $user_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property int|null $company_id + * @property int|null $customer_id + * @property-read \App\Models\Company|null $company + * @property-read \App\Models\Country|null $country + * @property-read \App\Models\Customer|null $customer + * @property-read mixed $country_name + * @property-read \App\Models\User|null $user + * @method static \Database\Factories\AddressFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|Address newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Address newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Address query() + * @method static \Illuminate\Database\Eloquent\Builder|Address whereAddressStreet1($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereAddressStreet2($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereCity($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereCountryId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereCustomerId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereFax($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address wherePhone($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereState($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereType($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereUserId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Address whereZip($value) + */ + class Address extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property string|null $logo + * @property string|null $unique_hash + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property string|null $slug + * @property int|null $owner_id + * @property string|null $vat_id + * @property string|null $tax_id + * @property-read \App\Models\Address|null $address + * @property-read \Illuminate\Database\Eloquent\Collection $customFieldValues + * @property-read int|null $custom_field_values_count + * @property-read \Illuminate\Database\Eloquent\Collection $customFields + * @property-read int|null $custom_fields_count + * @property-read \Illuminate\Database\Eloquent\Collection $customers + * @property-read int|null $customers_count + * @property-read \Illuminate\Database\Eloquent\Collection $estimates + * @property-read int|null $estimates_count + * @property-read \Illuminate\Database\Eloquent\Collection $exchangeRateLogs + * @property-read int|null $exchange_rate_logs_count + * @property-read \Illuminate\Database\Eloquent\Collection $exchangeRateProviders + * @property-read int|null $exchange_rate_providers_count + * @property-read \Illuminate\Database\Eloquent\Collection $expenseCategories + * @property-read int|null $expense_categories_count + * @property-read \Illuminate\Database\Eloquent\Collection $expenses + * @property-read int|null $expenses_count + * @property-read mixed $logo_path + * @property-read mixed $roles + * @property-read \Illuminate\Database\Eloquent\Collection $invoices + * @property-read int|null $invoices_count + * @property-read \Illuminate\Database\Eloquent\Collection $items + * @property-read int|null $items_count + * @property-read \Spatie\MediaLibrary\MediaCollections\Models\Collections\MediaCollection $media + * @property-read int|null $media_count + * @property-read \App\Models\User|null $owner + * @property-read \Illuminate\Database\Eloquent\Collection $paymentMethods + * @property-read int|null $payment_methods_count + * @property-read \Illuminate\Database\Eloquent\Collection $payments + * @property-read int|null $payments_count + * @property-read \Illuminate\Database\Eloquent\Collection $recurringInvoices + * @property-read int|null $recurring_invoices_count + * @property-read \Illuminate\Database\Eloquent\Collection $settings + * @property-read int|null $settings_count + * @property-read \Illuminate\Database\Eloquent\Collection $taxTypes + * @property-read int|null $tax_types_count + * @property-read \Illuminate\Database\Eloquent\Collection $units + * @property-read int|null $units_count + * @property-read \Illuminate\Database\Eloquent\Collection $users + * @property-read int|null $users_count + * @method static \Database\Factories\CompanyFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|Company newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Company newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Company query() + * @method static \Illuminate\Database\Eloquent\Builder|Company whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Company whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Company whereLogo($value) + * @method static \Illuminate\Database\Eloquent\Builder|Company whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Company whereOwnerId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Company whereSlug($value) + * @method static \Illuminate\Database\Eloquent\Builder|Company whereTaxId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Company whereUniqueHash($value) + * @method static \Illuminate\Database\Eloquent\Builder|Company whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Company whereVatId($value) + */ + class Company extends \Eloquent implements \Spatie\MediaLibrary\HasMedia {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $option + * @property string $value + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\Company|null $company + * @method static \Database\Factories\CompanySettingFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|CompanySetting newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|CompanySetting newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|CompanySetting query() + * @method static \Illuminate\Database\Eloquent\Builder|CompanySetting whereCompany($company_id) + * @method static \Illuminate\Database\Eloquent\Builder|CompanySetting whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|CompanySetting whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|CompanySetting whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|CompanySetting whereOption($value) + * @method static \Illuminate\Database\Eloquent\Builder|CompanySetting whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|CompanySetting whereValue($value) + */ + class CompanySetting extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $code + * @property string $name + * @property int $phonecode + * @property-read \Illuminate\Database\Eloquent\Collection $address + * @property-read int|null $address_count + * @method static \Illuminate\Database\Eloquent\Builder|Country newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Country newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Country query() + * @method static \Illuminate\Database\Eloquent\Builder|Country whereCode($value) + * @method static \Illuminate\Database\Eloquent\Builder|Country whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Country whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Country wherePhonecode($value) + */ + class Country extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property string $code + * @property string|null $symbol + * @property int $precision + * @property string $thousand_separator + * @property string $decimal_separator + * @property int $swap_currency_symbol + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @method static \Illuminate\Database\Eloquent\Builder|Currency newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Currency newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Currency query() + * @method static \Illuminate\Database\Eloquent\Builder|Currency whereCode($value) + * @method static \Illuminate\Database\Eloquent\Builder|Currency whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Currency whereDecimalSeparator($value) + * @method static \Illuminate\Database\Eloquent\Builder|Currency whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Currency whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Currency wherePrecision($value) + * @method static \Illuminate\Database\Eloquent\Builder|Currency whereSwapCurrencySymbol($value) + * @method static \Illuminate\Database\Eloquent\Builder|Currency whereSymbol($value) + * @method static \Illuminate\Database\Eloquent\Builder|Currency whereThousandSeparator($value) + * @method static \Illuminate\Database\Eloquent\Builder|Currency whereUpdatedAt($value) + */ + class Currency extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property string $slug + * @property string $label + * @property string $model_type + * @property string $type + * @property string|null $placeholder + * @property array|null $options + * @property int|null $boolean_answer + * @property string|null $date_answer + * @property string|null $time_answer + * @property string|null $string_answer + * @property int|null $number_answer + * @property string|null $date_time_answer + * @property int $is_required + * @property int $order + * @property int $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\Company $company + * @property-read \Illuminate\Database\Eloquent\Collection $customFieldValues + * @property-read int|null $custom_field_values_count + * @property-read mixed $default_answer + * @property-read mixed $in_use + * @method static \Illuminate\Database\Eloquent\Builder|CustomField applyFilters(array $filters) + * @method static \Database\Factories\CustomFieldFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|CustomField newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|CustomField paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField query() + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereBooleanAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereDateAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereDateTimeAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereIsRequired($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereLabel($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereModelType($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereNumberAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereOptions($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereOrder($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField wherePlaceholder($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereSlug($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereStringAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereTimeAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereType($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomField whereUpdatedAt($value) + */ + class CustomField extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $custom_field_valuable_type + * @property int $custom_field_valuable_id + * @property string $type + * @property int|null $boolean_answer + * @property string|null $date_answer + * @property string|null $time_answer + * @property string|null $string_answer + * @property int|null $number_answer + * @property string|null $date_time_answer + * @property int $custom_field_id + * @property int $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\Company $company + * @property-read \App\Models\CustomField $customField + * @property-read \Illuminate\Database\Eloquent\Model|\Eloquent $customFieldValuable + * @property-read mixed $default_answer + * @method static \Database\Factories\CustomFieldValueFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue query() + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereBooleanAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereCustomFieldId($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereCustomFieldValuableId($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereCustomFieldValuableType($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereDateAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereDateTimeAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereNumberAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereStringAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereTimeAnswer($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereType($value) + * @method static \Illuminate\Database\Eloquent\Builder|CustomFieldValue whereUpdatedAt($value) + */ + class CustomFieldValue extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property string|null $email + * @property string|null $phone + * @property string|null $password + * @property string|null $remember_token + * @property string|null $facebook_id + * @property string|null $google_id + * @property string|null $github_id + * @property string|null $contact_name + * @property string|null $company_name + * @property string|null $website + * @property bool $enable_portal + * @property int|null $currency_id + * @property int|null $company_id + * @property int|null $creator_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property string|null $prefix + * @property string|null $tax_id + * @property-read \Illuminate\Database\Eloquent\Collection $abilities + * @property-read int|null $abilities_count + * @property-read \Illuminate\Database\Eloquent\Collection $addresses + * @property-read int|null $addresses_count + * @property-read \App\Models\Address|null $billingAddress + * @property-read \App\Models\Company|null $company + * @property-read Customer|null $creator + * @property-read \App\Models\Currency|null $currency + * @property-read \Illuminate\Database\Eloquent\Collection $estimates + * @property-read int|null $estimates_count + * @property-read \Illuminate\Database\Eloquent\Collection $expenses + * @property-read int|null $expenses_count + * @property-read \Illuminate\Database\Eloquent\Collection $fields + * @property-read int|null $fields_count + * @property-read mixed $avatar + * @property-read mixed $formatted_created_at + * @property-read \Illuminate\Database\Eloquent\Collection $invoices + * @property-read int|null $invoices_count + * @property-read \Spatie\MediaLibrary\MediaCollections\Models\Collections\MediaCollection $media + * @property-read int|null $media_count + * @property-read \Illuminate\Notifications\DatabaseNotificationCollection $notifications + * @property-read int|null $notifications_count + * @property-read \Illuminate\Database\Eloquent\Collection $payments + * @property-read int|null $payments_count + * @property-read \Illuminate\Database\Eloquent\Collection $recurringInvoices + * @property-read int|null $recurring_invoices_count + * @property-read \Illuminate\Database\Eloquent\Collection $roles + * @property-read int|null $roles_count + * @property-read \App\Models\Address|null $shippingAddress + * @property-read \Illuminate\Database\Eloquent\Collection $tokens + * @property-read int|null $tokens_count + * @method static \Illuminate\Database\Eloquent\Builder|Customer applyFilters(array $filters) + * @method static \Illuminate\Database\Eloquent\Builder|Customer applyInvoiceFilters(array $filters) + * @method static \Database\Factories\CustomerFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|Customer invoicesBetween($start, $end) + * @method static \Illuminate\Database\Eloquent\Builder|Customer newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Customer newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Customer paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|Customer query() + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereCompanyName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereContactName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereCreatorId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereCurrencyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereCustomer($customer_id) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereDisplayName($displayName) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereEmail($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereEnablePortal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereFacebookId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereGithubId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereGoogleId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereIs($role) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereIsAll($role) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereIsNot($role) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereOrder($orderByField, $orderBy) + * @method static \Illuminate\Database\Eloquent\Builder|Customer wherePassword($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer wherePhone($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer wherePrefix($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereRememberToken($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereTaxId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Customer whereWebsite($value) + */ + class Customer extends \Eloquent implements \Spatie\MediaLibrary\HasMedia {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $from + * @property string $to + * @property string $subject + * @property string $body + * @property string $mailable_type + * @property string $mailable_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property string|null $token + * @property-read \Illuminate\Database\Eloquent\Model|\Eloquent $mailable + * @method static \Database\Factories\EmailLogFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog query() + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog whereBody($value) + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog whereFrom($value) + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog whereMailableId($value) + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog whereMailableType($value) + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog whereSubject($value) + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog whereTo($value) + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog whereToken($value) + * @method static \Illuminate\Database\Eloquent\Builder|EmailLog whereUpdatedAt($value) + */ + class EmailLog extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $estimate_date + * @property string|null $expiry_date + * @property string $estimate_number + * @property string $status + * @property string|null $reference_number + * @property string $tax_per_item + * @property string $discount_per_item + * @property string|null $notes + * @property float|null $discount + * @property string|null $discount_type + * @property int|null $discount_val + * @property int $sub_total + * @property int $total + * @property int $tax + * @property string|null $unique_hash + * @property int|null $user_id + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property int|null $creator_id + * @property string|null $template_name + * @property int|null $customer_id + * @property float|null $exchange_rate + * @property int|null $base_discount_val + * @property int|null $base_sub_total + * @property int|null $base_total + * @property int|null $base_tax + * @property int|null $currency_id + * @property int|null $sequence_number + * @property int|null $customer_sequence_number + * @property string|null $sales_tax_type + * @property string|null $sales_tax_address_type + * @property-read \App\Models\Company|null $company + * @property-read \App\Models\User|null $creator + * @property-read \App\Models\Currency|null $currency + * @property-read \App\Models\Customer|null $customer + * @property-read \Illuminate\Database\Eloquent\Collection $emailLogs + * @property-read int|null $email_logs_count + * @property-read \Illuminate\Database\Eloquent\Collection $fields + * @property-read int|null $fields_count + * @property-read mixed $estimate_pdf_url + * @property-read mixed $formatted_estimate_date + * @property-read mixed $formatted_expiry_date + * @property-read \Illuminate\Database\Eloquent\Collection $items + * @property-read int|null $items_count + * @property-read \Spatie\MediaLibrary\MediaCollections\Models\Collections\MediaCollection $media + * @property-read int|null $media_count + * @property-read \Illuminate\Database\Eloquent\Collection $taxes + * @property-read int|null $taxes_count + * @method static \Illuminate\Database\Eloquent\Builder|Estimate applyFilters(array $filters) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate estimatesBetween($start, $end) + * @method static \Database\Factories\EstimateFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Estimate newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Estimate paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate query() + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereBaseDiscountVal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereBaseSubTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereBaseTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereBaseTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereCreatorId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereCurrencyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereCustomer($customer_id) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereCustomerId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereCustomerSequenceNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereDiscount($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereDiscountPerItem($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereDiscountType($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereDiscountVal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereEstimate($estimate_id) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereEstimateDate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereEstimateNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereExchangeRate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereExpiryDate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereNotes($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereOrder($orderByField, $orderBy) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereReferenceNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereSalesTaxAddressType($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereSalesTaxType($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereSequenceNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereStatus($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereSubTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereTaxPerItem($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereTemplateName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereUniqueHash($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Estimate whereUserId($value) + */ + class Estimate extends \Eloquent implements \Spatie\MediaLibrary\HasMedia {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property string|null $description + * @property string $discount_type + * @property float $quantity + * @property float|null $discount + * @property int|null $discount_val + * @property int $price + * @property int $tax + * @property int $total + * @property int|null $item_id + * @property int $estimate_id + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property string|null $unit_name + * @property string|null $exchange_rate + * @property int|null $base_discount_val + * @property int|null $base_price + * @property int|null $base_tax + * @property int|null $base_total + * @property-read \App\Models\Estimate $estimate + * @property-read \Illuminate\Database\Eloquent\Collection $fields + * @property-read int|null $fields_count + * @property-read \App\Models\Item|null $item + * @property-read \Illuminate\Database\Eloquent\Collection $taxes + * @property-read int|null $taxes_count + * @method static \Database\Factories\EstimateItemFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem query() + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereBaseDiscountVal($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereBasePrice($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereBaseTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereBaseTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereCompany($company_id) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereDescription($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereDiscount($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereDiscountType($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereDiscountVal($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereEstimateId($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereExchangeRate($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereItemId($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem wherePrice($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereQuantity($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereUnitName($value) + * @method static \Illuminate\Database\Eloquent\Builder|EstimateItem whereUpdatedAt($value) + */ + class EstimateItem extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property int|null $company_id + * @property int|null $base_currency_id + * @property int|null $currency_id + * @property float|null $exchange_rate + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\Company|null $company + * @property-read \App\Models\Currency|null $currency + * @method static \Database\Factories\ExchangeRateLogFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateLog newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateLog newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateLog query() + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateLog whereBaseCurrencyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateLog whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateLog whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateLog whereCurrencyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateLog whereExchangeRate($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateLog whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateLog whereUpdatedAt($value) + */ + class ExchangeRateLog extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $driver + * @property string $key + * @property array|null $currencies + * @property array|null $driver_config + * @property bool $active + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\Company|null $company + * @method static \Database\Factories\ExchangeRateProviderFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider query() + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider whereActive($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider whereCurrencies($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider whereDriver($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider whereDriverConfig($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider whereKey($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExchangeRateProvider whereUpdatedAt($value) + */ + class ExchangeRateProvider extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $expense_date + * @property string|null $attachment_receipt + * @property int $amount + * @property string|null $notes + * @property int $expense_category_id + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property int|null $user_id + * @property int|null $creator_id + * @property int|null $customer_id + * @property float|null $exchange_rate + * @property int|null $base_amount + * @property int|null $currency_id + * @property int|null $payment_method_id + * @property-read \App\Models\ExpenseCategory $category + * @property-read \App\Models\Company|null $company + * @property-read \App\Models\User|null $creator + * @property-read \App\Models\Currency|null $currency + * @property-read \App\Models\Customer|null $customer + * @property-read \Illuminate\Database\Eloquent\Collection $fields + * @property-read int|null $fields_count + * @property-read mixed $formatted_created_at + * @property-read mixed $formatted_expense_date + * @property-read mixed $receipt + * @property-read mixed $receipt_meta + * @property-read mixed $receipt_url + * @property-read \Spatie\MediaLibrary\MediaCollections\Models\Collections\MediaCollection $media + * @property-read int|null $media_count + * @property-read \App\Models\PaymentMethod|null $paymentMethod + * @method static \Illuminate\Database\Eloquent\Builder|Expense applyFilters(array $filters) + * @method static \Illuminate\Database\Eloquent\Builder|Expense expensesAttributes() + * @method static \Illuminate\Database\Eloquent\Builder|Expense expensesBetween($start, $end) + * @method static \Database\Factories\ExpenseFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|Expense newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Expense newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Expense paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|Expense query() + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereAmount($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereAttachmentReceipt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereBaseAmount($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereCategory($categoryId) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereCategoryName($search) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereCreatorId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereCurrencyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereCustomerId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereExchangeRate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereExpense($expense_id) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereExpenseCategoryId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereExpenseDate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereNotes($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereOrder($orderByField, $orderBy) + * @method static \Illuminate\Database\Eloquent\Builder|Expense wherePaymentMethodId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereUser($customer_id) + * @method static \Illuminate\Database\Eloquent\Builder|Expense whereUserId($value) + */ + class Expense extends \Eloquent implements \Spatie\MediaLibrary\HasMedia {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property string|null $description + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\Company|null $company + * @property-read \Illuminate\Database\Eloquent\Collection $expenses + * @property-read int|null $expenses_count + * @property-read mixed $amount + * @property-read mixed $formatted_created_at + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory applyFilters(array $filters) + * @method static \Database\Factories\ExpenseCategoryFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory query() + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereCategory($category_id) + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereDescription($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|ExpenseCategory whereUpdatedAt($value) + */ + class ExpenseCategory extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property string $type + * @property string $driver + * @property bool $set_as_default + * @property string $credentials + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk applyFilters(array $filters) + * @method static \Database\Factories\FileDiskFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk fileDisksBetween($start, $end) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk query() + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk whereCredentials($value) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk whereDriver($value) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk whereOrder($orderByField, $orderBy) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk whereSetAsDefault($value) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk whereType($value) + * @method static \Illuminate\Database\Eloquent\Builder|FileDisk whereUpdatedAt($value) + */ + class FileDisk extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $invoice_date + * @property string|null $due_date + * @property string $invoice_number + * @property string|null $reference_number + * @property string $status + * @property string $paid_status + * @property string $tax_per_item + * @property string $discount_per_item + * @property string|null $notes + * @property string|null $discount_type + * @property float|null $discount + * @property int|null $discount_val + * @property int $sub_total + * @property int $total + * @property int $tax + * @property int $due_amount + * @property int $sent + * @property int $viewed + * @property string|null $unique_hash + * @property int|null $user_id + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property int|null $creator_id + * @property string|null $template_name + * @property int|null $customer_id + * @property int|null $recurring_invoice_id + * @property float|null $exchange_rate + * @property int|null $base_discount_val + * @property int|null $base_sub_total + * @property int|null $base_total + * @property int|null $base_tax + * @property int|null $base_due_amount + * @property int|null $currency_id + * @property int|null $sequence_number + * @property int|null $customer_sequence_number + * @property string|null $sales_tax_type + * @property string|null $sales_tax_address_type + * @property int $overdue + * @property-read \App\Models\Company|null $company + * @property-read \App\Models\User|null $creator + * @property-read \App\Models\Currency|null $currency + * @property-read \App\Models\Customer|null $customer + * @property-read \Illuminate\Database\Eloquent\Collection $emailLogs + * @property-read int|null $email_logs_count + * @property-read \Illuminate\Database\Eloquent\Collection $fields + * @property-read int|null $fields_count + * @property-read mixed $allow_edit + * @property-read mixed $formatted_created_at + * @property-read mixed $formatted_due_date + * @property-read mixed $formatted_invoice_date + * @property-read mixed $formatted_notes + * @property-read mixed $invoice_pdf_url + * @property-read mixed $payment_module_enabled + * @property-read \Illuminate\Database\Eloquent\Collection $items + * @property-read int|null $items_count + * @property-read \Spatie\MediaLibrary\MediaCollections\Models\Collections\MediaCollection $media + * @property-read int|null $media_count + * @property-read \Illuminate\Database\Eloquent\Collection $payments + * @property-read int|null $payments_count + * @property-read \App\Models\RecurringInvoice|null $recurringInvoice + * @property-read \Illuminate\Database\Eloquent\Collection $taxes + * @property-read int|null $taxes_count + * @property-read \Illuminate\Database\Eloquent\Collection $transactions + * @property-read int|null $transactions_count + * @method static \Illuminate\Database\Eloquent\Builder|Invoice applyFilters(array $filters) + * @method static \Database\Factories\InvoiceFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice invoicesBetween($start, $end) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Invoice newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Invoice paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice query() + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereBaseDiscountVal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereBaseDueAmount($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereBaseSubTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereBaseTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereBaseTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCreatorId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCurrencyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCustomer($customer_id) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCustomerId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereCustomerSequenceNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereDiscount($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereDiscountPerItem($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereDiscountType($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereDiscountVal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereDueAmount($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereDueDate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereDueStatus($status) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereExchangeRate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereInvoice($invoice_id) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereInvoiceDate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereInvoiceNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereNotes($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereOrder($orderByField, $orderBy) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereOverdue($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice wherePaidStatus($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereRecurringInvoiceId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereReferenceNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereSalesTaxAddressType($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereSalesTaxType($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereSent($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereSequenceNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereStatus($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereSubTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereTaxPerItem($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereTemplateName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereUniqueHash($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereUserId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Invoice whereViewed($value) + */ + class Invoice extends \Eloquent implements \Spatie\MediaLibrary\HasMedia {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property string|null $description + * @property string $discount_type + * @property int $price + * @property float $quantity + * @property float|null $discount + * @property int $discount_val + * @property int $tax + * @property int $total + * @property int|null $invoice_id + * @property int|null $item_id + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property string|null $unit_name + * @property int|null $recurring_invoice_id + * @property int|null $base_price + * @property string|null $exchange_rate + * @property int|null $base_discount_val + * @property int|null $base_tax + * @property int|null $base_total + * @property-read \Illuminate\Database\Eloquent\Collection $fields + * @property-read int|null $fields_count + * @property-read \App\Models\Invoice|null $invoice + * @property-read \App\Models\Item|null $item + * @property-read \App\Models\RecurringInvoice|null $recurringInvoice + * @property-read \Illuminate\Database\Eloquent\Collection $taxes + * @property-read int|null $taxes_count + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem applyInvoiceFilters(array $filters) + * @method static \Database\Factories\InvoiceItemFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem invoicesBetween($start, $end) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem itemAttributes() + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem query() + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereBaseDiscountVal($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereBasePrice($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereBaseTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereBaseTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereCompany($company_id) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereDescription($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereDiscount($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereDiscountType($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereDiscountVal($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereExchangeRate($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereInvoiceId($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereItemId($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem wherePrice($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereQuantity($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereRecurringInvoiceId($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereUnitName($value) + * @method static \Illuminate\Database\Eloquent\Builder|InvoiceItem whereUpdatedAt($value) + */ + class InvoiceItem extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property string|null $description + * @property int $price + * @property int|null $company_id + * @property int|null $unit_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property int|null $creator_id + * @property int|null $currency_id + * @property int $tax_per_item + * @property-read \App\Models\Company|null $company + * @property-read \App\Models\User|null $creator + * @property-read \App\Models\Currency|null $currency + * @property-read \Illuminate\Database\Eloquent\Collection $estimateItems + * @property-read int|null $estimate_items_count + * @property-read mixed $formatted_created_at + * @property-read \Illuminate\Database\Eloquent\Collection $invoiceItems + * @property-read int|null $invoice_items_count + * @property-read \Illuminate\Database\Eloquent\Collection $taxes + * @property-read int|null $taxes_count + * @property-read \App\Models\Unit|null $unit + * @method static \Illuminate\Database\Eloquent\Builder|Item applyFilters(array $filters) + * @method static \Database\Factories\ItemFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|Item newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Item newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Item paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|Item query() + * @method static \Illuminate\Database\Eloquent\Builder|Item whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|Item whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereCreatorId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereCurrencyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereDescription($value) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereItem($item_id) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereOrder($orderByField, $orderBy) + * @method static \Illuminate\Database\Eloquent\Builder|Item wherePrice($value) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereTaxPerItem($value) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereUnit($unit_id) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereUnitId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Item whereUpdatedAt($value) + */ + class Item extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property string $version + * @property int $installed + * @property int $enabled + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @method static \Illuminate\Database\Eloquent\Builder|Module newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Module newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Module query() + * @method static \Illuminate\Database\Eloquent\Builder|Module whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Module whereEnabled($value) + * @method static \Illuminate\Database\Eloquent\Builder|Module whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Module whereInstalled($value) + * @method static \Illuminate\Database\Eloquent\Builder|Module whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Module whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Module whereVersion($value) + */ + class Module extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $type + * @property string $name + * @property string $notes + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property int|null $company_id + * @property-read \App\Models\Company|null $company + * @method static \Illuminate\Database\Eloquent\Builder|Note applyFilters(array $filters) + * @method static \Database\Factories\NoteFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|Note newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Note newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Note query() + * @method static \Illuminate\Database\Eloquent\Builder|Note whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|Note whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Note whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Note whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Note whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Note whereNotes($value) + * @method static \Illuminate\Database\Eloquent\Builder|Note whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|Note whereType($value) + * @method static \Illuminate\Database\Eloquent\Builder|Note whereUpdatedAt($value) + */ + class Note extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $payment_number + * @property string $payment_date + * @property string|null $notes + * @property int $amount + * @property string|null $unique_hash + * @property int|null $user_id + * @property int|null $invoice_id + * @property int|null $company_id + * @property int|null $payment_method_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property int|null $creator_id + * @property int|null $customer_id + * @property float|null $exchange_rate + * @property int|null $base_amount + * @property int|null $currency_id + * @property int|null $sequence_number + * @property int|null $customer_sequence_number + * @property int|null $transaction_id + * @property-read \App\Models\Company|null $company + * @property-read \App\Models\User|null $creator + * @property-read \App\Models\Currency|null $currency + * @property-read \App\Models\Customer|null $customer + * @property-read \Illuminate\Database\Eloquent\Collection $emailLogs + * @property-read int|null $email_logs_count + * @property-read \Illuminate\Database\Eloquent\Collection $fields + * @property-read int|null $fields_count + * @property-read mixed $formatted_created_at + * @property-read mixed $formatted_payment_date + * @property-read mixed $payment_pdf_url + * @property-read \App\Models\Invoice|null $invoice + * @property-read \Spatie\MediaLibrary\MediaCollections\Models\Collections\MediaCollection $media + * @property-read int|null $media_count + * @property-read \App\Models\PaymentMethod|null $paymentMethod + * @property-write mixed $settings + * @property-read \App\Models\Transaction|null $transaction + * @method static \Illuminate\Database\Eloquent\Builder|Payment applyFilters(array $filters) + * @method static \Database\Factories\PaymentFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|Payment newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Payment newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Payment paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|Payment paymentMethod($paymentMethodId) + * @method static \Illuminate\Database\Eloquent\Builder|Payment paymentNumber($paymentNumber) + * @method static \Illuminate\Database\Eloquent\Builder|Payment paymentsBetween($start, $end) + * @method static \Illuminate\Database\Eloquent\Builder|Payment query() + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereAmount($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereBaseAmount($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereCreatorId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereCurrencyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereCustomer($customer_id) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereCustomerId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereCustomerSequenceNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereExchangeRate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereInvoiceId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereNotes($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereOrder($orderByField, $orderBy) + * @method static \Illuminate\Database\Eloquent\Builder|Payment wherePayment($payment_id) + * @method static \Illuminate\Database\Eloquent\Builder|Payment wherePaymentDate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment wherePaymentMethodId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment wherePaymentNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereSequenceNumber($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereTransactionId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereUniqueHash($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Payment whereUserId($value) + */ + class Payment extends \Eloquent implements \Spatie\MediaLibrary\HasMedia {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property string|null $driver + * @property string $type + * @property array|null $settings + * @property int $active + * @property bool $use_test_env + * @property-read \App\Models\Company|null $company + * @property-read \Illuminate\Database\Eloquent\Collection $expenses + * @property-read int|null $expenses_count + * @property-read \Illuminate\Database\Eloquent\Collection $payments + * @property-read int|null $payments_count + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod applyFilters(array $filters) + * @method static \Database\Factories\PaymentMethodFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod query() + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereActive($value) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereDriver($value) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod wherePaymentMethod($payment_id) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereSettings($value) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereType($value) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|PaymentMethod whereUseTestEnv($value) + */ + class PaymentMethod extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $starts_at + * @property bool $send_automatically + * @property int|null $customer_id + * @property int|null $company_id + * @property string $status + * @property string|null $next_invoice_at + * @property int|null $creator_id + * @property string $frequency + * @property string $limit_by + * @property int|null $limit_count + * @property string|null $limit_date + * @property int|null $currency_id + * @property float|null $exchange_rate + * @property string $tax_per_item + * @property string $discount_per_item + * @property string|null $notes + * @property string|null $discount_type + * @property string|null $discount + * @property int|null $discount_val + * @property int $sub_total + * @property int $total + * @property int $tax + * @property string|null $template_name + * @property int $due_amount + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property string|null $sales_tax_type + * @property string|null $sales_tax_address_type + * @property-read \App\Models\Company|null $company + * @property-read \App\Models\User|null $creator + * @property-read \App\Models\Currency|null $currency + * @property-read \App\Models\Customer|null $customer + * @property-read \Illuminate\Database\Eloquent\Collection $fields + * @property-read int|null $fields_count + * @property-read mixed $formatted_created_at + * @property-read mixed $formatted_limit_date + * @property-read mixed $formatted_next_invoice_at + * @property-read mixed $formatted_starts_at + * @property-read \Illuminate\Database\Eloquent\Collection $invoices + * @property-read int|null $invoices_count + * @property-read \Illuminate\Database\Eloquent\Collection $items + * @property-read int|null $items_count + * @property-read \Illuminate\Database\Eloquent\Collection $taxes + * @property-read int|null $taxes_count + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice applyFilters(array $filters) + * @method static \Database\Factories\RecurringInvoiceFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice query() + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice recurringInvoicesStartBetween($start, $end) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCreatorId($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCurrencyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCustomer($customer_id) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereCustomerId($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereDiscount($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereDiscountPerItem($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereDiscountType($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereDiscountVal($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereDueAmount($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereExchangeRate($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereFrequency($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereLimitBy($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereLimitCount($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereLimitDate($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereNextInvoiceAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereNotes($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereOrder($orderByField, $orderBy) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereSalesTaxAddressType($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereSalesTaxType($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereSendAutomatically($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereStartsAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereStatus($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereSubTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereTaxPerItem($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereTemplateName($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|RecurringInvoice whereUpdatedAt($value) + */ + class RecurringInvoice extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $option + * @property string|null $value + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @method static \Illuminate\Database\Eloquent\Builder|Setting newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Setting newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Setting query() + * @method static \Illuminate\Database\Eloquent\Builder|Setting whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Setting whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Setting whereOption($value) + * @method static \Illuminate\Database\Eloquent\Builder|Setting whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Setting whereValue($value) + */ + class Setting extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property int $tax_type_id + * @property int|null $invoice_id + * @property int|null $estimate_id + * @property int|null $invoice_item_id + * @property int|null $estimate_item_id + * @property int|null $item_id + * @property int|null $company_id + * @property string $name + * @property int $amount + * @property float $percent + * @property int $compound_tax + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property string|null $exchange_rate + * @property int|null $base_amount + * @property int|null $currency_id + * @property int|null $recurring_invoice_id + * @property-read \App\Models\Currency|null $currency + * @property-read \App\Models\Estimate|null $estimate + * @property-read \App\Models\EstimateItem|null $estimateItem + * @property-read \App\Models\Invoice|null $invoice + * @property-read \App\Models\InvoiceItem|null $invoiceItem + * @property-read \App\Models\Item|null $item + * @property-read \App\Models\RecurringInvoice|null $recurringInvoice + * @property-read \App\Models\TaxType $taxType + * @method static \Database\Factories\TaxFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|Tax invoicesBetween($start, $end) + * @method static \Illuminate\Database\Eloquent\Builder|Tax newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Tax newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Tax query() + * @method static \Illuminate\Database\Eloquent\Builder|Tax taxAttributes() + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereAmount($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereBaseAmount($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereCompany($company_id) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereCompoundTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereCurrencyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereEstimateId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereEstimateItemId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereExchangeRate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereInvoiceId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereInvoiceItemId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereInvoicesFilters(array $filters) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereItemId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax wherePercent($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereRecurringInvoiceId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereTaxTypeId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Tax whereUpdatedAt($value) + */ + class Tax extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property float $percent + * @property bool $compound_tax + * @property int $collective_tax + * @property string|null $description + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property string $type + * @property-read \App\Models\Company|null $company + * @property-read \Illuminate\Database\Eloquent\Collection $taxes + * @property-read int|null $taxes_count + * @method static \Illuminate\Database\Eloquent\Builder|TaxType applyFilters(array $filters) + * @method static \Database\Factories\TaxTypeFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|TaxType newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|TaxType paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType query() + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereCollectiveTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereCompoundTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereDescription($value) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereOrder($orderByField, $orderBy) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType wherePercent($value) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereTaxType($tax_type_id) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereType($value) + * @method static \Illuminate\Database\Eloquent\Builder|TaxType whereUpdatedAt($value) + */ + class TaxType extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string|null $transaction_id + * @property string|null $unique_hash + * @property string|null $type + * @property string $status + * @property string $transaction_date + * @property int|null $company_id + * @property int $invoice_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\Company|null $company + * @property-read \App\Models\Invoice $invoice + * @property-read \Illuminate\Database\Eloquent\Collection $payments + * @property-read int|null $payments_count + * @method static \Illuminate\Database\Eloquent\Builder|Transaction newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Transaction newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Transaction query() + * @method static \Illuminate\Database\Eloquent\Builder|Transaction whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Transaction whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Transaction whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Transaction whereInvoiceId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Transaction whereStatus($value) + * @method static \Illuminate\Database\Eloquent\Builder|Transaction whereTransactionDate($value) + * @method static \Illuminate\Database\Eloquent\Builder|Transaction whereTransactionId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Transaction whereType($value) + * @method static \Illuminate\Database\Eloquent\Builder|Transaction whereUniqueHash($value) + * @method static \Illuminate\Database\Eloquent\Builder|Transaction whereUpdatedAt($value) + */ + class Transaction extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\Company|null $company + * @property-read \Illuminate\Database\Eloquent\Collection $items + * @property-read int|null $items_count + * @method static \Illuminate\Database\Eloquent\Builder|Unit applyFilters(array $filters) + * @method static \Database\Factories\UnitFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|Unit newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Unit newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Unit paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|Unit query() + * @method static \Illuminate\Database\Eloquent\Builder|Unit whereCompany() + * @method static \Illuminate\Database\Eloquent\Builder|Unit whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Unit whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Unit whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Unit whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Unit whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|Unit whereUnit($unit_id) + * @method static \Illuminate\Database\Eloquent\Builder|Unit whereUpdatedAt($value) + */ + class Unit extends \Eloquent {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $name + * @property string|null $email + * @property string|null $phone + * @property string|null $password + * @property string $role + * @property string|null $remember_token + * @property string|null $facebook_id + * @property string|null $google_id + * @property string|null $github_id + * @property string|null $contact_name + * @property string|null $company_name + * @property string|null $website + * @property int|null $enable_portal + * @property int|null $currency_id + * @property int|null $company_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property int|null $creator_id + * @property-read \Illuminate\Database\Eloquent\Collection $abilities + * @property-read int|null $abilities_count + * @property-read \Illuminate\Database\Eloquent\Collection $addresses + * @property-read int|null $addresses_count + * @property-read \App\Models\Address|null $billingAddress + * @property-read \Illuminate\Database\Eloquent\Collection $companies + * @property-read int|null $companies_count + * @property-read User|null $creator + * @property-read \App\Models\Currency|null $currency + * @property-read \Illuminate\Database\Eloquent\Collection $customers + * @property-read int|null $customers_count + * @property-read \Illuminate\Database\Eloquent\Collection $estimates + * @property-read int|null $estimates_count + * @property-read \Illuminate\Database\Eloquent\Collection $expenses + * @property-read int|null $expenses_count + * @property-read \Illuminate\Database\Eloquent\Collection $fields + * @property-read int|null $fields_count + * @property-read mixed $avatar + * @property-read mixed $formatted_created_at + * @property-read \Illuminate\Database\Eloquent\Collection $invoices + * @property-read int|null $invoices_count + * @property-read \Illuminate\Database\Eloquent\Collection $items + * @property-read int|null $items_count + * @property-read \Spatie\MediaLibrary\MediaCollections\Models\Collections\MediaCollection $media + * @property-read int|null $media_count + * @property-read \Illuminate\Notifications\DatabaseNotificationCollection $notifications + * @property-read int|null $notifications_count + * @property-read \Illuminate\Database\Eloquent\Collection $payments + * @property-read int|null $payments_count + * @property-read \Illuminate\Database\Eloquent\Collection $recurringInvoices + * @property-read int|null $recurring_invoices_count + * @property-read \Illuminate\Database\Eloquent\Collection $roles + * @property-read int|null $roles_count + * @property-read \Illuminate\Database\Eloquent\Collection $settings + * @property-read int|null $settings_count + * @property-read \App\Models\Address|null $shippingAddress + * @property-read \Illuminate\Database\Eloquent\Collection $tokens + * @property-read int|null $tokens_count + * @method static \Illuminate\Database\Eloquent\Builder|User applyFilters(array $filters) + * @method static \Illuminate\Database\Eloquent\Builder|User applyInvoiceFilters(array $filters) + * @method static \Database\Factories\UserFactory factory($count = null, $state = []) + * @method static \Illuminate\Database\Eloquent\Builder|User invoicesBetween($start, $end) + * @method static \Illuminate\Database\Eloquent\Builder|User newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|User newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|User paginateData($limit) + * @method static \Illuminate\Database\Eloquent\Builder|User query() + * @method static \Illuminate\Database\Eloquent\Builder|User whereCompanyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereCompanyName($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereContactName($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereCreatorId($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereCurrencyId($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereDisplayName($displayName) + * @method static \Illuminate\Database\Eloquent\Builder|User whereEmail($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereEnablePortal($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereFacebookId($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereGithubId($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereGoogleId($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereIs($role) + * @method static \Illuminate\Database\Eloquent\Builder|User whereIsAll($role) + * @method static \Illuminate\Database\Eloquent\Builder|User whereIsNot($role) + * @method static \Illuminate\Database\Eloquent\Builder|User whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereOrder($orderByField, $orderBy) + * @method static \Illuminate\Database\Eloquent\Builder|User wherePassword($value) + * @method static \Illuminate\Database\Eloquent\Builder|User wherePhone($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereRememberToken($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereRole($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereSearch($search) + * @method static \Illuminate\Database\Eloquent\Builder|User whereSuperAdmin() + * @method static \Illuminate\Database\Eloquent\Builder|User whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereWebsite($value) + */ + class User extends \Eloquent implements \Spatie\MediaLibrary\HasMedia {} +} + +namespace App\Models{ +/** + * + * + * @property int $id + * @property string $key + * @property string $value + * @property int $user_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\User $user + * @method static \Illuminate\Database\Eloquent\Builder|UserSetting newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|UserSetting newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|UserSetting query() + * @method static \Illuminate\Database\Eloquent\Builder|UserSetting whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|UserSetting whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|UserSetting whereKey($value) + * @method static \Illuminate\Database\Eloquent\Builder|UserSetting whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|UserSetting whereUserId($value) + * @method static \Illuminate\Database\Eloquent\Builder|UserSetting whereValue($value) + */ + class UserSetting extends \Eloquent {} +} + diff --git a/app/Rules/Backup/BackupDisk.php b/app/Rules/Backup/BackupDisk.php index 905977c8..739452fa 100644 --- a/app/Rules/Backup/BackupDisk.php +++ b/app/Rules/Backup/BackupDisk.php @@ -2,6 +2,7 @@ namespace App\Rules\Backup; +use Closure; use Illuminate\Contracts\Validation\ValidationRule; class BackupDisk implements ValidationRule @@ -18,8 +19,6 @@ class BackupDisk implements ValidationRule /** * Run the validation rule. - * - * @param \Closure $fail */ public function validate(string $attribute, mixed $value, Closure $fail): void { diff --git a/composer.json b/composer.json index e29f049f..4f2d63ac 100644 --- a/composer.json +++ b/composer.json @@ -17,9 +17,10 @@ "invoiceshelf/modules": "^1.0.0", "jasonmccreary/laravel-test-assertions": "^v2.4", "laravel/framework": "^11.31", - "laravel/tinker": "^2.9", "laravel/helpers": "^1.7", "laravel/sanctum": "^4.0", + "laravel/tinker": "^2.9", + "laravel/ui": "^4.6", "lavary/laravel-menu": "^1.8", "league/flysystem-aws-s3-v3": "^3.29", "predis/predis": "^2.3", diff --git a/composer.lock b/composer.lock index b2cd7dcd..8a9fcd14 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "e1c7e1126dde2f4b2f5788f7371fde26", + "content-hash": "cb8d732cd9af97b716e0f583ef57df0b", "packages": [ { "name": "aws/aws-crt-php", @@ -2564,6 +2564,69 @@ }, "time": "2024-09-23T13:32:56+00:00" }, + { + "name": "laravel/ui", + "version": "v4.6.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/ui.git", + "reference": "a34609b15ae0c0512a0cf47a21695a2729cb7f93" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/ui/zipball/a34609b15ae0c0512a0cf47a21695a2729cb7f93", + "reference": "a34609b15ae0c0512a0cf47a21695a2729cb7f93", + "shasum": "" + }, + "require": { + "illuminate/console": "^9.21|^10.0|^11.0", + "illuminate/filesystem": "^9.21|^10.0|^11.0", + "illuminate/support": "^9.21|^10.0|^11.0", + "illuminate/validation": "^9.21|^10.0|^11.0", + "php": "^8.0", + "symfony/console": "^6.0|^7.0" + }, + "require-dev": { + "orchestra/testbench": "^7.35|^8.15|^9.0", + "phpunit/phpunit": "^9.3|^10.4|^11.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Ui\\UiServiceProvider" + ] + }, + "branch-alias": { + "dev-master": "4.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\Ui\\": "src/", + "Illuminate\\Foundation\\Auth\\": "auth-backend/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Laravel UI utilities and presets.", + "keywords": [ + "laravel", + "ui" + ], + "support": { + "source": "https://github.com/laravel/ui/tree/v4.6.0" + }, + "time": "2024-11-21T15:06:41+00:00" + }, { "name": "lavary/laravel-menu", "version": "v1.8.4",