summaryrefslogtreecommitdiff
path: root/lib/dojo/promise/instrumentation.js.uncompressed.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dojo/promise/instrumentation.js.uncompressed.js')
-rw-r--r--lib/dojo/promise/instrumentation.js.uncompressed.js105
1 files changed, 0 insertions, 105 deletions
diff --git a/lib/dojo/promise/instrumentation.js.uncompressed.js b/lib/dojo/promise/instrumentation.js.uncompressed.js
deleted file mode 100644
index b32bb9841..000000000
--- a/lib/dojo/promise/instrumentation.js.uncompressed.js
+++ /dev/null
@@ -1,105 +0,0 @@
-define("dojo/promise/instrumentation", [
- "./tracer",
- "../has",
- "../_base/lang",
- "../_base/array"
-], function(tracer, has, lang, arrayUtil){
- function logError(error, rejection, deferred){
- var stack = "";
- if(error && error.stack){
- stack += error.stack;
- }
- if(rejection && rejection.stack){
- stack += "\n ----------------------------------------\n rejected" + rejection.stack.split("\n").slice(1).join("\n").replace(/^\s+/, " ");
- }
- if(deferred && deferred.stack){
- stack += "\n ----------------------------------------\n" + deferred.stack;
- }
- console.error(error, stack);
- }
-
- function reportRejections(error, handled, rejection, deferred){
- if(!handled){
- logError(error, rejection, deferred);
- }
- }
-
- var errors = [];
- var activeTimeout = false;
- var unhandledWait = 1000;
- function trackUnhandledRejections(error, handled, rejection, deferred){
- if(handled){
- arrayUtil.some(errors, function(obj, ix){
- if(obj.error === error){
- errors.splice(ix, 1);
- return true;
- }
- });
- }else if(!arrayUtil.some(errors, function(obj){ return obj.error === error; })){
- errors.push({
- error: error,
- rejection: rejection,
- deferred: deferred,
- timestamp: new Date().getTime()
- });
- }
-
- if(!activeTimeout){
- activeTimeout = setTimeout(logRejected, unhandledWait);
- }
- }
-
- function logRejected(){
- var now = new Date().getTime();
- var reportBefore = now - unhandledWait;
- errors = arrayUtil.filter(errors, function(obj){
- if(obj.timestamp < reportBefore){
- logError(obj.error, obj.rejection, obj.deferred);
- return false;
- }
- return true;
- });
-
- if(errors.length){
- activeTimeout = setTimeout(logRejected, errors[0].timestamp + unhandledWait - now);
- }else{
- activeTimeout = false;
- }
- }
-
- return function(Deferred){
- // summary:
- // Initialize instrumentation for the Deferred class.
- // description:
- // Initialize instrumentation for the Deferred class.
- // Done automatically by `dojo/Deferred` if the
- // `deferredInstrumentation` and `useDeferredInstrumentation`
- // config options are set.
- //
- // Sets up `dojo/promise/tracer` to log to the console.
- //
- // Sets up instrumentation of rejected deferreds so unhandled
- // errors are logged to the console.
-
- var usage = has("config-useDeferredInstrumentation");
- if(usage){
- tracer.on("resolved", lang.hitch(console, "log", "resolved"));
- tracer.on("rejected", lang.hitch(console, "log", "rejected"));
- tracer.on("progress", lang.hitch(console, "log", "progress"));
-
- var args = [];
- if(typeof usage === "string"){
- args = usage.split(",");
- usage = args.shift();
- }
- if(usage === "report-rejections"){
- Deferred.instrumentRejected = reportRejections;
- }else if(usage === "report-unhandled-rejections" || usage === true || usage === 1){
- Deferred.instrumentRejected = trackUnhandledRejections;
- unhandledWait = parseInt(args[0], 10) || unhandledWait;
- }else{
- throw new Error("Unsupported instrumentation usage <" + usage + ">");
- }
- }
- };
-});