类名 common/document/renderer/BaseRenderer.js
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
构造函数
成员变量
方法
事件