2025-01-15 19:42:35 +01:00

68 lines
1.3 KiB
JavaScript

// Class: haxe.Timer
var $global = typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this
$global.Object.defineProperty(exports, "__esModule", {value: true});
var __map_reserved = {};
// Imports
var $hxClasses = require("./../hxClasses_stub").default;
var $import = require("./../import_stub").default;
function haxe_Log() {return require("./../haxe/Log");}
function js_Browser() {return require("./../js/Browser");}
// Constructor
var Timer = function(time_ms) {
var me = this;
this.id = setInterval(function() {
me.run();
},time_ms);
}
// Meta
Timer.__name__ = ["haxe","Timer"];
Timer.prototype = {
stop: function() {
if(this.id == null) {
return;
}
clearInterval(this.id);
this.id = null;
},
run: function() {
}
};
Timer.prototype.__class__ = $hxClasses["haxe.Timer"] = Timer;
// Init
// Statics
Timer.delay = function(f,time_ms) {
var t = new Timer(time_ms);
t.run = function() {
t.stop();
f();
};
return t;
}
Timer.measure = function(f,pos) {
var t0 = Timer.stamp();
var r = f();
(haxe_Log().default).trace(Timer.stamp() - t0 + "s",pos);
return r;
}
Timer.stamp = function() {
return (js_Browser().default).get_window().performance.now() / 1000;
}
// Export
exports.default = Timer;