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