EnsuranceInterface::then()
last analyzed

Size

Total Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 1
c 0
b 0
f 0
1
<?php
2
3
namespace Dgame\Ensurance;
4
5
use Throwable;
6
7
/**
8
 * Interface EnsuranceInterface
9
 * @package Dgame\Ensurance
10
 */
11
interface EnsuranceInterface
12
{
13
    /**
14
     * @param mixed $value
15
     *
16
     * @return mixed
17
     */
18
    public function then($value);
19
20
    /**
21
     * @param mixed $value
22
     *
23
     * @return mixed
24
     */
25
    public function else($value);
26
27
    /**
28
     * @param mixed $default
29
     *
30
     * @return mixed
31
     */
32
    public function get($default = null);
33
34
    /**
35
     * @return bool
36
     */
37
    public function isEnsured(): bool;
38
39
    /**
40
     * @param string $message
41
     * @param mixed  ...$args
42
     *
43
     * @return mixed
44
     */
0 ignored issues
show
Documentation introduced by
Consider making the type for parameter $args a bit more specific; maybe use array.
Loading history...
45
    public function orThrow(string $message, ...$args);
46
47
    /**
48
     * @return bool
49
     */
50
    public function hasThrowable(): bool;
51
52
    /**
53
     * @param Throwable $throwable
54
     *
55
     * @return mixed
56
     */
57
    public function setThrowable(Throwable $throwable);
58
59
    /**
60
     * @return Throwable|null
61
     */
62
    public function getThrowable(): ?Throwable;
63
64
    /**
65
     * @return mixed
66
     */
67
    public function disregardThrowable();
68
69
    /**
70
     * @return Throwable|null
71
     */
72
    public function releaseThrowable(): ?Throwable;
73
74
    /**
75
     * @param self $ensurance
0 ignored issues
show
Documentation introduced by
Should the type for parameter $ensurance not be \self?

This check looks for @param annotations where the type inferred by our type inference engine differs from the declared type.

It makes a suggestion as to what type it considers more descriptive.

Most often this is a case of a parameter that can be null in addition to its declared types.

Loading history...
76
     *
77
     * @return mixed
78
     */
79
    public function transferEnsurance(self $ensurance);
80
}
81