mirror of
https://github.com/danog/psalm-plugin-laravel.git
synced 2024-11-30 04:39:01 +01:00
e836b89901
* feature: hack in support for optional. Remove meta stub provider Co-authored-by: Claas Augner <github@caugner.de>
101 lines
2.4 KiB
Plaintext
101 lines
2.4 KiB
Plaintext
<?php
|
|
|
|
/**
|
|
* @template TModel of \Illuminate\Database\Eloquent\Model
|
|
* @template TNameOrCountOrNull of string|int|null
|
|
* @template TCountOrNull of int|null
|
|
*
|
|
* @param class-string<TModel> $modelClassName
|
|
* @param TNameOrCountOrNull $nameOrCount
|
|
* @param TCountOrNull $count
|
|
*
|
|
* @return (
|
|
TCountOrNull is int
|
|
? Illuminate\Database\Eloquent\FactoryBuilder<TModel, TCountOrNull>
|
|
: (
|
|
TNameOrCountOrNull is int
|
|
? Illuminate\Database\Eloquent\FactoryBuilder<TModel, TNameOrCountOrNull>
|
|
: Illuminate\Database\Eloquent\FactoryBuilder<TModel, 1>
|
|
)
|
|
|
|
)
|
|
*/
|
|
function factory(string $modelClassName, $nameOrCount = null, $count = null)
|
|
{
|
|
|
|
}
|
|
|
|
/**
|
|
* Return a new response from the application.
|
|
*
|
|
* @param \Illuminate\View\View|string|array|null $content
|
|
* @param int $status
|
|
* @param array $headers
|
|
* @return \Illuminate\Http\Response|\Illuminate\Contracts\Routing\ResponseFactory
|
|
* @psalm-return (func_num_args() is 0 ? \Illuminate\Contracts\Routing\ResponseFactory : \Illuminate\Http\Response)
|
|
*/
|
|
function response($content = '', $status = 200, array $headers = [])
|
|
{
|
|
|
|
}
|
|
|
|
/**
|
|
* Throw an HttpException with the given data if the given condition is true.
|
|
*
|
|
* @param bool $boolean
|
|
* @psalm-assert falsy $boolean
|
|
* @psalm-return ($boolean is false ? never-return : void )
|
|
* @param int $code
|
|
* @param string $message
|
|
* @param array $headers
|
|
* @return void
|
|
*
|
|
* @throws \Symfony\Component\HttpKernel\Exception\HttpException
|
|
* @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
|
|
*/
|
|
function abort_if($boolean, $code, $message = '', array $headers = [])
|
|
{
|
|
|
|
}
|
|
|
|
/**
|
|
* @see https://github.com/vimeo/psalm/issues/4816 for why this hack exists
|
|
*/
|
|
|
|
class NullObject {
|
|
/**
|
|
* @return null
|
|
*/
|
|
public function __call(string $_name, array $args) {
|
|
return null;
|
|
}
|
|
|
|
/**
|
|
* @return null
|
|
*/
|
|
public function __get(string $s) {
|
|
return null;
|
|
}
|
|
|
|
public function __set(string $_name, string $_value) : void {
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Provide access to optional objects.
|
|
*
|
|
* @template TValue
|
|
* @template TResult
|
|
* @template TCallback of null|callable(TValue): TResult
|
|
* @psalm-param TValue $value
|
|
* @psalm-return (
|
|
TValue is null
|
|
? NullObject
|
|
: ( TCallback is null ? TValue : TResult )
|
|
)
|
|
*/
|
|
function optional($value = null, callable $callback = null)
|
|
{
|
|
|
|
}
|