Code Duplication    Length = 12-15 lines in 3 locations

src/SpyClasses/SpyBladeCompiler.php 3 locations

@@ 25-36 (lines=12) @@
22
        return $value;
23
    }
24
25
    public function compileRawEchos($value)
26
    {
27
        $pattern = sprintf('/(@)?%s\s*(.+?)\s*%s(\r?\n)?/s', $this->rawTags[0], $this->rawTags[1]);
28
29
        $callback = function ($matches) {
30
            $whitespace = empty($matches[3]) ? '' : $matches[3];
31
32
            // in order to avoid changing the number of lines after compilation
33
            // we override this method to avoid repeating the whitespace at the end.
34
            return $matches[1] ? substr($matches[0], 1) : "<?php echo {$matches[2]}; ?>{$whitespace}";
35
        };
36
37
        return preg_replace_callback($pattern, $callback, $value);
38
    }
39
@@ 40-54 (lines=15) @@
37
        return preg_replace_callback($pattern, $callback, $value);
38
    }
39
40
    public function compileRegularEchos($value)
41
    {
42
        $pattern = sprintf('/(@)?%s\s*(.+?)\s*%s(\r?\n)?/s', $this->contentTags[0], $this->contentTags[1]);
43
44
        $callback = function ($matches) {
45
            $whitespace = empty($matches[3]) ? '' : $matches[3];
46
47
            $wrapped = sprintf($this->echoFormat, $matches[2]);
48
49
            // in order to avoid changing the number of lines after compilation
50
            // we override this method to avoid repeating the whitespace at the end.
51
            return $matches[1] ? substr($matches[0], 1) : "<?php echo {$wrapped}; ?>{$whitespace}";
52
        };
53
54
        return preg_replace_callback($pattern, $callback, $value);
55
    }
56
57
    public function compileEscapedEchos($value)
@@ 57-69 (lines=13) @@
54
        return preg_replace_callback($pattern, $callback, $value);
55
    }
56
57
    public function compileEscapedEchos($value)
58
    {
59
        $pattern = sprintf('/(@)?%s\s*(.+?)\s*%s(\r?\n)?/s', $this->escapedTags[0], $this->escapedTags[1]);
60
61
        $callback = function ($matches) {
62
            $whitespace = empty($matches[3]) ? '' : $matches[3];
63
64
            // in order to avoid changing the number of lines after compilation
65
            // we override this method to avoid repeating the whitespace at the end.
66
            return $matches[1] ? $matches[0] : "<?php echo e({$matches[2]}); ?>{$whitespace}";
67
        };
68
69
        return preg_replace_callback($pattern, $callback, $value);
70
    }
71
}
72