You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@echarts.apache.org by de...@apache.org on 2018/08/15 12:42:50 UTC
[incubator-echarts] branch master updated: refactor(array/nest):
remove the nest file
This is an automated email from the ASF dual-hosted git repository.
deqingli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-echarts.git
The following commit(s) were added to refs/heads/master by this push:
new df558f3 refactor(array/nest): remove the nest file
df558f3 is described below
commit df558f3664372cdbc9e3580e9d2cb14651cb31e7
Author: deqingli <an...@gmail.com>
AuthorDate: Wed Aug 15 20:42:31 2018 +0800
refactor(array/nest): remove the nest file
---
src/util/array/nest.js | 128 -------------------------------------------------
1 file changed, 128 deletions(-)
diff --git a/src/util/array/nest.js b/src/util/array/nest.js
deleted file mode 100644
index ff4c9ba..0000000
--- a/src/util/array/nest.js
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
-* 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.
-*/
-
-/*
-* The implementation references to d3.js. The use of the source
-* code of this file is also subject to the terms and consitions
-* of its license (BSD-3Clause, see <echarts/src/licenses/LICENSE-d3>).
-*/
-
-
-import * as zrUtil from 'zrender/src/core/util';
-
-/**
- * nest helper used to group by the array.
- * can specified the keys and sort the keys.
- */
-export default function nest() {
-
- var keysFunction = [];
- var sortKeysFunction = [];
-
- /**
- * map an Array into the mapObject.
- * @param {Array} array
- * @param {number} depth
- */
- function map(array, depth) {
- if (depth >= keysFunction.length) {
- return array;
- }
- var i = -1;
- var n = array.length;
- var keyFunction = keysFunction[depth++];
- var mapObject = {};
- var valuesByKey = {};
-
- while (++i < n) {
- var keyValue = keyFunction(array[i]);
- var values = valuesByKey[keyValue];
-
- if (values) {
- values.push(array[i]);
- }
- else {
- valuesByKey[keyValue] = [array[i]];
- }
- }
-
- zrUtil.each(valuesByKey, function (value, key) {
- mapObject[key] = map(value, depth);
- });
-
- return mapObject;
- }
-
- /**
- * transform the Map Object to multidimensional Array
- * @param {Object} map
- * @param {number} depth
- */
- function entriesMap(mapObject, depth) {
- if (depth >= keysFunction.length) {
- return mapObject;
- }
- var array = [];
- var sortKeyFunction = sortKeysFunction[depth++];
-
- zrUtil.each(mapObject, function (value, key) {
- array.push({
- key: key, values: entriesMap(value, depth)
- });
- });
-
- if (sortKeyFunction) {
- return array.sort(function (a, b) {
- return sortKeyFunction(a.key, b.key);
- });
- }
- else {
- return array;
- }
- }
-
- return {
- /**
- * specified the key to groupby the arrays.
- * users can specified one more keys.
- * @param {Function} d
- */
- key: function (d) {
- keysFunction.push(d);
- return this;
- },
-
- /**
- * specified the comparator to sort the keys
- * @param {Function} order
- */
- sortKeys: function (order) {
- sortKeysFunction[keysFunction.length - 1] = order;
- return this;
- },
-
- /**
- * the array to be grouped by.
- * @param {Array} array
- */
- entries: function (array) {
- return entriesMap(map(array, 0), 0);
- }
- };
-}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org