Code Duplication    Length = 3-5 lines in 5 locations

src/Query/LaravelExpressionProvider.php 5 locations

@@ 52-56 (lines=5) @@
49
50
    public function __construct()
51
    {
52
        $this->functionDescriptionParsers[ODataConstants::STRFUN_COMPARE] = function ($params) {
53
            return $this->checkEmptyString($params)
54
                ? 'true'
55
                : 'strcmp(' . $params[0] . ', ' . $params[1] . ')';
56
        };
57
        $this->functionDescriptionParsers[ODataConstants::STRFUN_ENDSWITH] = function ($params) {
58
            if ($this->checkEmptyString($params) || $this->checkBlankString($params, [1])) {
59
                return 'true';
@@ 69-71 (lines=3) @@
66
                ? 'true'
67
                : 'strpos(' . $params[0] . ', ' . $params[1] . ')';
68
        };
69
        $this->functionDescriptionParsers[ODataConstants::STRFUN_REPLACE] = function ($params) {
70
            return 'str_replace(' . $params[1] . ', ' . $params[2] . ', ' . $params[0] . ')';
71
        };
72
        $this->functionDescriptionParsers[ODataConstants::STRFUN_STARTSWITH] = function ($params) {
73
            return $this->checkEmptyString($params) || $this->checkBlankString($params, [1])
74
                ? 'true'
@@ 115-117 (lines=3) @@
112
                ? 'true'
113
                : 'strlen(' . $params[0] . ')';
114
        };
115
        $this->functionDescriptionParsers[ODataConstants::GUIDFUN_EQUAL] = function ($params) {
116
            return self::TYPE_NAMESPACE . 'Guid::guidEqual(' . $params[0] . ', ' . $params[1] . ')';
117
        };
118
        $this->functionDescriptionParsers[ODataConstants::DATETIME_COMPARE] = function ($params) {
119
            return $this->checkEmptyString($params)
120
                ? 'true'
@@ 118-122 (lines=5) @@
115
        $this->functionDescriptionParsers[ODataConstants::GUIDFUN_EQUAL] = function ($params) {
116
            return self::TYPE_NAMESPACE . 'Guid::guidEqual(' . $params[0] . ', ' . $params[1] . ')';
117
        };
118
        $this->functionDescriptionParsers[ODataConstants::DATETIME_COMPARE] = function ($params) {
119
            return $this->checkEmptyString($params)
120
                ? 'true'
121
                : self::TYPE_NAMESPACE . 'DateTime::dateTimeCmp(' . $params[0] . ', ' . $params[1] . ')';
122
        };
123
        $this->functionDescriptionParsers[ODataConstants::DATETIME_YEAR] = function ($params) {
124
            return $this->checkEmptyString($params)
125
                ? 'true'
@@ 168-170 (lines=3) @@
165
                ? 'true'
166
                : 'floor(' . $params[0] . ')';
167
        };
168
        $this->functionDescriptionParsers[ODataConstants::BINFUL_EQUAL] = function ($params) {
169
            return self::TYPE_NAMESPACE . 'Binary::binaryEqual(' . $params[0] . ', ' . $params[1] . ')';
170
        };
171
        $this->functionDescriptionParsers['is_null'] = function ($params) {
172
            return $this->checkEmptyString($params)
173
                ? 'true'