Skip to content

Commit 1993448

Browse files
authored
Merge pull request #1 from martinoppitz/help/update-virtual-modules
fix: optimize the implementation
2 parents 1794d51 + 0794b95 commit 1993448

File tree

1 file changed

+14
-16
lines changed

1 file changed

+14
-16
lines changed

lib/virtual.js

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -158,29 +158,27 @@ VirtualModulesPlugin.prototype.writeModule = function(filePath, contents) {
158158
}
159159
};
160160

161+
function getStorageData(storage) {
162+
return storage._data /* webpack 5 */ || storage.data /* webpack 4 */;
163+
}
164+
161165
function getData(storage, key) {
162-
const data = storage._data /* webpack 5 */ || storage.data /* webpack 4 */;
163-
if (data instanceof Map) {
164-
return storage.data.get(key);
166+
const storageData = getStorageData(storage);
167+
if (storageData instanceof Map) {
168+
return storageData.get(key);
169+
} else {
170+
return storageData.data[key];
165171
}
166-
return data.data[key];
167172
}
168173

169-
function setData(backendOrStorage, key, valueFactory) {
174+
function setData(storage, key, valueFactory) {
175+
const storageData = getStorageData(storage);
170176
const value = valueFactory(backendOrStorage);
171177

172-
// Webpack v5
173-
if (backendOrStorage._data instanceof Map) {
174-
backendOrStorage._data.set(key, value);
175-
} else if (backendOrStorage._data) {
176-
backendOrStorage.data[key] = value;
177-
} else if (backendOrStorage.data instanceof Map) {
178-
// Webpack 4
179-
backendOrStorage.data.set(key, value);
180-
backendOrStorage.data.set(key, value);
178+
if (storageData instanceof Map) {
179+
storageData.set(key, value);
181180
} else {
182-
backendOrStorage.data[key] = value;
183-
backendOrStorage.data[key] = value;
181+
storageData.data[key] = value;
184182
}
185183
}
186184

0 commit comments

Comments
 (0)