| Server IP : 34.87.99.72 / Your IP : 216.73.217.31 Web Server : Apache/2.4.46 (Unix) OpenSSL/1.1.1n System : Linux zlock-bitnami-lamp-prod-v2-vm 4.19.0-16-cloud-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 User : bitnami ( 1000) PHP Version : 7.4.18 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /opt/bitnami/apache/htdocs/app/node_modules/collect.js/src/methods/ |
Upload File : |
'use strict';
module.exports = function duplicates() {
const occuredValues = [];
const duplicateValues = {};
const stringifiedValue = (value) => {
if (Array.isArray(value) || typeof value === 'object') {
return JSON.stringify(value);
}
return value;
};
if (Array.isArray(this.items)) {
this.items.forEach((value, index) => {
const valueAsString = stringifiedValue(value);
if (occuredValues.indexOf(valueAsString) === -1) {
occuredValues.push(valueAsString);
} else {
duplicateValues[index] = value;
}
});
} else if (typeof this.items === 'object') {
Object.keys(this.items).forEach((key) => {
const valueAsString = stringifiedValue(this.items[key]);
if (occuredValues.indexOf(valueAsString) === -1) {
occuredValues.push(valueAsString);
} else {
duplicateValues[key] = this.items[key];
}
});
}
return new this.constructor(duplicateValues);
};