PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; /** @typedef {import("../Cache").Etag} Etag */ class MergedEtag { /** * @param {Etag} a first * @param {Etag} b second */ constructor(a, b) { this.a = a; this.b = b; } toString() { return `${this.a.toString()}|${this.b.toString()}`; } } const dualObjectMap = new WeakMap(); const objectStringMap = new WeakMap(); /** * @param {Etag} a first * @param {Etag} b second * @returns {Etag} result */ const mergeEtags = (a, b) => { if (typeof a === "string") { if (typeof b === "string") { return `${a}|${b}`; } else { const temp = b; b = a; a = temp; } } else { if (typeof b !== "string") { // both a and b are objects let map = dualObjectMap.get(a); if (map === undefined) { dualObjectMap.set(a, (map = new WeakMap())); } const mergedEtag = map.get(b); if (mergedEtag === undefined) { const newMergedEtag = new MergedEtag(a, b); map.set(b, newMergedEtag); return newMergedEtag; } else { return mergedEtag; } } } // a is object, b is string let map = objectStringMap.get(a); if (map === undefined) { objectStringMap.set(a, (map = new Map())); } const mergedEtag = map.get(b); if (mergedEtag === undefined) { const newMergedEtag = new MergedEtag(a, b); map.set(b, newMergedEtag); return newMergedEtag; } else { return mergedEtag; } }; module.exports = mergeEtags;