rambdax
Version:
Extended version of Rambda - a lightweight, faster alternative to Ramda
24 lines (21 loc) • 492 B
text/typescript
import {At} from '../Object/At'
import {Overwrite} from '../Object/Overwrite'
import {ComputeRaw} from '../Any/Compute'
import {IntersectOf} from './IntersectOf'
import {Strict} from './Strict'
/**
@hidden
*/
type _Merge<U extends object> = IntersectOf<Overwrite<U, {
[K in keyof U]-?: At<U, K>
}>>
/**
Merge a [[Union]] of [[Object]]s into a single one
@param U to merge
@returns [[Object]]
@example
```ts
```
*/
export type Merge<U extends object> =
ComputeRaw<_Merge<Strict<U>>>