diff --git a/stubs/extensions/mongodb.phpstub b/stubs/extensions/mongodb.phpstub index ad6f34d55e4..00d9f2037fc 100644 --- a/stubs/extensions/mongodb.phpstub +++ b/stubs/extensions/mongodb.phpstub @@ -1,59 +1,251 @@ - */ -interface CursorInterface extends Traversable +namespace MongoDB\BSON { - /** - * @return array - */ - public function toArray(); -} + use IteratorAggregate; + use Serializable; -/** - * @template-covariant TValue of array|object - * - * @template-implements Iterator - * @template-implements CursorInterface - */ -final class Cursor implements CursorInterface, Iterator -{ /** - * @return TValue + * @template TValue + * @template-implements IteratorAggregate */ - public function current() {} + final class Document implements IteratorAggregate, Serializable + { + private function __construct() + { + } - /** - * @return void - */ - public function next() {} + 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 */ + 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 + { + } + } /** - * @return int + * @psalm-template TKey of int|string + * @psalm-template TValue + * $psalm-implements \Iterator */ - public function key() {} + 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 + { + } + } /** - * @return bool + * @template TValue + * @template-implements IteratorAggregate */ - public function valid() {} + 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 */ + 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 + { + } + } +} + +namespace MongoDB\Driver +{ + use Iterator; + use Traversable; /** - * @return void + * @template-covariant TKey + * @template-covariant TValue + * + * @template-extends Traversable */ - public function rewind() {} + interface CursorInterface extends Traversable + { + /** + * @return array + */ + public function toArray(); + } /** - * @return array + * @template-covariant TValue of array|object + * + * @template-implements Iterator + * @template-implements CursorInterface */ - public function toArray() {} + final class Cursor implements CursorInterface, Iterator + { + /** + * @return TValue + */ + public function current() + { + } + + /** + * @return void + */ + public function next() + { + } + + /** + * @return int + */ + public function key() + { + } + + /** + * @return bool + */ + public function valid() + { + } + + /** + * @return void + */ + public function rewind() + { + } + + /** + * @return array + */ + public function toArray() + { + } + } }