{"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;;;;"}