Composer Workspace global packages

This commit is contained in:
Clemens Schwaighofer
2023-08-02 14:52:33 +09:00
parent c383a7b7b7
commit 1fc144e178
239 changed files with 5659 additions and 2712 deletions
+13
View File
@@ -0,0 +1,13 @@
<?php
#[Attribute(Attribute::TARGET_CLASS)]
final class AllowDynamicProperties
{
public function __construct() {}
}
#[Attribute(Attribute::TARGET_PARAMETER)]
final class SensitiveParameter
{
public function __construct() {}
}
-1
View File
@@ -586,7 +586,6 @@ class DateInterval
/**
* Is 1 if the interval is inverted and 0 otherwise
* @var int
* @readonly
*/
public $invert;
+113 -32
View File
@@ -399,10 +399,10 @@ function array_fill_keys(array $keys, $value): array
*
* @psalm-template TKey
*
* @param string $pattern
* @param array<TKey,string> $array
* @param non-empty-string $pattern
* @param array<TKey, string> $array
* @param 0|1 $flags 1=PREG_GREP_INVERT
* @return array<TKey,string>
* @return array<TKey, string>
*/
function preg_grep($pattern, array $array, $flags = 0)
{
@@ -619,7 +619,7 @@ function strtoupper(string $string) : string {}
* @param int|array<int> $offset
* @param null|int|array<int> $length
*
* @return ($string is array<string> ? array<string> : string)
* @return ($string is array ? array<string> : string)
*
* @psalm-flow ($string, $replace) -> return
*/
@@ -786,6 +786,8 @@ function explode(string $separator, string $string, int $limit = -1) : array {}
/**
* @psalm-pure
*
* @param non-empty-string $pattern
*
* @psalm-flow ($subject) -(array-assignment)-> return
*
* @template TFlags as int-mask<0, 1, 2, 4>
@@ -998,11 +1000,13 @@ function strlen(string $string) : int {}
/**
* @psalm-pure
*
* @template TKey of array-key
*
* @param string|array<string|int|float> $search
* @param string|array<string|int|float> $replace
* @param string|array<string|int|float> $subject
* @param int $count
* @return ($subject is array ? array<string> : string)
* @param string|array<TKey, string|int|float> $subject
* @param int<0, max> $count
* @return ($subject is array ? array<TKey, string> : string)
*
* @psalm-flow ($replace, $subject) -> return
*/
@@ -1011,11 +1015,13 @@ function str_replace($search, $replace, $subject, &$count = null) {}
/**
* @psalm-pure
*
* @template TKey of array-key
*
* @param string|array<string|int|float> $search
* @param string|array<string|int|float> $replace
* @param string|array<string|int|float> $subject
* @param int $count
* @return ($subject is array ? array<string> : string)
* @param string|array<TKey, string|int|float> $subject
* @param int<0, max> $count
* @return ($subject is array ? array<TKey, string> : string)
*
* @psalm-flow ($replace, $subject) -> return
*/
@@ -1169,10 +1175,10 @@ function str_word_count(string $string, int $format = 0, string|null $characters
/**
* @psalm-pure
*
* @param string|string[] $pattern
* @param non-empty-string|non-empty-string[] $pattern
* @param string|array<string|int|float> $replacement
* @param string|array<string|int|float> $subject
* @param int $count
* @param int<0, max> $count
* @return ($subject is array ? array<string> : string|null)
*
* @psalm-flow ($replacement, $subject) -> return
@@ -1182,22 +1188,30 @@ function preg_filter($pattern, $replacement, $subject, int $limit = -1, &$count
/**
* @psalm-pure
*
* @param string|string[] $pattern
* @template TKey of array-key
*
* @param non-empty-string|non-empty-string[] $pattern
* @param string|array<string|int|float> $replacement
* @param string|array<string|int|float> $subject
* @param int $count
* @return ($subject is array ? array<string>|null : string|null)
* @param string|array<TKey, string|int|float> $subject
* @param int<0, max> $count
* @return ($subject is array ? array<TKey, string>|null : string|null)
*
* @psalm-ignore-nullable-return
*
* @psalm-flow ($replacement, $subject) -> return
*/
function preg_replace($pattern, $replacement, $subject, int $limit = -1, &$count = null) {}
/**
* @param string|string[] $pattern
* @template TKey of array-key
*
* @param non-empty-string|non-empty-string[] $pattern
* @param callable(string[]):string $callback
* @param string|array<string|int|float> $subject
* @param int $count
* @return ($subject is array ? array<string>|null : string|null)
* @param string|array<TKey, string|int|float> $subject
* @param int<0, max> $count
* @return ($subject is array ? array<TKey, string>|null : string|null)
*
* @psalm-ignore-nullable-return
*
* @psalm-taint-specialize
* @psalm-flow ($subject) -> return
@@ -1208,7 +1222,7 @@ function preg_replace_callback($pattern, $callback, $subject, int $limit = -1, &
* @psalm-pure
* @template TFlags as int
*
* @param string $pattern
* @param non-empty-string $pattern
* @param string $subject
* @param mixed $matches
* @param TFlags $flags
@@ -1244,7 +1258,7 @@ function preg_match_all($pattern, $subject, &$matches = [], int $flags = 1, int
* @psalm-pure
* @template TFlags as int-mask<0, 256, 512>
*
* @param string $pattern
* @param non-empty-string $pattern
* @param string $subject
* @param mixed $matches
* @param TFlags $flags
@@ -1279,17 +1293,17 @@ function preg_quote(string $str, ?string $delimiter = null) : string {}
* @psalm-pure
*
* @param string|int|float $values
* @return ($format is non-empty-string
* ? ($values is non-empty-string|int|float ? non-empty-string : string)
* : string)
* @return (PHP_MAJOR_VERSION is 8 ? string : string|false)
* @psalm-ignore-falsable-return
*
* @psalm-flow ($format, $values) -> return
*/
function sprintf(string $format, ...$values) : string {}
function sprintf(string $format, ...$values) {}
/**
* @psalm-pure
* @return string|false
* @param array<string|int|float> $values
* @return (PHP_MAJOR_VERSION is 8 ? string : string|false)
* @psalm-ignore-falsable-return
*
* @psalm-flow ($format, $values) -> return
@@ -1308,20 +1322,27 @@ function wordwrap(string $string, int $width = 75, string $break = "\n", bool $c
* @psalm-pure
*
* @param string|int|float $values
* @return (PHP_MAJOR_VERSION is 8 ? int<0, max> : int<0, max>|false)
* @psalm-ignore-falsable-return
*
* @psalm-taint-specialize
* @psalm-flow ($format, $values) -> return
* @psalm-taint-sink html $format
* @psalm-taint-sink html $values
*/
function printf(string $format, ...$values) : string {}
function printf(string $format, ...$values) {}
/**
* @param array<string|int|float> $values
* @return (PHP_MAJOR_VERSION is 8 ? int<0, max> : int<0, max>|false)
* @psalm-ignore-falsable-return
*
* @psalm-pure
* @psalm-taint-specialize
* @psalm-taint-sink html $format
* @psalm-taint-sink html $values
*/
function vprintf(string $format, array $values) : int {}
function vprintf(string $format, array $values) {}
/**
* @psalm-pure
@@ -1364,11 +1385,11 @@ function str_getcsv(string $string, string $separator = ',', string $enclosure =
/**
* @template TKey as array-key
* @template TArray as array<mixed, TKey>
* @template TArray as array<TKey>
*
* @param TArray $array
*
* @return (TArray is non-empty-array ? non-empty-array<TKey, positive-int> : array<TKey, positive-int>)
* @return (TArray is non-empty-array ? non-empty-array<TKey, int<1, max>> : array<TKey, int<1, max>>)
*
* @psalm-pure
*/
@@ -1508,7 +1529,7 @@ function ldap_escape(string $value, string $ignore = "", int $flags = 0) : strin
function json_decode(string $json, ?bool $associative = null, int $depth = 512, int $flags = 0) {}
/**
* The conditional return type below relies on the fact that JSON_THROW_ON_ERROR is
* The conditional return type below relies on the fact that JSON_THROW_ON_ERROR is
* the highest-valued of JSON constants
* @psalm-pure
*
@@ -1542,6 +1563,8 @@ function sapi_windows_cp_conv($in_codepage, $out_codepage, string $subject) : ?s
/**
* @psalm-pure
*
* @return non-empty-string
*
* @psalm-flow ($prefix) -> return
*/
function uniqid(string $prefix = "", bool $more_entropy = false) : string {}
@@ -1559,7 +1582,10 @@ function unpack(string $format, string $string, int $offset = 0) {}
/**
* @psalm-pure
*
* @template T of bool
* @param T $strict
* @return string|false
* @psalm-return (T is false ? string : string|false)
*
* @psalm-flow ($string) -> return
* @psalm-ignore-falsable-return
@@ -1704,3 +1730,58 @@ function pg_escape_literal($string1, $string2 = null) {}
* @psalm-flow ($string1, $string2) -> return
*/
function pg_escape_string($string1, $string2 = null) {}
if (defined('GLOB_BRACE')) {
/**
* @psalm-template P of string
* @psalm-template F of int-mask<GLOB_MARK, GLOB_NOSORT, GLOB_NOCHECK, GLOB_NOESCAPE, GLOB_BRACE, GLOB_ONLYDIR, GLOB_ERR>
* @psalm-param P $pattern
* @psalm-param F $flags
* @psalm-return (
* P is ''
* ? (F is int-mask<GLOB_MARK, GLOB_NOSORT, GLOB_NOESCAPE, GLOB_BRACE, GLOB_ONLYDIR, GLOB_ERR>
* ? false|list<never>
* : (F is int-mask<GLOB_MARK, GLOB_NOSORT, GLOB_NOCHECK, GLOB_NOESCAPE, GLOB_BRACE, GLOB_ERR>
* ? false|list{0:''}
* : false|list<never>
* )
* )
* : (F is int-mask<GLOB_MARK, GLOB_NOSORT, GLOB_NOESCAPE, GLOB_BRACE, GLOB_ONLYDIR, GLOB_ERR>
* ? false|list<non-empty-string>
* : (F is int-mask<GLOB_MARK, GLOB_NOSORT, GLOB_NOCHECK, GLOB_NOESCAPE, GLOB_BRACE, GLOB_ERR>
* ? false|list{0:non-empty-string, ...<non-empty-string>}
* : false|list<non-empty-string>
* )
* )
* )
* @psalm-ignore-falsable-return
*/
function glob (string $pattern, int $flags = 0): array|false {}
} else {
/**
* @psalm-template P of string
* @psalm-template F of int-mask<GLOB_MARK, GLOB_NOSORT, GLOB_NOCHECK, GLOB_NOESCAPE, GLOB_ONLYDIR, GLOB_ERR>
* @psalm-param P $pattern
* @psalm-param F $flags
* @psalm-return (
* P is ''
* ? (F is int-mask<GLOB_MARK, GLOB_NOSORT, GLOB_NOESCAPE, GLOB_ONLYDIR, GLOB_ERR>
* ? false|list<never>
* : (F is int-mask<GLOB_MARK, GLOB_NOSORT, GLOB_NOCHECK, GLOB_NOESCAPE, GLOB_ERR>
* ? false|list{0:''}
* : false|list<never>
* )
* )
* : (F is int-mask<GLOB_MARK, GLOB_NOSORT, GLOB_NOESCAPE, GLOB_ONLYDIR, GLOB_ERR>
* ? false|list<non-empty-string>
* : (F is int-mask<GLOB_MARK, GLOB_NOSORT, GLOB_NOCHECK, GLOB_NOESCAPE, GLOB_ERR>
* ? false|list{0:non-empty-string, ...<non-empty-string>}
* : false|list<non-empty-string>
* )
* )
* )
* @psalm-ignore-falsable-return
*/
function glob (string $pattern, int $flags = 0): array|false {}
}
-12
View File
@@ -34,18 +34,6 @@ namespace {
public function getIterator(): Iterator {}
}
#[Attribute(Attribute::TARGET_PARAMETER)]
final class SensitiveParameter
{
public function __construct() {}
}
#[Attribute(Attribute::TARGET_CLASS)]
final class AllowDynamicProperties
{
public function __construct() {}
}
/**
* @psalm-pure
* @param positive-int $length
+233 -41
View File
@@ -1,59 +1,251 @@
<?php
namespace MongoDB\Driver;
use Iterator;
use Traversable;
/**
* @template-covariant TKey
* @template-covariant TValue
*
* @template-extends Traversable<TKey, TValue>
*/
interface CursorInterface extends Traversable
namespace MongoDB\BSON
{
use IteratorAggregate;
use Serializable;
/**
* @return array<TValue>
* @template TValue
* @template-implements IteratorAggregate<string, TValue>
*/
public function toArray();
final class Document implements IteratorAggregate, Serializable
{
private function __construct()
{
}
final static public function fromBSON(string $bson): Document
{
}
final static public function fromJSON(string $json): Document
{
}
/** @param array|object $value */
final static public function fromPHP($value): Document
{
}
/** @return TValue */
final public function get(string $key)
{
}
/** @return Iterator<string, TValue> */
final public function getIterator(): Iterator
{
}
final public function has(string $key): bool
{
}
/** @return array|object */
final public function toPHP(?array $typeMap = null)
{
}
final public function toCanonicalExtendedJSON(): string
{
}
final public function toRelaxedExtendedJSON(): string
{
}
final public function __toString(): string
{
}
final public static function __set_state(array $properties): Document
{
}
final public function serialize(): string
{
}
/** @param string $serialized */
final public function unserialize($serialized): void
{
}
final public function __unserialize(array $data): void
{
}
final public function __serialize(): array
{
}
}
/**
* @psalm-template TKey of int|string
* @psalm-template TValue
* $psalm-implements \Iterator<TKey, TValue>
*/
final class Iterator implements \Iterator
{
final private function __construct()
{
}
/** @return TValue */
final public function current()
{
}
/** @return TKey */
final public function key()
{
}
final public function next(): void
{
}
final public function rewind(): void
{
}
final public function valid(): bool
{
}
final public function __wakeup(): void
{
}
}
/**
* @template TValue
* @template-implements IteratorAggregate<int, TValue>
*/
final class PackedArray implements IteratorAggregate, Serializable
{
private function __construct()
{
}
final static public function fromPHP(array $value): PackedArray
{
}
/** @return TValue */
final public function get(int $index)
{
}
/** @return Iterator<int, TValue> */
final public function getIterator(): Iterator
{
}
final public function has(int $index): bool
{
}
/** @return array|object */
final public function toPHP(?array $typeMap = null)
{
}
final public function __toString(): string
{
}
final public static function __set_state(array $properties): PackedArray
{
}
final public function serialize(): string
{
}
/** @param string $serialized */
final public function unserialize($serialized): void
{
}
final public function __unserialize(array $data): void
{
}
final public function __serialize(): array
{
}
}
}
/**
* @template-covariant TValue of array|object
*
* @template-implements Iterator<int, TValue>
* @template-implements CursorInterface<int, TValue>
*/
final class Cursor implements CursorInterface, Iterator
namespace MongoDB\Driver
{
/**
* @return TValue
*/
public function current() {}
use Iterator;
use Traversable;
/**
* @return void
* @template-covariant TKey
* @template-covariant TValue
*
* @template-extends Traversable<TKey, TValue>
*/
public function next() {}
interface CursorInterface extends Traversable
{
/**
* @return array<TValue>
*/
public function toArray();
}
/**
* @return int
* @template-covariant TValue of array|object
*
* @template-implements Iterator<int, TValue>
* @template-implements CursorInterface<int, TValue>
*/
public function key() {}
final class Cursor implements CursorInterface, Iterator
{
/**
* @return TValue
*/
public function current()
{
}
/**
* @return bool
*/
public function valid() {}
/**
* @return void
*/
public function next()
{
}
/**
* @return void
*/
public function rewind() {}
/**
* @return int
*/
public function key()
{
}
/**
* @return array<TValue>
*/
public function toArray() {}
/**
* @return bool
*/
public function valid()
{
}
/**
* @return void
*/
public function rewind()
{
}
/**
* @return array<TValue>
*/
public function toArray()
{
}
}
}
+10
View File
@@ -150,6 +150,16 @@ class PDOStatement implements Traversable
* @return false|T
*/
public function fetchObject($class = \stdclass::class, array $ctorArgs = array()) {}
/**
* @psalm-taint-sink sql $value
*/
public function bindValue(string|int $param, mixed $value, int $type = PDO::PARAM_STR): bool {}
/**
* @psalm-taint-sink sql $var
*/
public function bindParam(string|int $param, mixed &$var, int $type = PDO::PARAM_STR, int $maxLength = 0, mixed $driverOptions = null): bool {}
}
class PDOException extends RuntimeException {
+18
View File
@@ -20,3 +20,21 @@ abstract class CallLike extends Expr {
*/
public function getArgs(): array {}
}
namespace PhpParser\Node;
use PhpParser\NodeAbstract;
class Name extends NodeAbstract {
/**
* @param string|string[]|self $name
* @param array $attributes
*/
public function __construct($name, array $attributes = []) {}
/**
* @return non-empty-string
*/
public function toString(): string {}
}