Blame view

node_modules/friendly-errors-webpack-plugin/src/utils/index.js 730 Bytes
ce4c83ff   wxy   初始提交
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  'use strict';
  
  /**
   * Concat and flattens non-null values.
   * Ex: concat(1, undefined, 2, [3, 4]) = [1, 2, 3, 4]
   */
  function concat() {
    const args = Array.from(arguments).filter(e => e != null);
    const baseArray = Array.isArray(args[0]) ? args[0] : [args[0]];
    return Array.prototype.concat.apply(baseArray, args.slice(1));
  }
  
  /**
   * Dedupes array based on criterion returned from iteratee function.
   * Ex: uniqueBy(
   *     [{ id: 1 }, { id: 1 }, { id: 2 }],
   *     val => val.id
   * ) = [{ id: 1 }, { id: 2 }]
   */
  function uniqueBy(arr, fun) {
    const seen = {};
    return arr.filter(el => {
      const e = fun(el);
      return !(e in seen) && (seen[e] = 1);
    })
  }
  
  module.exports = {
    concat: concat,
    uniqueBy: uniqueBy
  };