UNPKG

@modern-kit/utils

Version:
1 lines 1.53 kB
{"version":3,"file":"index.mjs","sources":["../../../src/common/getUniqTime/index.ts"],"sourcesContent":["let dt = 0;\nlet memorizedTime = 0;\n\n/**\n * @description 고유한 시간을 밀리초 단위로 반환합니다.\n *\n * 이 함수는 현재 시간을 밀리초 단위로 반환하며, 동일한 밀리초 내에서\n * 여러 번 호출될 경우 내부 카운터(`count`)를 사용하여 고유성을 보장합니다.\n *\n * 동일한 밀리초에 함수가 여러 번 호출되면 `count`가 1씩 증가하여, 고유한 값이 반환됩니다.\n *\n * @returns {number} 고유한 시간을 나타내는 숫자. 밀리초 단위로 계산되며, 중복 호출 방지를 위해 증가된 값이 포함됩니다.\n *\n * @example\n * // 동일한 밀리초 내에 호출되었을 경우\n * const time1 = getUniqueTime(); // 1704099600000\n * const time2 = getUniqueTime(); // 1704099600000.001\n *\n */\nexport function getUniqTime(): number {\n const currentTime = new Date().getTime();\n\n if (memorizedTime === currentTime) {\n dt += 1;\n } else {\n memorizedTime = currentTime;\n dt = 0;\n }\n\n return (currentTime * 1000 + dt) / 1000;\n}\n"],"names":[],"mappings":"AAAA,IAAI,EAAA,GAAK,CAAA;AACT,IAAI,aAAA,GAAgB,CAAA;AAkBb,SAAS,WAAA,GAAsB;AACpC,EAAA,MAAM,WAAA,GAAA,iBAAc,IAAI,IAAA,EAAK,EAAE,OAAA,EAAQ;AAEvC,EAAA,IAAI,kBAAkB,WAAA,EAAa;AACjC,IAAA,EAAA,IAAM,CAAA;AAAA,EACR,CAAA,MAAO;AACL,IAAA,aAAA,GAAgB,WAAA;AAChB,IAAA,EAAA,GAAK,CAAA;AAAA,EACP;AAEA,EAAA,OAAA,CAAQ,WAAA,GAAc,MAAO,EAAA,IAAM,GAAA;AACrC;;;;"}