Files
ui/src/runtime/utils/index.ts
2024-04-12 14:02:23 +02:00

26 lines
660 B
TypeScript

export function pick<Data extends object, Keys extends keyof Data>(data: Data, keys: Keys[]): Pick<Data, Keys> {
const result = {} as Pick<Data, Keys>
for (const key of keys) {
result[key] = data[key]
}
return result
}
export function omit<Data extends object, Keys extends keyof Data>(data: Data, keys: Keys[]): Omit<Data, Keys> {
const result = { ...data }
for (const key of keys) {
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
delete result[key]
}
return result as Omit<Data, Keys>
}
export function looseToNumber(val: any): any {
const n = Number.parseFloat(val)
return Number.isNaN(n) ? val : n
}