| /* | 
 | * Licensed to the Apache Software Foundation (ASF) under one | 
 | * or more contributor license agreements.  See the NOTICE file | 
 | * distributed with this work for additional information | 
 | * regarding copyright ownership.  The ASF licenses this file | 
 | * to you under the Apache License, Version 2.0 (the | 
 | * "License"); you may not use this file except in compliance | 
 | * with the License.  You may obtain a copy of the License at | 
 | * | 
 | *   http://www.apache.org/licenses/LICENSE-2.0 | 
 | * | 
 | * Unless required by applicable law or agreed to in writing, | 
 | * software distributed under the License is distributed on an | 
 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | 
 | * KIND, either express or implied.  See the License for the | 
 | * specific language governing permissions and limitations | 
 | * under the License. | 
 | */ | 
 |  | 
 | // These APIs are for more advanced usages | 
 | // For example extend charts and components, creating graphic elements, formatting. | 
 | import ComponentModel, { ComponentModelConstructor } from '../model/Component'; | 
 | import ComponentView, { ComponentViewConstructor } from '../view/Component'; | 
 | import SeriesModel, { SeriesModelConstructor } from '../model/Series'; | 
 | import ChartView, { ChartViewConstructor } from '../view/Chart'; | 
 |  | 
 | import SeriesData from '../data/SeriesData'; | 
 |  | 
 | // Provide utilities API in echarts. It will be in echarts namespace. | 
 | // Like echarts.util, echarts.graphic | 
 | export * as zrender from 'zrender/src/zrender'; | 
 |  | 
 | export * as matrix from 'zrender/src/core/matrix'; | 
 | export * as vector from 'zrender/src/core/vector'; | 
 | export * as zrUtil from 'zrender/src/core/util'; | 
 | export * as color from 'zrender/src/tool/color'; | 
 | export {throttle} from '../util/throttle'; | 
 | export * as helper from './api/helper'; | 
 |  | 
 | export {use} from '../extension'; | 
 |  | 
 | export {setPlatformAPI} from 'zrender/src/core/platform'; | 
 |  | 
 | // --------------------- Helper Methods --------------------- | 
 | export {default as parseGeoJSON} from '../coord/geo/parseGeoJson'; | 
 | export {default as parseGeoJson} from '../coord/geo/parseGeoJson'; | 
 |  | 
 | export * as number from './api/number'; | 
 | export * as time from './api/time'; | 
 | export * as graphic from './api/graphic'; | 
 |  | 
 | export * as format from './api/format'; | 
 |  | 
 | export * as util from './api/util'; | 
 |  | 
 | export {default as env} from 'zrender/src/core/env'; | 
 |  | 
 | // --------------------- Export for Extension Usage --------------------- | 
 | // export {SeriesData}; | 
 | export {SeriesData as List};    // TODO: Compatitable with exists echarts-gl code | 
 | export {default as Model} from '../model/Model'; | 
 | export {default as Axis} from '../coord/Axis'; | 
 |  | 
 | export { | 
 |     ComponentModel, | 
 |     ComponentView, | 
 |     SeriesModel, | 
 |     ChartView | 
 | }; | 
 |  | 
 | // Only for GL | 
 | export {brushSingle as innerDrawElementOnCanvas} from 'zrender/src/canvas/graphic'; | 
 |  | 
 |  | 
 | // --------------------- Deprecated Extension Methods --------------------- | 
 |  | 
 | // Should use `ComponentModel.extend` or `class XXXX extend ComponentModel` to create class. | 
 | // Then use `registerComponentModel` in `install` parameter when `use` this extension. For example: | 
 | // class Bar3DModel extends ComponentModel {} | 
 | // export function install(registers) { registers.registerComponentModel(Bar3DModel); } | 
 | // echarts.use(install); | 
 | export function extendComponentModel(proto: object): ComponentModel { | 
 |     const Model = (ComponentModel as ComponentModelConstructor).extend(proto) as any; | 
 |     ComponentModel.registerClass(Model); | 
 |     return Model; | 
 | } | 
 |  | 
 | export function extendComponentView(proto: object): ChartView { | 
 |     const View = (ComponentView as ComponentViewConstructor).extend(proto) as any; | 
 |     ComponentView.registerClass(View); | 
 |     return View; | 
 | } | 
 |  | 
 | export function extendSeriesModel(proto: object): SeriesModel { | 
 |     const Model = (SeriesModel as SeriesModelConstructor).extend(proto) as any; | 
 |     SeriesModel.registerClass(Model); | 
 |     return Model; | 
 | } | 
 |  | 
 | export function extendChartView(proto: object): ChartView { | 
 |     const View = (ChartView as ChartViewConstructor).extend(proto) as any; | 
 |     ChartView.registerClass(View); | 
 |     return View; | 
 | } |