The following code may lead to unexpected results as obj is tested to not be falsy.
let targetSource = false;
for(const obj of [ _mode, _targetSource ])
if(obj && obj.constructor === Boolean)
targetSource = obj as boolean;
let estimatedSize = -1;
for(const obj of [ _mode, _targetSource, _estimatedSize ])
if(obj && obj.constructor === Number)
estimatedSize = obj as number;