import arrayContainsObject from './arrayContainsObject';
import CoreManager from './CoreManager';
export default function unique<T>(arr: T[]): T[] {
const uniques: T[] = [];
arr.forEach(value => {
const ParseObject = CoreManager.getParseObject();
if (value instanceof ParseObject) {
if (!arrayContainsObject(uniques, value as typeof ParseObject)) {
uniques.push(value);
}
} else {
if (uniques.indexOf(value) < 0) {
uniques.push(value);
}
}
});
return uniques;
}