Skip to content

Commit

Permalink
Don't use Date.now() (IE8 workaround).
Browse files Browse the repository at this point in the history
  • Loading branch information
skeeto committed Apr 30, 2014
1 parent 8d1dd83 commit b611fdb
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions skewer.js
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,14 @@ skewer.globalEval = (function() {
}
}());

/**
* Same as Date.now(), supplied for pre-ES5 JS (<=IE8).
* @returns {number} The epoch time in milliseconds
*/
skewer.now = function() {
return new Date().valueOf();
};

/**
* Handlers accept a request object from Emacs and return either a
* logical false (no response) or an object to return to Emacs.
Expand All @@ -125,15 +133,15 @@ skewer.fn.eval = function(request) {
var result = {
strict: request.strict
};
var start = Date.now();
var start = skewer.now();
try {
var prefix = request.strict ? '"use strict";\n' : "";
var value = skewer.globalEval(prefix + request.eval);
result.value = skewer.safeStringify(value, request.verbose);
} catch (error) {
result = skewer.errorResult(error, result, request);
}
result.time = (Date.now() - start) / 1000;
result.time = (skewer.now() - start) / 1000;
return result;
};

Expand All @@ -157,7 +165,7 @@ skewer.fn.script = function(request) {
skewer.fn.ping = function(request) {
return {
type: 'pong',
date: Date.now() / 1000,
date: skewer.now() / 1000,
value: request.eval
};
};
Expand Down

0 comments on commit b611fdb

Please sign in to comment.