Extend object a with properties of object b, ignoring properties which
are explicitly specified to be excluded.
Parameters
propsToExclude: string[]
Names of properties which should not be copied.
a: any
Object to extend.
b: any
Object to take properties from for extension.
allowDeletion: boolean = false
If true, delete properties in a that are explicitly
set to null in b.
Returns any
Argument a.
Remarks
The properties of b are considered for copying. Properties which are
themselves objects are are also extended. Only properties with defined
values are copied.
Extend object
awith properties of objectb, ignoring properties which are explicitly specified to be excluded.