src/sap.ui.core/src/ui5loader.js
function unloadResources(sName, bPreloadGroup, bUnloadAll, bDeleteExports) {
		var aModules = [],
			sURN, oModule;

		if ( bPreloadGroup == null ) {
			bPreloadGroup = true;
		}

		if ( bPreloadGroup ) {
			// collect modules that belong to the given group
			for ( sURN in mModules ) {
				oModule = mModules[sURN];
				if ( oModule && oModule.group === sName ) {
					aModules.push(sURN);
				}
			}

		} else {
			// single module
			if ( mModules[sName] ) {
				aModules.push(sName);
			}
		}

		aModules.forEach(function(sURN) {
			var oModule = mModules[sURN];
			if ( oModule && bDeleteExports && sURN.match(/\.js$/) ) {
				// @evo-todo move to compat layer?
				setGlobalProperty(urnToUI5(sURN), undefined);
			}
			if ( oModule && (bUnloadAll || oModule.state === PRELOADED) ) {
			  delete mModules[sURN];
			}
		});

	}
function unloadResources(sName, bPreloadGroup, bUnloadAll, bDeleteExports) {
		var aModules = [],
			sURN, oModule;

		if ( bPreloadGroup == null ) {
			bPreloadGroup = true;
		}

		if ( bPreloadGroup ) {
			// collect modules that belong to the given group
			for ( sURN in mModules ) {
				oModule = mModules[sURN];
				if ( oModule && oModule.group === sName ) {
					aModules.push(sURN);
				}
			}

		} else {
			// single module
			if ( mModules[sName] ) {
				aModules.push(sName);
			}
		}

		aModules.forEach(function(sURN) {
			var oModule = mModules[sURN];
			if ( oModule && bDeleteExports && sURN.match(/\.js$/) ) {
				// @evo-todo move to compat layer?
				setGlobalProperty(urnToUI5(sURN), undefined);
			}
			if ( oModule && (bUnloadAll || oModule.state === PRELOADED) ) {
			  delete mModules[sURN];
			}
		});

	}
function unloadResources ( sName , bPreloadGroup , bUnloadAll , bDeleteExports ) { var aModules = [ ] , sURN , oModule ; if ( bPreloadGroup == null ) { bPreloadGroup = true ; } if ( bPreloadGroup ) { // collect modules that belong to the given group for ( sURN in mModules ) { oModule = mModules [ sURN ] ; if ( oModule && oModule . group === sName ) { aModules . push ( sURN ) ; } } } else { // single module if ( mModules [ sName ] ) { aModules . push ( sName ) ; } } aModules . forEach ( function ( sURN ) { var oModule = mModules [ sURN ] ; if ( oModule && bDeleteExports && sURN . match ( / \.js$ / ) ) { // @evo-todo move to compat layer? setGlobalProperty ( urnToUI5 ( sURN ) , undefined ) ; } if ( oModule && ( bUnloadAll || oModule . state === PRELOADED ) ) { delete mModules [ sURN ] ; } } ) ; }
Removes a set of resources from the resource cache.

@param {string} sName unified resource name of a resource or the name of a preload group to be removed
@param {boolean} [bPreloadGroup=true] whether the name specifies a preload group, defaults to true
@param {boolean} [bUnloadAll] Whether all matching resources should be unloaded, even if they have been executed already.
@param {boolean} [bDeleteExports] Whether exports (global variables) should be destroyed as well. Will be done for UI5 module names only.
@experimental Since 1.16.3 API might change completely, apps must not develop against it.
@private
Removes a set of resources from the resource cache .