* Returns false, when unused. Otherwise true. * @param {Dependency} dependency the dependency * @param {UsedByExports | undefined} usedByExports usedByExports info * @param {ModuleGraph} moduleGraph moduleGraph * @param {RuntimeSpec} runtime runtime * @returns {boolean} false, when unused. Othe
( dependency, usedByExports, moduleGraph, runtime )
| 114 | * @returns {boolean} false, when unused. Otherwise true |
| 115 | */ |
| 116 | function isDependencyUsedByExports( |
| 117 | dependency, |
| 118 | usedByExports, |
| 119 | moduleGraph, |
| 120 | runtime |
| 121 | ) { |
| 122 | if (usedByExports === false) return false; |
| 123 | if (usedByExports !== true && usedByExports !== undefined) { |
| 124 | const selfModule = |
| 125 | /** @type {Module} */ |
| 126 | (moduleGraph.getParentModule(dependency)); |
| 127 | const exportsInfo = moduleGraph.getExportsInfo(selfModule); |
| 128 | for (const exportName of usedByExports) { |
| 129 | if (exportsInfo.getUsed(exportName, runtime) !== UsageState.Unused) { |
| 130 | return true; |
| 131 | } |
| 132 | } |
| 133 | return false; |
| 134 | } |
| 135 | return true; |
| 136 | } |
| 137 | |
| 138 | /** |
| 139 | * Returns dependency condition |
no test coverage detected