/** * Creates a deep clone of an object while customizing how individual values are cloned. * * @param obj - The object to clone. * @param cloneFn - A function that transforms each non-object value during cloning. * @returns A deep copy with values transformed by the custom function. * * @example * // Double all number values in the object * const original = { name: 'John', age: 30, scores: [80, 90] }; * const doubled = deepCloneWith(original, value => * typeof value === 'number' ? value * 2 : value * ); * // { name: 'John', age: 60, scores: [160, 180] } * * @example * // Sanitize strings during cloning * const data = { title: 'Hello