level-up/shared/util.ts
2025-04-11 21:03:18 +02:00

19 lines
No EOL
549 B
TypeScript

export type IdMap<T extends { id: string }> = Map<T["id"], T>
export const cSet = <T>(...values: T[]) => new Set(values)
export const cMap = <K extends string, V>(object: Record<K, V>): Map<K, V> => {
const result = new Map<K, V>();
for (const key in object) {
result.set(key, object[key])
}
return result
}
export const cIdMap = <K extends string, V extends { id: K }>(...values: V[]) => {
const result = new Map<K, V>();
for (const value of values) {
result.set(value.id, value)
}
return result
}