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