aboutsummaryrefslogtreecommitdiff
path: root/node_modules/@jest/core/build/lib/watchPluginsHelpers.js
diff options
context:
space:
mode:
authorJoel Kronqvist <work.joelkronqvist@pm.me>2022-03-11 20:46:06 +0200
committerJoel Kronqvist <work.joelkronqvist@pm.me>2022-03-11 20:46:06 +0200
commit080c5819d87b933816d724a83f3bf4f1686770a7 (patch)
tree4a2ccc68b27edf7d4cbc586c932cc7542b655e19 /node_modules/@jest/core/build/lib/watchPluginsHelpers.js
parent5ac7049a9d30733165cc212dee308163c2a14644 (diff)
parentd003b82235a9329f912522a2f70aa950dfce4998 (diff)
downloadLYLLRuoka-080c5819d87b933816d724a83f3bf4f1686770a7.tar.gz
LYLLRuoka-080c5819d87b933816d724a83f3bf4f1686770a7.zip
Merge branch 'master' of https://github.com/JoelHMikael/FoodJS
Updating remote changes
Diffstat (limited to 'node_modules/@jest/core/build/lib/watchPluginsHelpers.js')
-rw-r--r--node_modules/@jest/core/build/lib/watchPluginsHelpers.js62
1 files changed, 62 insertions, 0 deletions
diff --git a/node_modules/@jest/core/build/lib/watchPluginsHelpers.js b/node_modules/@jest/core/build/lib/watchPluginsHelpers.js
new file mode 100644
index 0000000..9f595ce
--- /dev/null
+++ b/node_modules/@jest/core/build/lib/watchPluginsHelpers.js
@@ -0,0 +1,62 @@
+'use strict';
+
+Object.defineProperty(exports, '__esModule', {
+ value: true
+});
+exports.getSortedUsageRows = exports.filterInteractivePlugins = void 0;
+
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+const filterInteractivePlugins = (watchPlugins, globalConfig) => {
+ const usageInfos = watchPlugins.map(
+ p => p.getUsageInfo && p.getUsageInfo(globalConfig)
+ );
+ return watchPlugins.filter((_plugin, i) => {
+ const usageInfo = usageInfos[i];
+
+ if (usageInfo) {
+ const {key} = usageInfo;
+ return !usageInfos.slice(i + 1).some(u => !!u && key === u.key);
+ }
+
+ return false;
+ });
+};
+
+exports.filterInteractivePlugins = filterInteractivePlugins;
+
+function notEmpty(value) {
+ return value != null;
+}
+
+const getSortedUsageRows = (watchPlugins, globalConfig) =>
+ filterInteractivePlugins(watchPlugins, globalConfig)
+ .sort((a, b) => {
+ if (a.isInternal && b.isInternal) {
+ // internal plugins in the order we specify them
+ return 0;
+ }
+
+ if (a.isInternal !== b.isInternal) {
+ // external plugins afterwards
+ return a.isInternal ? -1 : 1;
+ }
+
+ const usageInfoA = a.getUsageInfo && a.getUsageInfo(globalConfig);
+ const usageInfoB = b.getUsageInfo && b.getUsageInfo(globalConfig);
+
+ if (usageInfoA && usageInfoB) {
+ // external plugins in alphabetical order
+ return usageInfoA.key.localeCompare(usageInfoB.key);
+ }
+
+ return 0;
+ })
+ .map(p => p.getUsageInfo && p.getUsageInfo(globalConfig))
+ .filter(notEmpty);
+
+exports.getSortedUsageRows = getSortedUsageRows;