import { O } from "./types/O.js"; export const splitObject = ( object: TObject, secondObjectKeys: string[], ): [Partial, Partial] => { const initialValue = [object, {}] as [Partial, Partial]; const newObject = secondObjectKeys.reduce((previous, key) => { const [primary, secondary] = previous; const newPrimary = { ...primary, [key]: undefined, }; delete newPrimary[key]; const newSecondary = { ...secondary, [key]: primary[key], }; return [newPrimary, newSecondary] as [Partial, Partial]; }, initialValue); return newObject; };