UNPKG

dependency-cruiser

Version:

Validate and visualize dependencies. With your rules. JavaScript, TypeScript, CoffeeScript. ES6, CommonJS, AMD.

36 lines (33 loc) 975 B
export function isDependent(pResolvedName) { return (pModule) => pModule.dependencies.some( (pDependency) => pDependency.resolved === pResolvedName ); } export function metricsAreCalculable(pModule) { return ( !pModule.coreModule && !pModule.couldNotResolve && !pModule.matchesDoNotFollow ); } /** * returns the Instability of a component given the number of incoming (afferent) * and outgoing (efferent) connections ('couplings') * * @param {number} pEfferentCouplingCount * @param {number} pAfferentCouplingCount * @returns number */ export function calculateInstability( pEfferentCouplingCount, pAfferentCouplingCount ) { // when both afferentCouplings and efferentCouplings equal 0 instability will // yield NaN. Judging Bob Martin's intention, a component with no outgoing // dependencies is maximum stable (0) return ( pEfferentCouplingCount / (pEfferentCouplingCount + pAfferentCouplingCount) || 0 ); }