UNPKG

@fusioncharts/fusiontime

Version:

FusionCharts JavaScript time-series charting framework

1 lines 2.02 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=true;exports.default=void 0;var _mergeRight=_interopRequireDefault(require("ramda/es/mergeRight"));var _all=_interopRequireDefault(require("ramda/es/all"));var _isObject=_interopRequireDefault(require("@fusioncharts/utils/src/type/is-object"));var _isArray=_interopRequireDefault(require("@fusioncharts/utils/src/type/is-array"));var _isNumber=_interopRequireDefault(require("@fusioncharts/utils/src/type/is-number"));var isValidIndex=function isValidIndex(arr,idx){return idx>=0&&idx<arr.length},isValidNumber=function isValidNumber(arr,num){return(0,_isNumber.default)(num)&&isValidIndex(arr,num)},isValidObject=function isValidObject(arr,obj){return(0,_isObject.default)(obj)&&isValidNumber(arr,+obj.index)},isValidAxis=function isValidAxis(arr,a){return isValidNumber(arr,+a)||isValidObject(arr,a)},expand=function expand(a){return(0,_isObject.default)(a)?(0,_mergeRight.default)(a,{index:+a.index}):{index:+a}},toPanelConfig=function toPanelConfig(a){return(0,_mergeRight.default)(a,{x:(0,_isArray.default)(a.x)?a.x.map(expand):[expand(a.x)],y:(0,_isArray.default)(a.y)?a.y.map(expand):[expand(a.y)]})},validate=function validate(arr,config){return(0,_isArray.default)(config)?(0,_all.default)((function(x){return isValidAxis(arr,x)}),config):isValidAxis(arr,config)};var _default=exports.default=function _default(xs,ys,panels,defaultCanvases){if(xs===void 0){xs=[]}if(ys===void 0){ys=[]}if(panels===void 0){panels=[]}var isValidPanelObject=function isValidPanelObject(panel){return(0,_isObject.default)(panel)&&validate(xs,panel.x)&&validate(ys,panel.y)},getValidPanels=function getValidPanels(configs){if((0,_isArray.default)(configs)&&configs.length>0){return configs.filter(isValidPanelObject).map(toPanelConfig)}else if(isValidPanelObject(configs)){return[toPanelConfig(configs)]}return[]},panelConfigs=getValidPanels(panels);return panelConfigs.length?panelConfigs:defaultCanvases(xs,ys)};