(first, second)
| 313 | * @returns {T & O | T | O} merged object of first and second object |
| 314 | */ |
| 315 | const cleverMerge = (first, second) => { |
| 316 | if (second === undefined) return first; |
| 317 | if (first === undefined) return second; |
| 318 | if (typeof second !== "object" || second === null) return second; |
| 319 | if (typeof first !== "object" || first === null) return first; |
| 320 | |
| 321 | return /** @type {T & O} */ (_cleverMerge(first, second, false)); |
| 322 | }; |
| 323 | |
| 324 | /** |
| 325 | * Returns merged object of first and second object. |
no test coverage detected