import { TStore } from './TStore' /** * @class * @classdesc The abstract class to create factory * @abstract * @extends TStore * * @author [Tristan Valcke]{@link https://github.com/Itee} * @license [BSD-3-Clause]{@link https://opensource.org/licenses/BSD-3-Clause} */ class TAbstractFactory extends TStore { /** * @constructor * @param parameters */ constructor ( parameters = {} ) { const _parameters = { ...{}, ...parameters } super( _parameters ) } /** * The create factory method. It allow to automate Class creation by constructor key, and parameters to pass for initialized the instance. * @abstract * @param {*} key * @param parameters */ // eslint-disable-next-line no-unused-vars create ( key, ...parameters ) { // Need to be reimplemented } } export { TAbstractFactory }