19 lines
No EOL
549 B
TypeScript
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
|
|
} |