Code Duplication    Length = 25-25 lines in 2 locations

src/Renderer/Twig/Extension.php 2 locations

@@ 156-180 (lines=25) @@
153
     *
154
     * @return mixed
155
     */
156
    public function sortByWeight($array)
157
    {
158
        $callback = function ($a, $b) {
159
            if (!isset($a['weight'])) {
160
                return 1;
161
            }
162
            if (!isset($b['weight'])) {
163
                return -1;
164
            }
165
            if ($a['weight'] == $b['weight']) {
166
                return 0;
167
            }
168
169
            return ($a['weight'] < $b['weight']) ? -1 : 1;
170
        };
171
172
        if ($array instanceof Collection) {
173
            $array = $array->toArray();
174
        }
175
        if (is_array($array)) {
176
            usort($array, $callback);
177
        }
178
179
        return $array;
180
    }
181
182
    /**
183
     * Sort by date.
@@ 189-213 (lines=25) @@
186
     *
187
     * @return mixed
188
     */
189
    public function sortByDate($array)
190
    {
191
        $callback = function ($a, $b) {
192
            if (!isset($a['date'])) {
193
                return -1;
194
            }
195
            if (!isset($b['date'])) {
196
                return 1;
197
            }
198
            if ($a['date'] == $b['date']) {
199
                return 0;
200
            }
201
202
            return ($a['date'] > $b['date']) ? -1 : 1;
203
        };
204
205
        if ($array instanceof Collection) {
206
            $array = $array->toArray();
207
        }
208
        if (is_array($array)) {
209
            usort($array, $callback);
210
        }
211
212
        return $array;
213
    }
214
215
    /**
216
     * Create an URL.