import { createRender } from './index'
import { Evented } from '../../base'
/**
* 专题图渲染基类
* @class BaseRenderer
* @moduleEX RendererModule
* @param {Object} options 初始化参数
* @see [<h4>目前支持的几种渲染器</h4>]{@tutorial 渲染器}
*/
class BaseRenderer extends Evented {
constructor() {
super()
/**
* @member {String} ClassBreakRenderer.prototype.type
*/
this.type = ''
}
/**
* @function BaseRenderer.prototype.toJSON
* @description 将JS对象转换为JSON格式
* @returns {Object} 渲染规则的实例化JSON
*/
toJSON() {
return {
type: this.type
}
}
/**
* 克隆renderer对象
* @return {BaseRenderer} 克隆后的renderer对象
*/
clone() {
return new BaseRenderer(this.toJSON())
}
}
/**
* @function BaseRenderer.prototype.fromJSON
* @description 将JSON格式的渲染规则转换为JS对象
* @param {Object} json 渲染规则的实例化JSON
*/
BaseRenderer.fromJSON = function (json) {
return createRender(json)
}
export default BaseRenderer