Skip to content

Instantly share code, notes, and snippets.

@lincolndbryant
Created August 21, 2015 23:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lincolndbryant/644a01bc060e3d5e58ca to your computer and use it in GitHub Desktop.
Save lincolndbryant/644a01bc060e3d5e58ca to your computer and use it in GitHub Desktop.
example of propose globalModuleRoot option
/*! waitsfor 0.0.6 */
(function (global, factory) {
if (typeof define === "function" && define.amd) {
define("waitsfor/utils", ["exports"], factory);
} else if (typeof exports !== "undefined") {
factory(exports);
} else {
var mod = {
exports: {}
};
factory(mod.exports);
global["waitsfor"] = global["waitsfor"] || {};
global["waitsfor"]["utils"] = mod.exports;
}
})(this, function (exports) {
"use strict";
});
/*! waitsfor 0.0.6 */
(function (global, factory) {
if (typeof define === "function" && define.amd) {
define("waitsfor/waitsFor", ["exports", "q"], factory);
} else if (typeof exports !== "undefined") {
factory(exports, require("q"));
} else {
var mod = {
exports: {}
};
factory(mod.exports, global.Q);
global["waitsfor"] = global["waitsfor"] || {};
global["waitsfor"]["waitsFor"] = mod.exports;
}
})(this, function (exports, _q) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.waitsFor = waitsFor;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _Q = _interopRequireDefault(_q);
var WAIT_INTERVAL = 50;
var TIMEOUT = 5000;
function waitsFor(func) {
var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
var timeout = _ref.timeout;
var calls, deferred, started;
if (!timeout) {
timeout = TIMEOUT;
}
started = +new Date();
calls = 0;
deferred = _Q["default"].defer();
(function doWaitsFor() {
if (calls > 0 && func.call(func)) {
return deferred.resolve(true);
} else if (+new Date() > started + timeout) {
var timeoutError = new Error("[waitsFor] Timeout waiting for " + func.toString());
return deferred.reject(timeoutError);
} else {
calls++;
return setTimeout(doWaitsFor, WAIT_INTERVAL, func);
}
})();
return deferred.promise;
}
;
});
/*! waitsfor 0.0.6 */
(function (global, factory) {
if (typeof define === 'function' && define.amd) {
define('waitsfor/promiseAdaptors/q', ['exports', 'q', '../waitsFor'], factory);
} else if (typeof exports !== 'undefined') {
factory(exports, require('q'), require('../waitsFor'));
} else {
var mod = {
exports: {}
};
factory(mod.exports, global.Q, global.waitsFor);
global['waitsfor'] = global['waitsfor'] || {};
global['waitsfor']['promiseAdaptors/q'] = mod.exports;
}
})(this, function (exports, _q, _waitsFor) {
'use strict';
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _Q = _interopRequireDefault(_q);
var Promise = Object.getPrototypeOf(_Q['default'].defer().promise);
Promise.waitsFor = function (conditionFunc) {
return (0, _waitsFor.waitsFor)(conditionFunc);
};
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment