Home Reference Source Test

packages/causality-log/src/logger.mixins.js

import {default as BaseLogger } from './baseLogger';
import { assert } from 'causal-net.utils';
/**
 * This LoggerMixins class provides mixins for accquiring logger
 * @class LoggerMixins
 * @extends BaseClass
 * @example
 * [EXAMPLE ../examples/logger.mixins.babel.js]
 */
const LoggerMixins = (BaseClass)=> class extends BaseClass{
    
    set Logger(logger){
        assert.beInstanceOf(logger, BaseLogger);
        this.logger = logger;
    }
    
    get Logger(){
        if(!this.logger){
            throw Error('logger is not set');
        }
        return this.logger;
    }
};

export default LoggerMixins;