Code Duplication    Length = 22-22 lines in 3 locations

src/TypeCaster/FloatTypeCaster.php 1 location

@@ 7-28 (lines=22) @@
4
use Xiag\Rql\Parser\Token;
5
use Xiag\Rql\Parser\TypeCasterInterface;
6
7
class FloatTypeCaster implements TypeCasterInterface
8
{
9
    /**
10
     * @inheritdoc
11
     */
12
    public function typeCast(Token $token)
13
    {
14
        if ($token->test(Token::T_NULL)) {
15
            return 0.;
16
        } elseif ($token->test(Token::T_TRUE)) {
17
            return 1.;
18
        } elseif ($token->test(Token::T_FALSE)) {
19
            return 0.;
20
        } elseif ($token->test(Token::T_EMPTY)) {
21
            return 0.;
22
        } elseif ($token->test(Token::T_DATE)) {
23
            return (float)(new \DateTime($token->getValue()))->format('YmdHis');
24
        } else {
25
            return (float)$token->getValue();
26
        }
27
    }
28
}
29

src/TypeCaster/IntegerTypeCaster.php 1 location

@@ 7-28 (lines=22) @@
4
use Xiag\Rql\Parser\Token;
5
use Xiag\Rql\Parser\TypeCasterInterface;
6
7
class IntegerTypeCaster implements TypeCasterInterface
8
{
9
    /**
10
     * @inheritdoc
11
     */
12
    public function typeCast(Token $token)
13
    {
14
        if ($token->test(Token::T_NULL)) {
15
            return 0;
16
        } elseif ($token->test(Token::T_TRUE)) {
17
            return 1;
18
        } elseif ($token->test(Token::T_FALSE)) {
19
            return 0;
20
        } elseif ($token->test(Token::T_EMPTY)) {
21
            return 0;
22
        } elseif ($token->test(Token::T_DATE)) {
23
            return (int)(new \DateTime($token->getValue()))->format('YmdHis');
24
        } else {
25
            return (int)$token->getValue();
26
        }
27
    }
28
}
29

src/TypeCaster/StringTypeCaster.php 1 location

@@ 7-28 (lines=22) @@
4
use Xiag\Rql\Parser\Token;
5
use Xiag\Rql\Parser\TypeCasterInterface;
6
7
class StringTypeCaster implements TypeCasterInterface
8
{
9
    /**
10
     * @inheritdoc
11
     */
12
    public function typeCast(Token $token)
13
    {
14
        if ($token->test(Token::T_NULL)) {
15
            return 'null';
16
        } elseif ($token->test(Token::T_TRUE)) {
17
            return 'true';
18
        } elseif ($token->test(Token::T_FALSE)) {
19
            return 'false';
20
        } elseif ($token->test(Token::T_EMPTY)) {
21
            return '';
22
        } elseif ($token->test(Token::T_GLOB)) {
23
            return rawurldecode($token->getValue());
24
        } else {
25
            return $token->getValue();
26
        }
27
    }
28
}
29