// JSX
var obj = null:Map.<variant>;
obj = Mixin.mixin({}:Map.<variant>, { a: 123 }:Map.<variant>);
// JSX
// ----------------------------------------------
class Mixin {
static function mixin(base:variant,
user:variant):variant {
var constructorFunction = (Object as variant)["constructor"]; // Object.constructor function
for (var key in user as Map.<variant>) {
var value = user[key];
if (constructorFunction == (value as variant)["constructor"]) {
Mixin.mixin(base[key], value);
} else {
base[key] = value;
}
}
return base;
}
}