Code Duplication    Length = 19-19 lines in 3 locations

source/Spiral/Database/Builders/Prototypes/AbstractSelect.php 1 location

@@ 418-436 (lines=19) @@
415
     *
416
     * @return \Closure
417
     */
418
    private function havingWrapper()
419
    {
420
        return function ($parameter) {
421
            if ($parameter instanceof FragmentInterface) {
422
                //We are only not creating bindings for plan fragments
423
                if (!$parameter instanceof ParameterInterface && !$parameter instanceof QueryBuilder) {
424
                    return $parameter;
425
                }
426
            }
427
428
            //Wrapping all values with ParameterInterface
429
            $parameter = new Parameter($parameter, Parameter::DETECT_TYPE);;
430
431
            //Let's store to sent to driver when needed
432
            $this->havingParameters[] = $parameter;
433
434
            return $parameter;
435
        };
436
    }
437
}

source/Spiral/Database/Builders/Prototypes/AbstractWhere.php 1 location

@@ 345-363 (lines=19) @@
342
     *
343
     * @return \Closure
344
     */
345
    private function whereWrapper()
346
    {
347
        return function ($parameter) {
348
            if ($parameter instanceof FragmentInterface) {
349
                //We are only not creating bindings for plan fragments
350
                if (!$parameter instanceof ParameterInterface && !$parameter instanceof QueryBuilder) {
351
                    return $parameter;
352
                }
353
            }
354
355
            //Wrapping all values with ParameterInterface
356
            $parameter = new Parameter($parameter, Parameter::DETECT_TYPE);;
357
358
            //Let's store to sent to driver when needed
359
            $this->whereParameters[] = $parameter;
360
361
            return $parameter;
362
        };
363
    }
364
}

source/Spiral/Database/Builders/Traits/JoinsTrait.php 1 location

@@ 335-353 (lines=19) @@
332
     *
333
     * @return \Closure
334
     */
335
    private function whereWrapper()
336
    {
337
        return function ($parameter) {
338
            if ($parameter instanceof FragmentInterface) {
339
                //We are only not creating bindings for plan fragments
340
                if (!$parameter instanceof ParameterInterface && !$parameter instanceof QueryBuilder) {
341
                    return $parameter;
342
                }
343
            }
344
345
            //Wrapping all values with ParameterInterface
346
            $parameter = new Parameter($parameter, Parameter::DETECT_TYPE);;
347
348
            //Let's store to sent to driver when needed
349
            $this->onParameters[] = $parameter;
350
351
            return $parameter;
352
        };
353
    }
354
}