"use strict";var e,o,t=require("moment-timezone"),n=require("moment");!function(e){e.UndefinedOrNull="Epoch Is Undefined Or Null",e.NotANumber="Epoch Is Not A Number Or Cannot Be Parsed As A Number",e.OutOfRange="Epoch Is Out Of The Valid Range",e.EpochUnit="Invalid Epoch Unit",e.Empty="Epoch Is Empty",e.DateError="Invalid Date Format Or Value",e.TimezoneError="Unknown Timezone"}(e||(e={}));class r extends Error{constructor(e){super(e),this.name="EpochValidationError"}}!function(e){e.SECONDS="seconds",e.MILLI_SECONDS="milliseconds",e.MICRO_SECONDS="microseconds",e.NANO_SECONDS="nanoseconds"}(o||(o={}));const i={SECONDS:1e10,MILLI_SECONDS:1e13,MICRO_SECONDS:1e16,NANO_SECONDS:1e19};function s(t){const n=function(o){if(null==o)throw new r(e.UndefinedOrNull);if("string"==typeof o){if(0===o.toString().length)throw new r(e.Empty);if(isNaN(Number(o)))throw new r(e.NotANumber);o=Number(o)}else if("number"!=typeof o)throw new r(e.NotANumber);if(!Number.isInteger(o)){const e=o.toString().split(".")[1].length;o=Math.round(o*Math.pow(10,e))}return o}(t),s=Math.abs(n);let a,c;if(s