UNPKG

428 BJavaScriptView Raw
1'use strict'
2
3function id (e) { return e }
4var prop = require('../util/prop')
5var filter = require('./filter')
6
7//drop items you have already seen.
8module.exports = function unique (field, invert) {
9 field = prop(field) || id
10 var seen = {}
11 return filter(function (data) {
12 var key = field(data)
13 if(seen[key]) return !!invert //false, by default
14 else seen[key] = true
15 return !invert //true by default
16 })
17}
18