const tmrUtils = {
    newTimer: function newTimer(name) {
        const operation = {
            name: name,
            startTime: null,
            endTime: null,
            elapsedTime: null,
            running: false,
            description: '',

            start: function start() {
                this.startTime = performance.now();
                running = true;

                return this;
            },

            stop: function stop() {
                this.endTime = performance.now();
                this.elapsedTime = (this.endTime - this.startTime);
                this.description = this.toString();

                running = false;

                return this;
            },

            toString: function toString() {
                if (this.running) {
                    return 'timer is running';
                }

                if (this.startTime === null)
                    return 'timer has not been started';

                var diff = Math.round(this.endTime - this.startTime);

                var result = this.name + ': ' + diff + ' ms';

                return result;
            }
        };

        return operation;
    }
};