{"version":3,"sources":["webpack:///./src/components/workingDayCalculate.js"],"names":["parseDateObject","input","dateFormat","moment","toDate","endofMonth","endOf","parseTimeObject","getTime","isDate","theDate","Date","isNaN","daysBetweenDates","startDate","endDate","tmpStartDate","format","tmpEndDate","difference","Math","ceil","workingDaysBetweenDates","millisecondsPerDay","diff","days","weeks","floor","startDay","getDay","endDay"],"mappings":"gHAAA,2TAEaA,EAAkB,SAASC,GAAmC,IAA5BC,EAA4B,uDAAf,cAC1D,OAAOC,IAAOF,EAAOC,GAAYE,UAGtBC,EAAa,SAASJ,GAAmC,IAA5BC,EAA4B,uDAAf,cACrD,OAAOC,IAAOF,EAAOC,GAClBI,MAAM,SACNF,UAGQG,EAAkB,SAASN,GAAmC,IAA5BC,EAA4B,uDAAf,cAC1D,OAAOC,IAAOF,EAAOC,GAClBE,SACAI,WAGQC,EAAS,SAASC,GAC7B,OAAOA,aAAmBC,OAASC,MAAMF,IAG9BG,EAAmB,SAASC,EAAWC,GAElD,GAAIN,EAAOK,IAAcL,EAAOM,IAAYA,EAAUD,EAAW,OAAO,EACxE,IAAIE,EAAe,IAAIL,KACrBR,IAAOW,GAAWG,OAAO,cAAgB,mBAEvCC,EAAa,IAAIP,KACnBR,IAAOY,GAASE,OAAO,cAAgB,mBAErCE,EAAaD,EAAWV,UAAYQ,EAAaR,UACrD,OAAOY,KAAKC,KAAKF,EAAa,QAGnBG,EAA0B,SAASR,EAAWC,GAEzD,GAAIN,EAAOK,IAAcL,EAAOM,IAAYA,EAAUD,EAAW,OAAO,EAGxE,IAAIE,EAAe,IAAIL,KACrBR,IAAOW,GAAWG,OAAO,cAAgB,mBAEvCC,EAAa,IAAIP,KACnBR,IAAOY,GAASE,OAAO,cAAgB,mBAErCM,EAAqB,MACrBC,EAAON,EAAaF,EACpBS,EAAOL,KAAKC,KAAKG,EAAOD,GAExBG,EAAQN,KAAKO,MAAMF,EAAO,GAC9BA,GAAsB,EAARC,EAEd,IAAIE,EAAWd,EAAUe,SACrBC,EAASf,EAAQc,SAQrB,OANID,EAAWE,EAAS,IAAGL,GAAc,GAEzB,GAAZG,GAA2B,GAAVE,IAAaL,GAAc,GAElC,GAAVK,GAA2B,GAAZF,IAAeH,GAAc,GAEzCA","file":"js/chunk-2d2082db.35a1ef3edd7c0984a4b8.1741903125656.js","sourcesContent":["import moment from \"moment\";\r\n\r\nexport const parseDateObject = function(input, dateFormat = \"DD-MMM-YYYY\") {\r\n return moment(input, dateFormat).toDate();\r\n};\r\n\r\nexport const endofMonth = function(input, dateFormat = \"DD-MMM-YYYY\") {\r\n return moment(input, dateFormat)\r\n .endOf(\"month\")\r\n .toDate();\r\n};\r\n\r\nexport const parseTimeObject = function(input, dateFormat = \"DD-MMM-YYYY\") {\r\n return moment(input, dateFormat)\r\n .toDate()\r\n .getTime();\r\n};\r\n\r\nexport const isDate = function(theDate) {\r\n return theDate instanceof Date && !isNaN(theDate);\r\n};\r\n\r\nexport const daysBetweenDates = function(startDate, endDate) {\r\n // Validate input\r\n if (isDate(startDate) && isDate(endDate) && endDate < startDate) return 0;\r\n var tmpStartDate = new Date(\r\n moment(startDate).format(\"YYYY-MM-DD\") + \"T00:00:00-05:00\"\r\n );\r\n var tmpEndDate = new Date(\r\n moment(endDate).format(\"YYYY-MM-DD\") + \"T23:59:59-05:00\"\r\n );\r\n var difference = tmpEndDate.getTime() - tmpStartDate.getTime();\r\n return Math.ceil(difference / (1000 * 3600 * 24));\r\n};\r\n\r\nexport const workingDaysBetweenDates = function(startDate, endDate) {\r\n // Validate input\r\n if (isDate(startDate) && isDate(endDate) && endDate < startDate) return 0;\r\n // Calculate days between dates\r\n // ISO string: 2021-11-01T00:00:00-05:00\r\n var tmpStartDate = new Date(\r\n moment(startDate).format(\"YYYY-MM-DD\") + \"T00:00:00-05:00\"\r\n );\r\n var tmpEndDate = new Date(\r\n moment(endDate).format(\"YYYY-MM-DD\") + \"T23:59:59-05:00\"\r\n );\r\n var millisecondsPerDay = 86400 * 1000; // Day in milliseconds\r\n var diff = tmpEndDate - tmpStartDate; // Milliseconds between datetime objects\r\n var days = Math.ceil(diff / millisecondsPerDay);\r\n // Subtract two weekend days for every week in between\r\n var weeks = Math.floor(days / 7);\r\n days = days - weeks * 2;\r\n // Handle special cases\r\n var startDay = startDate.getDay();\r\n var endDay = endDate.getDay();\r\n // Remove weekend not previously removed.\r\n if (startDay - endDay > 1) days = days - 2;\r\n // Remove start day if span starts on Sunday but ends before Saturday\r\n if (startDay == 0 && endDay != 6) days = days - 1;\r\n // Remove end day if span ends on Saturday but starts after Sunday\r\n if (endDay == 6 && startDay != 0) days = days - 1;\r\n\r\n return days;\r\n};\r\n// export default { isDate, parseDateObject, workingDaysBetweenDates };\r\n"],"sourceRoot":""}