{"version":3,"file":"timer.mjs","sources":["../../../src/utils/timer/timer.ts"],"sourcesContent":["export class Timer {\n private _startTime: number | null;\n\n private _endTime: number | null;\n\n private _elapsedTime: number | null;\n\n constructor() {\n this._startTime = null;\n this._endTime = null;\n this._elapsedTime = null;\n }\n\n start(): number {\n if (this._startTime !== null) {\n throw new Error(\n 'Timer is already started. Use `reset()` to reset the timer before starting it again.'\n );\n }\n\n this._startTime = Date.now();\n\n this._endTime = null;\n this._elapsedTime = null;\n\n return this._startTime;\n }\n\n stop() {\n if (this._startTime === null) {\n throw new Error('Timer is not started. Use `start()` to start the timer before stopping it.');\n }\n\n this._endTime = Date.now();\n this._elapsedTime = this._endTime - this._startTime;\n\n return { startTime: this._startTime, endTime: this._endTime, elapsedTime: this._elapsedTime };\n }\n\n reset(): void {\n this._startTime = null;\n this._endTime = null;\n this._elapsedTime = null;\n }\n}\n"],"names":["Timer","start","_startTime","Error","Date","now","_endTime","_elapsedTime","stop","startTime","endTime","elapsedTime","reset"],"mappings":"AAAO,MAAMA,KAAAA,CAAAA;IAaXC,KAAAA,GAAgB;AACd,QAAA,IAAI,IAAI,CAACC,UAAU,KAAK,IAAA,EAAM;AAC5B,YAAA,MAAM,IAAIC,KAAAA,CACR,sFAAA,CAAA;AAEJ,QAAA;AAEA,QAAA,IAAI,CAACD,UAAU,GAAGE,IAAAA,CAAKC,GAAG,EAAA;QAE1B,IAAI,CAACC,QAAQ,GAAG,IAAA;QAChB,IAAI,CAACC,YAAY,GAAG,IAAA;QAEpB,OAAO,IAAI,CAACL,UAAU;AACxB,IAAA;IAEAM,IAAAA,GAAO;AACL,QAAA,IAAI,IAAI,CAACN,UAAU,KAAK,IAAA,EAAM;AAC5B,YAAA,MAAM,IAAIC,KAAAA,CAAM,4EAAA,CAAA;AAClB,QAAA;AAEA,QAAA,IAAI,CAACG,QAAQ,GAAGF,IAAAA,CAAKC,GAAG,EAAA;QACxB,IAAI,CAACE,YAAY,GAAG,IAAI,CAACD,QAAQ,GAAG,IAAI,CAACJ,UAAU;QAEnD,OAAO;YAAEO,SAAAA,EAAW,IAAI,CAACP,UAAU;YAAEQ,OAAAA,EAAS,IAAI,CAACJ,QAAQ;YAAEK,WAAAA,EAAa,IAAI,CAACJ;AAAa,SAAA;AAC9F,IAAA;IAEAK,KAAAA,GAAc;QACZ,IAAI,CAACV,UAAU,GAAG,IAAA;QAClB,IAAI,CAACI,QAAQ,GAAG,IAAA;QAChB,IAAI,CAACC,YAAY,GAAG,IAAA;AACtB,IAAA;IApCA,WAAA,EAAc;QACZ,IAAI,CAACL,UAAU,GAAG,IAAA;QAClB,IAAI,CAACI,QAAQ,GAAG,IAAA;QAChB,IAAI,CAACC,YAAY,GAAG,IAAA;AACtB,IAAA;AAiCF;;;;"}