objection
Version:
An SQL-friendly ORM for Node.js
26 lines (19 loc) • 413 B
JavaScript
;
const { flatten } = require('./objectUtils');
function mixin() {
const args = flatten(arguments);
const mixins = args.slice(1);
return mixins.reduce((Class, mixinFunc) => {
return mixinFunc(Class);
}, args[0]);
}
function compose() {
const mixins = flatten(arguments);
return function (Class) {
return mixin(Class, mixins);
};
}
module.exports = {
compose,
mixin,
};