src/sap.ui.core/src/sap/ui/core/mvc/View.js
function initPreprocessor(oPreprocessor, bAsync) {
		var oPreprocessorImpl;

		if (typeof oPreprocessor.preprocessor === "string") {
			var sPreprocessorName = oPreprocessor.preprocessor.replace(/\./g, "/");
			// module string given, resolve and retrieve object
			if (bAsync) {
				 return new Promise(function(resolve, reject) {
					sap.ui.require([sPreprocessorName], function(oPreprocessorImpl) {
						resolve(oPreprocessorImpl);
					});
				});
			} else {
				return sap.ui.requireSync(sPreprocessorName);
			}
		} else if (typeof oPreprocessor.preprocessor === "function" && !oPreprocessor.preprocessor.process) {
			oPreprocessorImpl = {
				process: oPreprocessor.preprocessor
			};
		} else {
			oPreprocessorImpl = oPreprocessor.preprocessor;
		}

		if (bAsync) {
			return Promise.resolve(oPreprocessorImpl);
		} else {
			return oPreprocessorImpl;
		}
	}
function initPreprocessor(oPreprocessor, bAsync) {
		var oPreprocessorImpl;

		if (typeof oPreprocessor.preprocessor === "string") {
			var sPreprocessorName = oPreprocessor.preprocessor.replace(/\./g, "/");
			// module string given, resolve and retrieve object
			if (bAsync) {
				 return new Promise(function(resolve, reject) {
					sap.ui.require([sPreprocessorName], function(oPreprocessorImpl) {
						resolve(oPreprocessorImpl);
					});
				});
			} else {
				return sap.ui.requireSync(sPreprocessorName);
			}
		} else if (typeof oPreprocessor.preprocessor === "function" && !oPreprocessor.preprocessor.process) {
			oPreprocessorImpl = {
				process: oPreprocessor.preprocessor
			};
		} else {
			oPreprocessorImpl = oPreprocessor.preprocessor;
		}

		if (bAsync) {
			return Promise.resolve(oPreprocessorImpl);
		} else {
			return oPreprocessorImpl;
		}
	}
function initPreprocessor ( oPreprocessor , bAsync ) { var oPreprocessorImpl ; if ( typeof oPreprocessor . preprocessor === "string" ) { var sPreprocessorName = oPreprocessor . preprocessor . replace ( / \. / g , "/" ) ; // module string given, resolve and retrieve object if ( bAsync ) { return new Promise ( function ( resolve , reject ) { sap . ui . require ( [ sPreprocessorName ] , function ( oPreprocessorImpl ) { resolve ( oPreprocessorImpl ) ; } ) ; } ) ; } else { return sap . ui . requireSync ( sPreprocessorName ) ; } } else if ( typeof oPreprocessor . preprocessor === "function" && ! oPreprocessor . preprocessor . process ) { oPreprocessorImpl = { process : oPreprocessor . preprocessor } ; } else { oPreprocessorImpl = oPreprocessor . preprocessor ; } if ( bAsync ) { return Promise . resolve ( oPreprocessorImpl ) ; } else { return oPreprocessorImpl ; } }
resolves either the module dependency or the function which was passed to settings to the internal
preprocessor config object

@param {object} oPreprocessor Preprocessor config object
@param {boolean} bAsync Whether processing is async or not
@return {object} oPreprocessorImpl
@private
resolves either the module dependency or the function which was passed to settings to the internal preprocessor config object