aboutsummaryrefslogtreecommitdiff
path: root/node_modules/@babel/core/lib/config/helpers/deep-array.js
blob: 9455e32c3f8ff934f814c034807150e8b56a5dd0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.finalize = finalize;
exports.flattenToSet = flattenToSet;

function finalize(deepArr) {
  return Object.freeze(deepArr);
}

function flattenToSet(arr) {
  const result = new Set();
  const stack = [arr];

  while (stack.length > 0) {
    for (const el of stack.pop()) {
      if (Array.isArray(el)) stack.push(el);else result.add(el);
    }
  }

  return result;
}