Small perf improvement in fromObject

This commit is contained in:
Hristo Hristov
2018-01-11 13:49:52 +02:00
parent 1e690a7b83
commit 8a428b011a

View File

@@ -215,22 +215,19 @@ function defineNewProperty(target: ObservableFromObject, propertyName: string):
}
function addPropertiesFromObject(observable: ObservableFromObject, source: any, recursive: boolean = false) {
let isRecursive = recursive;
for (let prop in source) {
if (source.hasOwnProperty(prop)) {
let value = source[prop];
if (isRecursive
&& !Array.isArray(value)
&& value
&& typeof value === 'object'
&& !(value instanceof Observable)) {
value = fromObjectRecursive(value);
}
defineNewProperty(observable, prop);
observable.set(prop, value);
Object.keys(source).forEach(prop => {
let value = source[prop];
if (recursive
&& !Array.isArray(value)
&& value
&& typeof value === 'object'
&& !(value instanceof Observable)) {
value = fromObjectRecursive(value);
}
}
defineNewProperty(observable, prop);
observable.set(prop, value);
});
}
export function fromObject(source: any): Observable {