/** * Lycabinet Mixin. */ export function InitMixin(Lycabinet){ Lycabinet.prototype._mixins = []; // Shared by instances. Lycabinet.mixin = function (mixinFunc) { Lycabinet.prototype._mixins.push(mixinFunc); return this; }; Lycabinet.prototype.__install = function(...options){ options.unshift(this); Lycabinet.prototype._mixins.forEach(func => { func.apply(func, options); }); }; }