Code Duplication    Length = 14-16 lines in 4 locations

src/Collection/Page/Collection.php 2 locations

@@ 23-38 (lines=16) @@
20
     *
21
     * @return self
22
     */
23
    public function sortByDate(): self
24
    {
25
        return $this->usort(function ($a, $b) {
26
            if (!isset($a['date'])) {
27
                return -1;
28
            }
29
            if (!isset($b['date'])) {
30
                return 1;
31
            }
32
            if ($a['date'] == $b['date']) {
33
                return 0;
34
            }
35
36
            return ($a['date'] > $b['date']) ? -1 : 1;
37
        });
38
    }
39
40
    /**
41
     * Sort items by title (natural sort).
@@ 57-72 (lines=16) @@
54
     *
55
     * @return self
56
     */
57
    public function sortByWeight(): self
58
    {
59
        return $this->usort(function ($a, $b) {
60
            if (!isset($a['weight'])) {
61
                return -1;
62
            }
63
            if (!isset($b['weight'])) {
64
                return 1;
65
            }
66
            if ($a['weight'] == $b['weight']) {
67
                return 0;
68
            }
69
70
            return ($a['weight'] > $b['weight']) ? -1 : 1;
71
        });
72
    }
73
}
74

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.