Skip to content

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Enhances 'require' from RequireJS with Promises API while preserving its original semantics. Now 'require' calls can be chained.
/*
* Enhances 'require' from RequireJS with Promises API while preserving its original semantics.
*/
(function() {
if (!Promise || !require) {
return;
}
var originalRequire = require;
function toArray(elems) {
return [].slice.call(elems);
}
req = require = function(deps, callback, errback, optional) {
return new Promise(function(resolve, reject) {
originalRequire(deps,
function() {
callback && callback.apply(null, toArray(arguments));
resolve(toArray(arguments));
},
function() {
errback && errback.apply(null, toArray(arguments));
reject(toArray(arguments));
},
optional
);
});
};
require.config = function() {
originalRequire.config.apply(originalRequire, toArray(arguments));
};
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.