one
Version:
One is a new React Framework that makes Vite serve both native and web.
17 lines (13 loc) • 386 B
text/typescript
type RemoveUndefined<T> = {
[K in keyof T]: T[K] extends undefined ? never : T[K]
}
export function removeUndefined<T extends object>(obj: T): RemoveUndefined<T> {
const result = {} as RemoveUndefined<T>
for (const key in obj) {
if (obj[key] !== undefined) {
// @ts-expect-error
result[key] = obj[key] as RemoveUndefined<T>[keyof T]
}
}
return result
}