mirror of
https://github.com/ueberdosis/tiptap.git
synced 2024-12-23 08:47:50 +08:00
e07a5b625d
* use named exports instead of default exports * fix tests Co-authored-by: Philipp Kühn <philippkuehn@MacBook-Pro-von-Philipp.local>
16 lines
374 B
TypeScript
16 lines
374 B
TypeScript
/**
|
|
* Removes duplicated values within an array.
|
|
* Supports numbers, strings and objects.
|
|
*/
|
|
export function removeDuplicates<T>(array: T[], by = JSON.stringify): T[] {
|
|
const seen: Record<any, any> = {}
|
|
|
|
return array.filter(item => {
|
|
const key = by(item)
|
|
|
|
return Object.prototype.hasOwnProperty.call(seen, key)
|
|
? false
|
|
: (seen[key] = true)
|
|
})
|
|
}
|