qauMaWeb/node_modules/.cache/babel-loader/e5701bedb411e7b4fd8d5d99c58...

1 line
27 KiB
JSON

{"ast":null,"code":"/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { assert, isArray, eqNaN, isFunction } from 'zrender/lib/core/util.js';\nimport { parsePercent } from 'zrender/lib/contain/text.js';\n\nvar ScaleRawExtentInfo =\n/** @class */\nfunction () {\n function ScaleRawExtentInfo(scale, model, // Usually: data extent from all series on this axis.\n originalExtent) {\n this._prepareParams(scale, model, originalExtent);\n }\n /**\n * Parameters depending on outside (like model, user callback)\n * are prepared and fixed here.\n */\n\n\n ScaleRawExtentInfo.prototype._prepareParams = function (scale, model, // Usually: data extent from all series on this axis.\n dataExtent) {\n if (dataExtent[1] < dataExtent[0]) {\n dataExtent = [NaN, NaN];\n }\n\n this._dataMin = dataExtent[0];\n this._dataMax = dataExtent[1];\n var isOrdinal = this._isOrdinal = scale.type === 'ordinal';\n this._needCrossZero = scale.type === 'interval' && model.getNeedCrossZero && model.getNeedCrossZero();\n var modelMinRaw = this._modelMinRaw = model.get('min', true);\n\n if (isFunction(modelMinRaw)) {\n // This callback always provides users the full data extent (before data is filtered).\n this._modelMinNum = parseAxisModelMinMax(scale, modelMinRaw({\n min: dataExtent[0],\n max: dataExtent[1]\n }));\n } else if (modelMinRaw !== 'dataMin') {\n this._modelMinNum = parseAxisModelMinMax(scale, modelMinRaw);\n }\n\n var modelMaxRaw = this._modelMaxRaw = model.get('max', true);\n\n if (isFunction(modelMaxRaw)) {\n // This callback always provides users the full data extent (before data is filtered).\n this._modelMaxNum = parseAxisModelMinMax(scale, modelMaxRaw({\n min: dataExtent[0],\n max: dataExtent[1]\n }));\n } else if (modelMaxRaw !== 'dataMax') {\n this._modelMaxNum = parseAxisModelMinMax(scale, modelMaxRaw);\n }\n\n if (isOrdinal) {\n // FIXME: there is a flaw here: if there is no \"block\" data processor like `dataZoom`,\n // and progressive rendering is using, here the category result might just only contain\n // the processed chunk rather than the entire result.\n this._axisDataLen = model.getCategories().length;\n } else {\n var boundaryGap = model.get('boundaryGap');\n var boundaryGapArr = isArray(boundaryGap) ? boundaryGap : [boundaryGap || 0, boundaryGap || 0];\n\n if (typeof boundaryGapArr[0] === 'boolean' || typeof boundaryGapArr[1] === 'boolean') {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('Boolean type for boundaryGap is only ' + 'allowed for ordinal axis. Please use string in ' + 'percentage instead, e.g., \"20%\". Currently, ' + 'boundaryGap is set to be 0.');\n }\n\n this._boundaryGapInner = [0, 0];\n } else {\n this._boundaryGapInner = [parsePercent(boundaryGapArr[0], 1), parsePercent(boundaryGapArr[1], 1)];\n }\n }\n };\n /**\n * Calculate extent by prepared parameters.\n * This method has no external dependency and can be called duplicatedly,\n * getting the same result.\n * If parameters changed, should call this method to recalcuate.\n */\n\n\n ScaleRawExtentInfo.prototype.calculate = function () {\n // Notice: When min/max is not set (that is, when there are null/undefined,\n // which is the most common case), these cases should be ensured:\n // (1) For 'ordinal', show all axis.data.\n // (2) For others:\n // + `boundaryGap` is applied (if min/max set, boundaryGap is\n // disabled).\n // + If `needCrossZero`, min/max should be zero, otherwise, min/max should\n // be the result that originalExtent enlarged by boundaryGap.\n // (3) If no data, it should be ensured that `scale.setBlank` is set.\n var isOrdinal = this._isOrdinal;\n var dataMin = this._dataMin;\n var dataMax = this._dataMax;\n var axisDataLen = this._axisDataLen;\n var boundaryGapInner = this._boundaryGapInner;\n var span = !isOrdinal ? dataMax - dataMin || Math.abs(dataMin) : null; // Currently if a `'value'` axis model min is specified as 'dataMin'/'dataMax',\n // `boundaryGap` will not be used. It's the different from specifying as `null`/`undefined`.\n\n var min = this._modelMinRaw === 'dataMin' ? dataMin : this._modelMinNum;\n var max = this._modelMaxRaw === 'dataMax' ? dataMax : this._modelMaxNum; // If `_modelMinNum`/`_modelMaxNum` is `null`/`undefined`, should not be fixed.\n\n var minFixed = min != null;\n var maxFixed = max != null;\n\n if (min == null) {\n min = isOrdinal ? axisDataLen ? 0 : NaN : dataMin - boundaryGapInner[0] * span;\n }\n\n if (max == null) {\n max = isOrdinal ? axisDataLen ? axisDataLen - 1 : NaN : dataMax + boundaryGapInner[1] * span;\n }\n\n (min == null || !isFinite(min)) && (min = NaN);\n (max == null || !isFinite(max)) && (max = NaN);\n var isBlank = eqNaN(min) || eqNaN(max) || isOrdinal && !axisDataLen; // If data extent modified, need to recalculated to ensure cross zero.\n\n if (this._needCrossZero) {\n // Axis is over zero and min is not set\n if (min > 0 && max > 0 && !minFixed) {\n min = 0; // minFixed = true;\n } // Axis is under zero and max is not set\n\n\n if (min < 0 && max < 0 && !maxFixed) {\n max = 0; // maxFixed = true;\n } // PENDING:\n // When `needCrossZero` and all data is positive/negative, should it be ensured\n // that the results processed by boundaryGap are positive/negative?\n // If so, here `minFixed`/`maxFixed` need to be set.\n\n }\n\n var determinedMin = this._determinedMin;\n var determinedMax = this._determinedMax;\n\n if (determinedMin != null) {\n min = determinedMin;\n minFixed = true;\n }\n\n if (determinedMax != null) {\n max = determinedMax;\n maxFixed = true;\n } // Ensure min/max be finite number or NaN here. (not to be null/undefined)\n // `NaN` means min/max axis is blank.\n\n\n return {\n min: min,\n max: max,\n minFixed: minFixed,\n maxFixed: maxFixed,\n isBlank: isBlank\n };\n };\n\n ScaleRawExtentInfo.prototype.modifyDataMinMax = function (minMaxName, val) {\n if (process.env.NODE_ENV !== 'production') {\n assert(!this.frozen);\n }\n\n this[DATA_MIN_MAX_ATTR[minMaxName]] = val;\n };\n\n ScaleRawExtentInfo.prototype.setDeterminedMinMax = function (minMaxName, val) {\n var attr = DETERMINED_MIN_MAX_ATTR[minMaxName];\n\n if (process.env.NODE_ENV !== 'production') {\n assert(!this.frozen // Earse them usually means logic flaw.\n && this[attr] == null);\n }\n\n this[attr] = val;\n };\n\n ScaleRawExtentInfo.prototype.freeze = function () {\n // @ts-ignore\n this.frozen = true;\n };\n\n return ScaleRawExtentInfo;\n}();\n\nexport { ScaleRawExtentInfo };\nvar DETERMINED_MIN_MAX_ATTR = {\n min: '_determinedMin',\n max: '_determinedMax'\n};\nvar DATA_MIN_MAX_ATTR = {\n min: '_dataMin',\n max: '_dataMax'\n};\n/**\n * Get scale min max and related info only depends on model settings.\n * This method can be called after coordinate system created.\n * For example, in data processing stage.\n *\n * Scale extent info probably be required multiple times during a workflow.\n * For example:\n * (1) `dataZoom` depends it to get the axis extent in \"100%\" state.\n * (2) `processor/extentCalculator` depends it to make sure whether axis extent is specified.\n * (3) `coordSys.update` use it to finally decide the scale extent.\n * But the callback of `min`/`max` should not be called multiple times.\n * The code below should not be implemented repeatedly either.\n * So we cache the result in the scale instance, which will be recreated at the beginning\n * of the workflow (because `scale` instance will be recreated each round of the workflow).\n */\n\nexport function ensureScaleRawExtentInfo(scale, model, // Usually: data extent from all series on this axis.\noriginalExtent) {\n // Do not permit to recreate.\n var rawExtentInfo = scale.rawExtentInfo;\n\n if (rawExtentInfo) {\n return rawExtentInfo;\n }\n\n rawExtentInfo = new ScaleRawExtentInfo(scale, model, originalExtent); // @ts-ignore\n\n scale.rawExtentInfo = rawExtentInfo;\n return rawExtentInfo;\n}\nexport function parseAxisModelMinMax(scale, minMax) {\n return minMax == null ? null : eqNaN(minMax) ? NaN : scale.parse(minMax);\n}","map":{"version":3,"sources":["D:/Work/WorkSpace/GitWorkSpace/TenShop/resource/ElectronicMall/src/ElectronicMallVue/node_modules/echarts/lib/coord/scaleRawExtentInfo.js"],"names":["assert","isArray","eqNaN","isFunction","parsePercent","ScaleRawExtentInfo","scale","model","originalExtent","_prepareParams","prototype","dataExtent","NaN","_dataMin","_dataMax","isOrdinal","_isOrdinal","type","_needCrossZero","getNeedCrossZero","modelMinRaw","_modelMinRaw","get","_modelMinNum","parseAxisModelMinMax","min","max","modelMaxRaw","_modelMaxRaw","_modelMaxNum","_axisDataLen","getCategories","length","boundaryGap","boundaryGapArr","process","env","NODE_ENV","console","warn","_boundaryGapInner","calculate","dataMin","dataMax","axisDataLen","boundaryGapInner","span","Math","abs","minFixed","maxFixed","isFinite","isBlank","determinedMin","_determinedMin","determinedMax","_determinedMax","modifyDataMinMax","minMaxName","val","frozen","DATA_MIN_MAX_ATTR","setDeterminedMinMax","attr","DETERMINED_MIN_MAX_ATTR","freeze","ensureScaleRawExtentInfo","rawExtentInfo","minMax","parse"],"mappings":"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","sourcesContent":["\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { assert, isArray, eqNaN, isFunction } from 'zrender/lib/core/util.js';\nimport { parsePercent } from 'zrender/lib/contain/text.js';\n\nvar ScaleRawExtentInfo =\n/** @class */\nfunction () {\n function ScaleRawExtentInfo(scale, model, // Usually: data extent from all series on this axis.\n originalExtent) {\n this._prepareParams(scale, model, originalExtent);\n }\n /**\n * Parameters depending on outside (like model, user callback)\n * are prepared and fixed here.\n */\n\n\n ScaleRawExtentInfo.prototype._prepareParams = function (scale, model, // Usually: data extent from all series on this axis.\n dataExtent) {\n if (dataExtent[1] < dataExtent[0]) {\n dataExtent = [NaN, NaN];\n }\n\n this._dataMin = dataExtent[0];\n this._dataMax = dataExtent[1];\n var isOrdinal = this._isOrdinal = scale.type === 'ordinal';\n this._needCrossZero = scale.type === 'interval' && model.getNeedCrossZero && model.getNeedCrossZero();\n var modelMinRaw = this._modelMinRaw = model.get('min', true);\n\n if (isFunction(modelMinRaw)) {\n // This callback always provides users the full data extent (before data is filtered).\n this._modelMinNum = parseAxisModelMinMax(scale, modelMinRaw({\n min: dataExtent[0],\n max: dataExtent[1]\n }));\n } else if (modelMinRaw !== 'dataMin') {\n this._modelMinNum = parseAxisModelMinMax(scale, modelMinRaw);\n }\n\n var modelMaxRaw = this._modelMaxRaw = model.get('max', true);\n\n if (isFunction(modelMaxRaw)) {\n // This callback always provides users the full data extent (before data is filtered).\n this._modelMaxNum = parseAxisModelMinMax(scale, modelMaxRaw({\n min: dataExtent[0],\n max: dataExtent[1]\n }));\n } else if (modelMaxRaw !== 'dataMax') {\n this._modelMaxNum = parseAxisModelMinMax(scale, modelMaxRaw);\n }\n\n if (isOrdinal) {\n // FIXME: there is a flaw here: if there is no \"block\" data processor like `dataZoom`,\n // and progressive rendering is using, here the category result might just only contain\n // the processed chunk rather than the entire result.\n this._axisDataLen = model.getCategories().length;\n } else {\n var boundaryGap = model.get('boundaryGap');\n var boundaryGapArr = isArray(boundaryGap) ? boundaryGap : [boundaryGap || 0, boundaryGap || 0];\n\n if (typeof boundaryGapArr[0] === 'boolean' || typeof boundaryGapArr[1] === 'boolean') {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('Boolean type for boundaryGap is only ' + 'allowed for ordinal axis. Please use string in ' + 'percentage instead, e.g., \"20%\". Currently, ' + 'boundaryGap is set to be 0.');\n }\n\n this._boundaryGapInner = [0, 0];\n } else {\n this._boundaryGapInner = [parsePercent(boundaryGapArr[0], 1), parsePercent(boundaryGapArr[1], 1)];\n }\n }\n };\n /**\n * Calculate extent by prepared parameters.\n * This method has no external dependency and can be called duplicatedly,\n * getting the same result.\n * If parameters changed, should call this method to recalcuate.\n */\n\n\n ScaleRawExtentInfo.prototype.calculate = function () {\n // Notice: When min/max is not set (that is, when there are null/undefined,\n // which is the most common case), these cases should be ensured:\n // (1) For 'ordinal', show all axis.data.\n // (2) For others:\n // + `boundaryGap` is applied (if min/max set, boundaryGap is\n // disabled).\n // + If `needCrossZero`, min/max should be zero, otherwise, min/max should\n // be the result that originalExtent enlarged by boundaryGap.\n // (3) If no data, it should be ensured that `scale.setBlank` is set.\n var isOrdinal = this._isOrdinal;\n var dataMin = this._dataMin;\n var dataMax = this._dataMax;\n var axisDataLen = this._axisDataLen;\n var boundaryGapInner = this._boundaryGapInner;\n var span = !isOrdinal ? dataMax - dataMin || Math.abs(dataMin) : null; // Currently if a `'value'` axis model min is specified as 'dataMin'/'dataMax',\n // `boundaryGap` will not be used. It's the different from specifying as `null`/`undefined`.\n\n var min = this._modelMinRaw === 'dataMin' ? dataMin : this._modelMinNum;\n var max = this._modelMaxRaw === 'dataMax' ? dataMax : this._modelMaxNum; // If `_modelMinNum`/`_modelMaxNum` is `null`/`undefined`, should not be fixed.\n\n var minFixed = min != null;\n var maxFixed = max != null;\n\n if (min == null) {\n min = isOrdinal ? axisDataLen ? 0 : NaN : dataMin - boundaryGapInner[0] * span;\n }\n\n if (max == null) {\n max = isOrdinal ? axisDataLen ? axisDataLen - 1 : NaN : dataMax + boundaryGapInner[1] * span;\n }\n\n (min == null || !isFinite(min)) && (min = NaN);\n (max == null || !isFinite(max)) && (max = NaN);\n var isBlank = eqNaN(min) || eqNaN(max) || isOrdinal && !axisDataLen; // If data extent modified, need to recalculated to ensure cross zero.\n\n if (this._needCrossZero) {\n // Axis is over zero and min is not set\n if (min > 0 && max > 0 && !minFixed) {\n min = 0; // minFixed = true;\n } // Axis is under zero and max is not set\n\n\n if (min < 0 && max < 0 && !maxFixed) {\n max = 0; // maxFixed = true;\n } // PENDING:\n // When `needCrossZero` and all data is positive/negative, should it be ensured\n // that the results processed by boundaryGap are positive/negative?\n // If so, here `minFixed`/`maxFixed` need to be set.\n\n }\n\n var determinedMin = this._determinedMin;\n var determinedMax = this._determinedMax;\n\n if (determinedMin != null) {\n min = determinedMin;\n minFixed = true;\n }\n\n if (determinedMax != null) {\n max = determinedMax;\n maxFixed = true;\n } // Ensure min/max be finite number or NaN here. (not to be null/undefined)\n // `NaN` means min/max axis is blank.\n\n\n return {\n min: min,\n max: max,\n minFixed: minFixed,\n maxFixed: maxFixed,\n isBlank: isBlank\n };\n };\n\n ScaleRawExtentInfo.prototype.modifyDataMinMax = function (minMaxName, val) {\n if (process.env.NODE_ENV !== 'production') {\n assert(!this.frozen);\n }\n\n this[DATA_MIN_MAX_ATTR[minMaxName]] = val;\n };\n\n ScaleRawExtentInfo.prototype.setDeterminedMinMax = function (minMaxName, val) {\n var attr = DETERMINED_MIN_MAX_ATTR[minMaxName];\n\n if (process.env.NODE_ENV !== 'production') {\n assert(!this.frozen // Earse them usually means logic flaw.\n && this[attr] == null);\n }\n\n this[attr] = val;\n };\n\n ScaleRawExtentInfo.prototype.freeze = function () {\n // @ts-ignore\n this.frozen = true;\n };\n\n return ScaleRawExtentInfo;\n}();\n\nexport { ScaleRawExtentInfo };\nvar DETERMINED_MIN_MAX_ATTR = {\n min: '_determinedMin',\n max: '_determinedMax'\n};\nvar DATA_MIN_MAX_ATTR = {\n min: '_dataMin',\n max: '_dataMax'\n};\n/**\n * Get scale min max and related info only depends on model settings.\n * This method can be called after coordinate system created.\n * For example, in data processing stage.\n *\n * Scale extent info probably be required multiple times during a workflow.\n * For example:\n * (1) `dataZoom` depends it to get the axis extent in \"100%\" state.\n * (2) `processor/extentCalculator` depends it to make sure whether axis extent is specified.\n * (3) `coordSys.update` use it to finally decide the scale extent.\n * But the callback of `min`/`max` should not be called multiple times.\n * The code below should not be implemented repeatedly either.\n * So we cache the result in the scale instance, which will be recreated at the beginning\n * of the workflow (because `scale` instance will be recreated each round of the workflow).\n */\n\nexport function ensureScaleRawExtentInfo(scale, model, // Usually: data extent from all series on this axis.\noriginalExtent) {\n // Do not permit to recreate.\n var rawExtentInfo = scale.rawExtentInfo;\n\n if (rawExtentInfo) {\n return rawExtentInfo;\n }\n\n rawExtentInfo = new ScaleRawExtentInfo(scale, model, originalExtent); // @ts-ignore\n\n scale.rawExtentInfo = rawExtentInfo;\n return rawExtentInfo;\n}\nexport function parseAxisModelMinMax(scale, minMax) {\n return minMax == null ? null : eqNaN(minMax) ? NaN : scale.parse(minMax);\n}"]},"metadata":{},"sourceType":"module"}