{"version":3,"sources":["../../src/common/date.ts"],"sourcesContent":["export type TimeStamp = string | number | Date;\n\nexport const isNumber = (val): boolean => typeof val === \"number\";\nexport type DateParam = string | number | Date | undefined;\n\nexport const getDate = (value?: DateParam): Date => (value ? new Date(value) : new Date());\nexport const getTime = (value?: DateParam): number => getDate(value).getTime();\n\n/** A must be milliseconds */\nexport function isDateBefore(timestampA: TimeStamp, timestampB: TimeStamp, options?: { unit?: \"ms\" | \"s\" }): boolean {\n  const realTimestampB = isNumber(timestampB)\n    ? (timestampB as number) * (options?.unit === \"s\" ? 1000 : 1)\n    : timestampB;\n  return new Date(timestampA).getTime() <= realTimestampB;\n}\n\n/** A must be milliseconds */\nexport function isDateAfter(timestampA: TimeStamp, timestampB: TimeStamp, options?: { unit?: \"ms\" | \"s\" }): boolean {\n  const realTimestampB = isNumber(timestampB)\n    ? (timestampB as number) * (options?.unit === \"s\" ? 1000 : 1)\n    : timestampB;\n  return new Date(timestampA).getTime() > realTimestampB;\n}\n\nexport function offsetDateTime(\n  baseDate: DateParam,\n  offset: {\n    days?: number;\n    hours?: number;\n    minutes?: number;\n    seconds?: number;\n    milliseconds?: number;\n  },\n): Date {\n  const timestamp = getTime(baseDate);\n  const offsetedTimestamp =\n    timestamp +\n    (offset.days ? offset.days * 24 * 60 * 60 * 1000 : 0) +\n    (offset.hours ? offset.hours * 60 * 60 * 1000 : 0) +\n    (offset.minutes ? offset.minutes * 60 * 1000 : 0) +\n    (offset.seconds ? offset.seconds * 1000 : 0) +\n    (offset.milliseconds ? offset.milliseconds : 0);\n  return getDate(offsetedTimestamp);\n}\n"],"mappings":";AAEO,IAAM,WAAW,CAAC,QAAiB,OAAO,QAAQ;AAGlD,IAAM,UAAU,CAAC,UAA6B,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK;AACjF,IAAM,UAAU,CAAC,UAA8B,QAAQ,KAAK,EAAE,QAAQ;AAGtE,sBAAsB,YAAuB,YAAuB,SAA0C;AACnH,QAAM,iBAAiB,SAAS,UAAU,IACrC,aAAyB,qCAAS,UAAS,MAAM,MAAO,KACzD;AACJ,SAAO,IAAI,KAAK,UAAU,EAAE,QAAQ,KAAK;AAC3C;AAGO,qBAAqB,YAAuB,YAAuB,SAA0C;AAClH,QAAM,iBAAiB,SAAS,UAAU,IACrC,aAAyB,qCAAS,UAAS,MAAM,MAAO,KACzD;AACJ,SAAO,IAAI,KAAK,UAAU,EAAE,QAAQ,IAAI;AAC1C;AAEO,wBACL,UACA,QAOM;AACN,QAAM,YAAY,QAAQ,QAAQ;AAClC,QAAM,oBACJ,YACC,QAAO,OAAO,OAAO,OAAO,KAAK,KAAK,KAAK,MAAO,KAClD,QAAO,QAAQ,OAAO,QAAQ,KAAK,KAAK,MAAO,KAC/C,QAAO,UAAU,OAAO,UAAU,KAAK,MAAO,KAC9C,QAAO,UAAU,OAAO,UAAU,MAAO,KACzC,QAAO,eAAe,OAAO,eAAe;AAC/C,SAAO,QAAQ,iBAAiB;AAClC;","names":[]}