let testSize = 1000;
let checkSuccess = true;
let printOrig = false;
let printNew = false;
let printNewer = false;
let outputOrig = [];
let outputNew = [];
let outputNewer = [];
function originalPredicate(data, filter) {
const dataStr = Object.keys(data).reduce((currentTerm, key) => {
return currentTerm + data[key] + '◬';
}, '').toLowerCase();
const transformedFilter = filter.trim().toLowerCase();
return dataStr.indexOf(transformedFilter) != -1;
}
function newPredicate(data, filter) {
const transformedFilter = filter.trim().toLowerCase();
return Object.keys(data).some(
(key)=>data[key].toLowerCase().includes(transformedFilter)
);
}
function newerPredicate(data, filter) {
const transformedFilter = filter.trim().toLowerCase();
for (val of Object.values(data)) {
if (val.toLowerCase().includes(transformedFilter)) {
return true;
}
}
return false;
}
function generateUUID() {
var d = new Date().getTime();
var d2 = ((typeof performance !== 'undefined') && performance.now && (performance.now()*1000)) || 0;
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random() * 16;
if(d > 0){
r = (d + r)%16 | 0;
d = Math.floor(d/16);
} else {
r = (d2 + r)%16 | 0;
d2 = Math.floor(d2/16);
}
return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
});
}
let searchList = {}
let checkList = []
let badList = []
for (let i = testSize; i > 0; i--) {
let val = generateUUID();
searchList[i] = val;
checkList.push(val);
}
for (let i = testSize; i > 0; i--) {
let val = generateUUID();
badList.push(val);
}