mirror of https://github.com/webpack/webpack.git
use forEachBail from enhanced-resolve
This commit is contained in:
parent
9c6557e8ec
commit
b54f2ac65c
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
const { forEachBail } = require("enhanced-resolve");
|
||||||
const asyncLib = require("neo-async");
|
const asyncLib = require("neo-async");
|
||||||
const getLazyHashedEtag = require("./cache/getLazyHashedEtag");
|
const getLazyHashedEtag = require("./cache/getLazyHashedEtag");
|
||||||
const mergeEtags = require("./cache/mergeEtags");
|
const mergeEtags = require("./cache/mergeEtags");
|
||||||
|
@ -46,23 +47,7 @@ class MultiItemCache {
|
||||||
* @returns {void}
|
* @returns {void}
|
||||||
*/
|
*/
|
||||||
get(callback) {
|
get(callback) {
|
||||||
let i = 0;
|
forEachBail(this._items, (item, callback) => item.get(callback), callback);
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -32,7 +32,7 @@ describe("MultiItemCache", () => {
|
||||||
const multiItemCache = new MultiItemCache(itemCaches);
|
const multiItemCache = new MultiItemCache(itemCaches);
|
||||||
let callbacks = 0;
|
let callbacks = 0;
|
||||||
const callback = (err, res) => {
|
const callback = (err, res) => {
|
||||||
expect(err).toBeUndefined();
|
expect(err).toBeNull();
|
||||||
expect(res).toBeUndefined();
|
expect(res).toBeUndefined();
|
||||||
++callbacks;
|
++callbacks;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue