Sha256: fffd2ae3b1127d948532909920fc23844614556d99fe40501d5fbddda6939baa

Contents?: true

Size: 910 Bytes

Versions: 113

Compression:

Stored size: 910 Bytes

Contents

"use strict"

function unique_pred(list, compare) {
  var ptr = 1
    , len = list.length
    , a=list[0], b=list[0]
  for(var i=1; i<len; ++i) {
    b = a
    a = list[i]
    if(compare(a, b)) {
      if(i === ptr) {
        ptr++
        continue
      }
      list[ptr++] = a
    }
  }
  list.length = ptr
  return list
}

function unique_eq(list) {
  var ptr = 1
    , len = list.length
    , a=list[0], b = list[0]
  for(var i=1; i<len; ++i, b=a) {
    b = a
    a = list[i]
    if(a !== b) {
      if(i === ptr) {
        ptr++
        continue
      }
      list[ptr++] = a
    }
  }
  list.length = ptr
  return list
}

function unique(list, compare, sorted) {
  if(list.length === 0) {
    return list
  }
  if(compare) {
    if(!sorted) {
      list.sort(compare)
    }
    return unique_pred(list, compare)
  }
  if(!sorted) {
    list.sort()
  }
  return unique_eq(list)
}

module.exports = unique

Version data entries

113 entries across 112 versions & 15 rubygems

Version Path
boring_generators-0.15.0 tmp/templates/app_template/node_modules/uniq/uniq.js
boring_generators-0.14.0 tmp/templates/app_template/node_modules/uniq/uniq.js
optimacms-0.1.61 spec/dummy/node_modules/uniq/uniq.js
boring_generators-0.13.0 tmp/templates/app_template/node_modules/uniq/uniq.js
boring_generators-0.12.0 tmp/templates/app_template/node_modules/uniq/uniq.js
disco_app-0.18.0 test/dummy/node_modules/uniq/uniq.js
disco_app-0.18.2 test/dummy/node_modules/uniq/uniq.js
trusty-cms-5.0.7 node_modules/uniq/uniq.js
trusty-cms-5.0.6 node_modules/uniq/uniq.js
trusty-cms-5.0.5 node_modules/uniq/uniq.js
trusty-cms-5.0.4 node_modules/uniq/uniq.js
disco_app-0.16.1 test/dummy/node_modules/uniq/uniq.js
disco_app-0.15.2 test/dummy/node_modules/uniq/uniq.js
trusty-cms-5.0.3 node_modules/uniq/uniq.js
trusty-cms-5.0.2 node_modules/uniq/uniq.js
disco_app-0.18.4 test/dummy/node_modules/uniq/uniq.js
disco_app-0.18.1 test/dummy/node_modules/uniq/uniq.js
disco_app-0.12.7.pre.puma.pre.3 test/dummy/node_modules/uniq/uniq.js
disco_app-0.14.0 test/dummy/node_modules/uniq/uniq.js
disco_app-0.13.6.pre.puma.pre.3 test/dummy/node_modules/uniq/uniq.js