@paperbits/common
Version:
Paperbits common components.
30 lines (24 loc) • 628 B
text/typescript
/**
* Converts array-like object into actual array.
* @param arrayLikeObject
*/
export function coerce<T>(arrayLikeObject: any): T[] {
return Array.prototype.slice.call(arrayLikeObject);
}
export function remove<T>(array: T[], item: T): void {
const index = array.indexOf(item);
if (index < 0) {
return;
}
array.splice(index, 1);
}
/**
* Removes duplicate values from specified array.
*/
export function distinct<T>(array: T[]): T[] {
const uniq: any = [];
for (const item of array) {
uniq[item] = 0;
}
return <any>Object.keys(uniq);
}