|   | 
| /* | 
| * 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. | 
| */ | 
|   | 
|   | 
| /** | 
|  * AUTO-GENERATED FILE. DO NOT MODIFY. | 
|  */ | 
|   | 
| /* | 
| * 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. | 
| */ | 
| import { registerPreprocessor, registerProcessor, registerPostInit, registerPostUpdate, registerAction, registerCoordinateSystem, registerLayout, registerVisual, registerTransform, registerLoading, registerMap, registerUpdateLifecycle, PRIORITY } from './core/echarts.js'; | 
| import ComponentView from './view/Component.js'; | 
| import ChartView from './view/Chart.js'; | 
| import ComponentModel from './model/Component.js'; | 
| import SeriesModel from './model/Series.js'; | 
| import { isFunction, indexOf, isArray, each } from 'zrender/lib/core/util.js'; | 
| import { registerImpl } from './core/impl.js'; | 
| import { registerPainter } from 'zrender/lib/zrender.js'; | 
| var extensions = []; | 
| var extensionRegisters = { | 
|   registerPreprocessor: registerPreprocessor, | 
|   registerProcessor: registerProcessor, | 
|   registerPostInit: registerPostInit, | 
|   registerPostUpdate: registerPostUpdate, | 
|   registerUpdateLifecycle: registerUpdateLifecycle, | 
|   registerAction: registerAction, | 
|   registerCoordinateSystem: registerCoordinateSystem, | 
|   registerLayout: registerLayout, | 
|   registerVisual: registerVisual, | 
|   registerTransform: registerTransform, | 
|   registerLoading: registerLoading, | 
|   registerMap: registerMap, | 
|   registerImpl: registerImpl, | 
|   PRIORITY: PRIORITY, | 
|   ComponentModel: ComponentModel, | 
|   ComponentView: ComponentView, | 
|   SeriesModel: SeriesModel, | 
|   ChartView: ChartView, | 
|   // TODO Use ComponentModel and SeriesModel instead of Constructor | 
|   registerComponentModel: function (ComponentModelClass) { | 
|     ComponentModel.registerClass(ComponentModelClass); | 
|   }, | 
|   registerComponentView: function (ComponentViewClass) { | 
|     ComponentView.registerClass(ComponentViewClass); | 
|   }, | 
|   registerSeriesModel: function (SeriesModelClass) { | 
|     SeriesModel.registerClass(SeriesModelClass); | 
|   }, | 
|   registerChartView: function (ChartViewClass) { | 
|     ChartView.registerClass(ChartViewClass); | 
|   }, | 
|   registerSubTypeDefaulter: function (componentType, defaulter) { | 
|     ComponentModel.registerSubTypeDefaulter(componentType, defaulter); | 
|   }, | 
|   registerPainter: function (painterType, PainterCtor) { | 
|     registerPainter(painterType, PainterCtor); | 
|   } | 
| }; | 
| export function use(ext) { | 
|   if (isArray(ext)) { | 
|     // use([ChartLine, ChartBar]); | 
|     each(ext, function (singleExt) { | 
|       use(singleExt); | 
|     }); | 
|     return; | 
|   } | 
|   if (indexOf(extensions, ext) >= 0) { | 
|     return; | 
|   } | 
|   extensions.push(ext); | 
|   if (isFunction(ext)) { | 
|     ext = { | 
|       install: ext | 
|     }; | 
|   } | 
|   ext.install(extensionRegisters); | 
| } |