another big refactor

This commit is contained in:
2022-12-19 21:06:23 +01:00
parent 3cb1811dcb
commit a6ed7818da
45 changed files with 85 additions and 95 deletions

24
src/lib/ObjMerge.hx Normal file
View File

@@ -0,0 +1,24 @@
package lib;
class ObjMerge {
public static function merge<T>(obj1:T, obj2:T): T {
if (obj1 == null) {
return obj2;
}
if (obj2 == null) {
return obj1;
}
var rtn:T = Reflect.copy(obj1);
var fields = Reflect.fields(obj2);
for (field in fields) {
if (Reflect.getProperty(obj1, field) == null) {
Reflect.setProperty(rtn, field, Reflect.getProperty(obj2, field));
}
}
return (rtn:T);
}
}