Home Reference Source Test

packages/causality-sampling/src/sampling.mixins.js

import { Functor } from 'causal-net.core';
import { assert } from 'causal-net.utils';
/**
 * This mixin class provide attributes: **Sampling**.
 * @class SamplingMixins
 * @extends BaseClass
 * @example
 * [EXAMPLE ../examples/sampling.mixins.babel.js]
 */
const SamplingMixins = (BaseClass)=> class extends BaseClass{
    /**
     * get current random instance
     */
    get Sampling(){
        if(!this.sampling){
            throw Error(`Sampling is not set`);
        }
        return this.sampling;
    }
    
    /**
     * set Sampling instance
     * @readonly
     */
    set Sampling(sampling){
        assert.beInstanceOf(sampling, Functor);
        this.sampling = sampling;
    }
};

export default SamplingMixins;