/** * Creates a new object with only the specified keys. * * @example * const obj = { a: 1, b: 2, c: 3 }; * pick(obj, ['a', 'c']); // { a: 1, c: 3 } */ export function pick, K extends keyof T>(obj: T, keys: readonly K[]): Pick { const result = {} as Pick; for (const key of keys) { if (Object.hasOwn(obj, key)) { result[key] = obj[key]; } } return result; }