| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | var LoaderLoadingError = require("./LoaderLoadingError");module.exports = function loadLoader(loader, callback) {	if(typeof System === "object" && typeof System.import === "function") {		System.import(loader.path).catch(callback).then(function(module) {			loader.normal = typeof module === "function" ? module : module.default;			loader.pitch = module.pitch;			loader.raw = module.raw;			if(typeof loader.normal !== "function" && typeof loader.pitch !== "function") {				return callback(new LoaderLoadingError(					"Module '" + loader.path + "' is not a loader (must have normal or pitch function)"				));			}			callback();		});	} else {		try {			var module = require(loader.path);		} catch(e) {			// it is possible for node to choke on a require if the FD descriptor			// limit has been reached. give it a chance to recover.			if(e instanceof Error && e.code === "EMFILE") {				var retry = loadLoader.bind(null, loader, callback);				if(typeof setImmediate === "function") {					// node >= 0.9.0					return setImmediate(retry);				} else {					// node < 0.9.0					return process.nextTick(retry);				}			}			return callback(e);		}		if(typeof module !== "function" && typeof module !== "object") {			return callback(new LoaderLoadingError(				"Module '" + loader.path + "' is not a loader (export function or es6 module)"			));		}		loader.normal = typeof module === "function" ? module : module.default;		loader.pitch = module.pitch;		loader.raw = module.raw;		if(typeof loader.normal !== "function" && typeof loader.pitch !== "function") {			return callback(new LoaderLoadingError(				"Module '" + loader.path + "' is not a loader (must have normal or pitch function)"			));		}		callback();	}};
 |