use forEachBail from enhanced-resolve
This commit is contained in:
parent
9c6557e8ec
commit
b54f2ac65c
|
@ -5,6 +5,7 @@
|
|||
|
||||
"use strict";
|
||||
|
||||
const { forEachBail } = require("enhanced-resolve");
|
||||
const asyncLib = require("neo-async");
|
||||
const getLazyHashedEtag = require("./cache/getLazyHashedEtag");
|
||||
const mergeEtags = require("./cache/mergeEtags");
|
||||
|
@ -46,23 +47,7 @@ class MultiItemCache {
|
|||
* @returns {void}
|
||||
*/
|
||||
get(callback) {
|
||||
let i = 0;
|
||||
let resultFound = false;
|
||||
const generateGetCallback = (/** @type {Boolean} */ lastItem) => {
|
||||
return (
|
||||
/** @type {import("./WebpackError")} */ err,
|
||||
/** @type {T} */ res
|
||||
) => {
|
||||
if (resultFound) return;
|
||||
resultFound = !!(err || res || false);
|
||||
if (err) return callback(err);
|
||||
if (res !== undefined) return callback(null, res);
|
||||
if (lastItem) return callback();
|
||||
};
|
||||
};
|
||||
do {
|
||||
this._items[i].get(generateGetCallback(i === this._items.length - 1));
|
||||
} while (++i < this._items.length);
|
||||
forEachBail(this._items, (item, callback) => item.get(callback), callback);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -32,7 +32,7 @@ describe("MultiItemCache", () => {
|
|||
const multiItemCache = new MultiItemCache(itemCaches);
|
||||
let callbacks = 0;
|
||||
const callback = (err, res) => {
|
||||
expect(err).toBeUndefined();
|
||||
expect(err).toBeNull();
|
||||
expect(res).toBeUndefined();
|
||||
++callbacks;
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue