aboutsummaryrefslogtreecommitdiff
path: root/node_modules/jest-haste-map/build/watchers/RecrawlWarning.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-haste-map/build/watchers/RecrawlWarning.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-haste-map/build/watchers/RecrawlWarning.js')
-rw-r--r--node_modules/jest-haste-map/build/watchers/RecrawlWarning.js57
1 files changed, 57 insertions, 0 deletions
diff --git a/node_modules/jest-haste-map/build/watchers/RecrawlWarning.js b/node_modules/jest-haste-map/build/watchers/RecrawlWarning.js
new file mode 100644
index 0000000..a89af20
--- /dev/null
+++ b/node_modules/jest-haste-map/build/watchers/RecrawlWarning.js
@@ -0,0 +1,57 @@
+// vendored from https://github.com/amasad/sane/blob/64ff3a870c42e84f744086884bf55a4f9c22d376/src/utils/recrawl-warning-dedupe.js
+'use strict';
+
+class RecrawlWarning {
+ constructor(root, count) {
+ this.root = root;
+ this.count = count;
+ }
+
+ static findByRoot(root) {
+ for (let i = 0; i < this.RECRAWL_WARNINGS.length; i++) {
+ const warning = this.RECRAWL_WARNINGS[i];
+
+ if (warning.root === root) {
+ return warning;
+ }
+ }
+
+ return undefined;
+ }
+
+ static isRecrawlWarningDupe(warningMessage) {
+ if (typeof warningMessage !== 'string') {
+ return false;
+ }
+
+ const match = warningMessage.match(this.REGEXP);
+
+ if (!match) {
+ return false;
+ }
+
+ const count = Number(match[1]);
+ const root = match[2];
+ const warning = this.findByRoot(root);
+
+ if (warning) {
+ // only keep the highest count, assume count to either stay the same or
+ // increase.
+ if (warning.count >= count) {
+ return true;
+ } else {
+ // update the existing warning to the latest (highest) count
+ warning.count = count;
+ return false;
+ }
+ } else {
+ this.RECRAWL_WARNINGS.push(new RecrawlWarning(root, count));
+ return false;
+ }
+ }
+}
+
+RecrawlWarning.RECRAWL_WARNINGS = [];
+RecrawlWarning.REGEXP =
+ /Recrawled this watch (\d+) times, most recently because:\n([^:]+)/;
+module.exports = RecrawlWarning;