/usr/lib/nodejs/unique-stream/index.js is in node-unique-stream 2.2.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | 'use strict';
var filter = require('through2-filter').obj;
var stringify = require("json-stable-stringify");
var ES6Set;
if (typeof global.Set === 'function') {
ES6Set = global.Set;
} else {
ES6Set = function() {
this.keys = [];
this.has = function(val) {
return this.keys.indexOf(val) !== -1;
},
this.add = function(val) {
this.keys.push(val);
}
}
}
function prop(propName) {
return function (data) {
return data[propName];
};
}
module.exports = unique;
function unique(propName, keyStore) {
keyStore = keyStore || new ES6Set();
var keyfn = stringify;
if (typeof propName === 'string') {
keyfn = prop(propName);
} else if (typeof propName === 'function') {
keyfn = propName;
}
return filter(function (data) {
var key = keyfn(data);
if (keyStore.has(key)) {
return false;
}
keyStore.add(key);
return true;
});
}
|