amis-rpc-design/node_modules/jscodeshift/dist/utils/intersection.js

28 lines
666 B
JavaScript
Raw Normal View History

2023-10-07 19:42:30 +08:00
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
module.exports = function(arrays) {
const result = new Set(arrays[0]);
let resultSize = result.length;
let i, value, valuesToCheck;
for (i = 1; i < arrays.length; i++) {
valuesToCheck = new Set(arrays[i]);
for (value of result) {
if (!valuesToCheck.has(value)) {
result.delete(value);
resultSize -= 1;
}
if (resultSize === 0) {
return [];
}
}
}
return Array.from(result);
};