Completed
Push — master ( 7cb640...ba6ef7 )
by greg
01:21
created

sort.js ➔ byDateAsc   B

Complexity

Conditions 7
Paths 3

Size

Total Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 7
c 1
b 0
f 0
nc 3
nop 2
dl 0
loc 10
rs 8.2222
1
/**
2
 * sort an array of objects by date attribute
3
 *
4
 * Example : [{date: {abe_meta: {publish: {latest: date}}}}, {date: {abe_meta: {publish: {latest: date}}}}].sort(cmsData.sort.byDateDesc)
5
 * 
6
 * @param  {Object} a object with date attribute
7
 * @param  {Object} b object with date attribute
8
 * @return {Int}   1 | 0 | -1
9
 */
10
export function byDateDesc(a, b) {
11
  var dateA = (a.abe_meta.publish != null && a.abe_meta.publish.latest != null) ? new Date(a.abe_meta.publish.latest.date) : 0
12
  var dateB = (b.abe_meta.publish != null && b.abe_meta.publish.latest) ? new Date(b.abe_meta.publish.latest.date) : 0
13
  if(dateA < dateB) {
14
    return 1
15
  }else if(dateA > dateB) {
16
    return -1
17
  }
18
  return 0
19
}
20
/**
21
 * sort an array of objects by date attribute
22
 *
23
 * Example : [{date: {abe_meta: {publish: {latest: date}}}}, {date: {abe_meta: {publish: {latest: date}}}}].sort(cmsData.sort.byDateAsc)
24
 * 
25
 * @param  {Object} a object with date attribute
26
 * @param  {Object} b object with date attribute
27
 * @return {Int}   1 | 0 | -1
28
 */
29
export function byDateAsc(a, b) {
30
  var dateA = (a.abe_meta.publish != null && a.abe_meta.publish.latest != null) ? new Date(a.abe_meta.publish.latest.date) : 0
31
  var dateB = (b.abe_meta.publish != null && b.abe_meta.publish.latest) ? new Date(b.abe_meta.publish.latest.date) : 0
32
  if(dateA > dateB) {
33
    return 1
34
  }else if(dateA < dateB) {
35
    return -1
36
  }
37
  return 0
38
}