@fusioncharts/features
Version:
FusionCharts JavaScript charting framework
1 lines • 1.15 kB
JavaScript
;exports.__esModule=true;exports.default=void 0;var _lib=require("@fusioncharts/core/src/lib");var IGNORABALE_PROPS=["series","styledefinition"];function recurseObject(obj,willIgnore){if(willIgnore===void 0){willIgnore=false}var type=typeof obj;if(type==="string"||type==="number"||type==="function"||type==="boolean"){return obj}if(obj===null||obj===_lib.UNDEF){return obj}if(Array.isArray(obj)){var arr=[];for(var i=0;i<obj.length;i++){arr.push(recurseObject(obj[i]))}return arr}if(typeof obj==="object"){var clonedObj={};for(var prop in obj){var lowerCaseProp=willIgnore?prop:prop.toLowerCase();if(lowerCaseProp==="data"){if(obj[prop]&&obj[prop]._dataStore){clonedObj[lowerCaseProp]=obj[prop]}else{clonedObj[lowerCaseProp]=recurseObject(obj[prop])}continue}clonedObj[lowerCaseProp]=recurseObject(obj[prop],IGNORABALE_PROPS.includes(lowerCaseProp))}return clonedObj}}function ignoreCaseExt(FusionCharts){FusionCharts.addEventListener("beforedataupdate",(function(event,args){args.data=recurseObject(args.data)}))}var _default=exports.default={extension:ignoreCaseExt,name:"IgnoreCaseExt",type:"extension",requiresFusionCharts:true};