Code Duplication    Length = 14-16 lines in 4 locations

src/Collection/Taxonomy/Term.php 1 location

@@ 24-39 (lines=16) @@
21
     *
22
     * @return self
23
     */
24
    public function sortByDate(): self
25
    {
26
        return $this->usort(function ($a, $b) {
27
            if (!isset($a['date'])) {
28
                return -1;
29
            }
30
            if (!isset($b['date'])) {
31
                return 1;
32
            }
33
            if ($a['date'] == $b['date']) {
34
                return 0;
35
            }
36
37
            return ($a['date'] > $b['date']) ? -1 : 1;
38
        });
39
    }
40
}
41

src/Util.php 1 location

@@ 74-87 (lines=14) @@
71
     *
72
     * @return int
73
     */
74
    public static function sortByDate($a, $b)
75
    {
76
        if (!isset($a['date'])) {
77
            return -1;
78
        }
79
        if (!isset($b['date'])) {
80
            return 1;
81
        }
82
        if ($a['date'] == $b['date']) {
83
            return 0;
84
        }
85
86
        return ($a['date'] > $b['date']) ? -1 : 1;
87
    }
88
89
    /**
90
     * Checks if a date is valid.

src/Collection/Page/Collection.php 2 locations

@@ 37-52 (lines=16) @@
34
     *
35
     * @return self
36
     */
37
    public function sortByDate(): self
38
    {
39
        return $this->usort(function ($a, $b) {
40
            if (!isset($a['date'])) {
41
                return -1;
42
            }
43
            if (!isset($b['date'])) {
44
                return 1;
45
            }
46
            if ($a['date'] == $b['date']) {
47
                return 0;
48
            }
49
50
            return ($a['date'] > $b['date']) ? -1 : 1;
51
        });
52
    }
53
54
    /**
55
     * Sort items by title (natural sort).
@@ 71-86 (lines=16) @@
68
     *
69
     * @return self
70
     */
71
    public function sortByWeight(): self
72
    {
73
        return $this->usort(function ($a, $b) {
74
            if (!isset($a['weight'])) {
75
                return -1;
76
            }
77
            if (!isset($b['weight'])) {
78
                return 1;
79
            }
80
            if ($a['weight'] == $b['weight']) {
81
                return 0;
82
            }
83
84
            return ($a['weight'] > $b['weight']) ? -1 : 1;
85
        });
86
    }
87
}
88