Skip to content

Commit

Permalink
feat(io-stream): add getStream() method to access underlying stream
Browse files Browse the repository at this point in the history
Signed-off-by: azjezz <azjezz@protonmail.com>
  • Loading branch information
azjezz committed Nov 13, 2021
1 parent 3f2bde0 commit 6155ac3
Show file tree
Hide file tree
Showing 45 changed files with 469 additions and 84 deletions.
6 changes: 3 additions & 3 deletions docs/component/io-stream.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,17 @@

#### `Classes`

- [CloseHandle](./../../src/Psl/IO/Stream/CloseHandle.php#L13)
- [CloseHandle](./../../src/Psl/IO/Stream/CloseHandle.php#L12)
- [CloseReadHandle](./../../src/Psl/IO/Stream/CloseReadHandle.php#L13)
- [CloseReadWriteHandle](./../../src/Psl/IO/Stream/CloseReadWriteHandle.php#L13)
- [CloseSeekHandle](./../../src/Psl/IO/Stream/CloseSeekHandle.php#L13)
- [CloseSeekHandle](./../../src/Psl/IO/Stream/CloseSeekHandle.php#L12)
- [CloseSeekReadHandle](./../../src/Psl/IO/Stream/CloseSeekReadHandle.php#L13)
- [CloseSeekReadWriteHandle](./../../src/Psl/IO/Stream/CloseSeekReadWriteHandle.php#L13)
- [CloseSeekWriteHandle](./../../src/Psl/IO/Stream/CloseSeekWriteHandle.php#L13)
- [CloseWriteHandle](./../../src/Psl/IO/Stream/CloseWriteHandle.php#L13)
- [ReadHandle](./../../src/Psl/IO/Stream/ReadHandle.php#L13)
- [ReadWriteHandle](./../../src/Psl/IO/Stream/ReadWriteHandle.php#L13)
- [SeekHandle](./../../src/Psl/IO/Stream/SeekHandle.php#L13)
- [SeekHandle](./../../src/Psl/IO/Stream/SeekHandle.php#L12)
- [SeekReadHandle](./../../src/Psl/IO/Stream/SeekReadHandle.php#L13)
- [SeekReadWriteHandle](./../../src/Psl/IO/Stream/SeekReadWriteHandle.php#L13)
- [SeekWriteHandle](./../../src/Psl/IO/Stream/SeekWriteHandle.php#L13)
Expand Down
6 changes: 3 additions & 3 deletions docs/component/io.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@

#### `Functions`

- [error_handle](./../../src/Psl/IO/error_handle.php#L17)
- [input_handle](./../../src/Psl/IO/input_handle.php#L17)
- [output_handle](./../../src/Psl/IO/output_handle.php#L17)
- [error_handle](./../../src/Psl/IO/error_handle.php#L20)
- [input_handle](./../../src/Psl/IO/input_handle.php#L20)
- [output_handle](./../../src/Psl/IO/output_handle.php#L20)
- [pipe](./../../src/Psl/IO/pipe.php#L24)

#### `Interfaces`
Expand Down
2 changes: 1 addition & 1 deletion src/Psl/File/HandleInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use Psl\IO;

interface HandleInterface extends IO\CloseSeekHandleInterface
interface HandleInterface extends IO\Stream\CloseSeekHandleInterface
{
/**
* Gets the path to the file.
Expand Down
8 changes: 8 additions & 0 deletions src/Psl/File/Internal/AbstractHandleWrapper.php
Original file line number Diff line number Diff line change
Expand Up @@ -69,4 +69,12 @@ public function close(): void
{
$this->handle->close();
}

/**
* {@inheritDoc}
*/
public function getStream(): mixed
{
$this->handle->getStream();
}
}
2 changes: 1 addition & 1 deletion src/Psl/File/ReadHandleInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@

use Psl\IO;

interface ReadHandleInterface extends HandleInterface, IO\CloseSeekReadHandleInterface
interface ReadHandleInterface extends HandleInterface, IO\Stream\CloseSeekReadHandleInterface
{
}
2 changes: 1 addition & 1 deletion src/Psl/File/ReadWriteHandleInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
use Psl\IO;

interface ReadWriteHandleInterface extends
IO\CloseSeekReadWriteHandleInterface,
IO\Stream\CloseSeekReadWriteHandleInterface,
ReadHandleInterface,
WriteHandleInterface
{
Expand Down
2 changes: 1 addition & 1 deletion src/Psl/File/WriteHandleInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@

use Psl\IO;

interface WriteHandleInterface extends HandleInterface, IO\CloseSeekWriteHandleInterface
interface WriteHandleInterface extends HandleInterface, IO\Stream\CloseSeekWriteHandleInterface
{
}
10 changes: 9 additions & 1 deletion src/Psl/IO/Internal/ResourceHandle.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
*
* @codeCoverageIgnore
*/
class ResourceHandle implements IO\CloseSeekReadWriteHandleInterface
class ResourceHandle implements IO\Stream\CloseSeekReadWriteHandleInterface
{
use IO\ReadHandleConvenienceMethodsTrait;
use IO\WriteHandleConvenienceMethodsTrait;
Expand Down Expand Up @@ -338,4 +338,12 @@ public function close(): void
$this->readSuspension?->throw(throw new Exception\AlreadyClosedException('Handle has already been closed.'));
$this->writeSuspension?->throw(throw new Exception\AlreadyClosedException('Handle has already been closed.'));
}

/**
* @return object|resource|null
*/
public function getStream(): mixed
{
return $this->resource;
}
}
13 changes: 10 additions & 3 deletions src/Psl/IO/Stream/CloseHandle.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,14 @@

namespace Psl\IO\Stream;

use Psl\IO;
use Psl\IO\Internal;

/**
* @codeCoverageIgnore
*/
final class CloseHandle implements IO\CloseHandleInterface
final class CloseHandle implements CloseHandleInterface
{
private IO\CloseHandleInterface $handle;
private CloseHandleInterface $handle;

/**
* @param resource|object $stream
Expand All @@ -29,4 +28,12 @@ public function close(): void
{
$this->handle->close();
}

/**
* @return object|resource|null
*/
public function getStream(): mixed
{
return $this->handle->getStream();
}
}
11 changes: 11 additions & 0 deletions src/Psl/IO/Stream/CloseHandleInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?php

declare(strict_types=1);

namespace Psl\IO\Stream;

use Psl\IO;

interface CloseHandleInterface extends HandleInterface, IO\CloseHandleInterface
{
}
12 changes: 10 additions & 2 deletions src/Psl/IO/Stream/CloseReadHandle.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@
/**
* @codeCoverageIgnore
*/
final class CloseReadHandle implements IO\CloseReadHandleInterface
final class CloseReadHandle implements CloseReadHandleInterface
{
use IO\ReadHandleConvenienceMethodsTrait;

private IO\CloseReadHandleInterface $handle;
private CloseReadHandleInterface $handle;

/**
* @param resource|object $stream
Expand Down Expand Up @@ -47,4 +47,12 @@ public function close(): void
{
$this->handle->close();
}

/**
* {@inheritDoc}
*/
public function getStream(): mixed
{
return $this->handle->getStream();
}
}
11 changes: 11 additions & 0 deletions src/Psl/IO/Stream/CloseReadHandleInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?php

declare(strict_types=1);

namespace Psl\IO\Stream;

use Psl\IO;

interface CloseReadHandleInterface extends CloseHandleInterface, IO\CloseReadHandleInterface, ReadHandleInterface
{
}
12 changes: 10 additions & 2 deletions src/Psl/IO/Stream/CloseReadWriteHandle.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@
/**
* @codeCoverageIgnore
*/
final class CloseReadWriteHandle implements IO\CloseReadWriteHandleInterface
final class CloseReadWriteHandle implements CloseReadWriteHandleInterface
{
use IO\ReadHandleConvenienceMethodsTrait;
use IO\WriteHandleConvenienceMethodsTrait;

private IO\CloseReadWriteHandleInterface $handle;
private CloseReadWriteHandleInterface $handle;

/**
* @param resource|object $stream
Expand Down Expand Up @@ -64,4 +64,12 @@ public function close(): void
{
$this->handle->close();
}

/**
* {@inheritDoc}
*/
public function getStream(): mixed
{
return $this->handle->getStream();
}
}
15 changes: 15 additions & 0 deletions src/Psl/IO/Stream/CloseReadWriteHandleInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?php

declare(strict_types=1);

namespace Psl\IO\Stream;

use Psl\IO;

interface CloseReadWriteHandleInterface extends
CloseReadHandleInterface,
CloseWriteHandleInterface,
IO\CloseReadWriteHandleInterface,
ReadWriteHandleInterface
{
}
13 changes: 10 additions & 3 deletions src/Psl/IO/Stream/CloseSeekHandle.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,14 @@

namespace Psl\IO\Stream;

use Psl\IO;
use Psl\IO\Internal;

/**
* @codeCoverageIgnore
*/
final class CloseSeekHandle implements IO\CloseSeekHandleInterface
final class CloseSeekHandle implements CloseSeekHandleInterface
{
private IO\CloseSeekHandleInterface $handle;
private CloseSeekHandleInterface $handle;

/**
* @param resource|object $stream
Expand Down Expand Up @@ -45,4 +44,12 @@ public function close(): void
{
$this->handle->close();
}

/**
* {@inheritDoc}
*/
public function getStream(): mixed
{
return $this->handle->getStream();
}
}
14 changes: 14 additions & 0 deletions src/Psl/IO/Stream/CloseSeekHandleInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?php

declare(strict_types=1);

namespace Psl\IO\Stream;

use Psl\IO;

interface CloseSeekHandleInterface extends
CloseHandleInterface,
IO\CloseSeekHandleInterface,
SeekHandleInterface
{
}
12 changes: 10 additions & 2 deletions src/Psl/IO/Stream/CloseSeekReadHandle.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@
/**
* @codeCoverageIgnore
*/
final class CloseSeekReadHandle implements IO\CloseSeekReadHandleInterface
final class CloseSeekReadHandle implements CloseSeekReadHandleInterface
{
use IO\ReadHandleConvenienceMethodsTrait;

private IO\CloseSeekReadHandleInterface $handle;
private CloseSeekReadHandleInterface $handle;

/**
* @param resource|object $stream
Expand Down Expand Up @@ -63,4 +63,12 @@ public function close(): void
{
$this->handle->close();
}

/**
* {@inheritDoc}
*/
public function getStream(): mixed
{
return $this->handle->getStream();
}
}
15 changes: 15 additions & 0 deletions src/Psl/IO/Stream/CloseSeekReadHandleInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?php

declare(strict_types=1);

namespace Psl\IO\Stream;

use Psl\IO;

interface CloseSeekReadHandleInterface extends
CloseReadHandleInterface,
CloseSeekHandleInterface,
IO\CloseSeekReadHandleInterface,
SeekReadHandleInterface
{
}
12 changes: 10 additions & 2 deletions src/Psl/IO/Stream/CloseSeekReadWriteHandle.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@
/**
* @codeCoverageIgnore
*/
final class CloseSeekReadWriteHandle implements IO\CloseSeekReadWriteHandleInterface
final class CloseSeekReadWriteHandle implements CloseSeekReadWriteHandleInterface
{
use IO\ReadHandleConvenienceMethodsTrait;
use IO\WriteHandleConvenienceMethodsTrait;

private IO\CloseSeekReadWriteHandleInterface $handle;
private CloseSeekReadWriteHandleInterface $handle;

/**
* @param resource|object $stream
Expand Down Expand Up @@ -80,4 +80,12 @@ public function close(): void
{
$this->handle->close();
}

/**
* {@inheritDoc}
*/
public function getStream(): mixed
{
return $this->handle->getStream();
}
}
16 changes: 16 additions & 0 deletions src/Psl/IO/Stream/CloseSeekReadWriteHandleInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?php

declare(strict_types=1);

namespace Psl\IO\Stream;

use Psl\IO;

interface CloseSeekReadWriteHandleInterface extends
CloseReadWriteHandleInterface,
CloseSeekReadHandleInterface,
CloseSeekWriteHandleInterface,
IO\CloseSeekReadWriteHandleInterface,
SeekReadWriteHandleInterface
{
}
12 changes: 10 additions & 2 deletions src/Psl/IO/Stream/CloseSeekWriteHandle.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@
/**
* @codeCoverageIgnore
*/
final class CloseSeekWriteHandle implements IO\CloseSeekWriteHandleInterface
final class CloseSeekWriteHandle implements CloseSeekWriteHandleInterface
{
use IO\WriteHandleConvenienceMethodsTrait;

private IO\CloseSeekReadWriteHandleInterface $handle;
private CloseSeekWriteHandleInterface $handle;

/**
* @param resource|object $stream
Expand Down Expand Up @@ -63,4 +63,12 @@ public function close(): void
{
$this->handle->close();
}

/**
* {@inheritDoc}
*/
public function getStream(): mixed
{
return $this->handle->getStream();
}
}
Loading

0 comments on commit 6155ac3

Please sign in to comment.