ziko
Version:
a versatile javaScript framework offering a rich set of UI components, advanced mathematical utilities, reactivity, animations, client side routing and graphics capabilities
12 lines (11 loc) • 451 B
JavaScript
import { composeClass } from "./compose-class.js";
import { composeInstance } from "./compose-instance.js";
export function compose(target, ...mixin) {
if (typeof target === 'function') {
return mixin.forEach(item =>composeClass(target, item));
} else if (typeof target === 'object') {
mixin.forEach(item =>composeInstance(target, item));
} else {
throw new TypeError("compose: target must be a class or instance");
}
}