UNPKG

nse-business-time

Version:

Calculate Business Time for NSE,BSE,MCX and NFO

83 lines (64 loc) 2.87 kB
const hldy_lst = require('./src/utils/holiday-list'); const date_util = require('./src/date-mgmt/open-and-scheduling-time'); const _cnst = require('./src/utils/constants'); const momentz = require('moment-timezone'); const map = new Map(); function _init(){ require('dotenv').config({path: '.env'}); require('./src/utils/firebase'); } async function getNextSchedulingTime(exchange){ let last_update = map.get('last_update'); let currentTime = momentz().tz(_cnst.TIME_ZONE).valueOf(); if(!last_update || (currentTime - last_update) > (7200000)){ await hldy_lst.getHolidayList(); map.set('last_update', currentTime); } return date_util.getNextSchedulingTime(exchange); } async function isOpen(exchange){ let last_update = map.get('last_update'); let currentTime = momentz().tz(_cnst.TIME_ZONE).valueOf(); if(!last_update || (currentTime - last_update) > (7200000)){ await hldy_lst.getHolidayList(); map.set('last_update', currentTime); } return date_util.isOpen(exchange); } async function squareOffTime(exchange){ let last_update = map.get('last_update'); let currentTime = momentz().tz(_cnst.TIME_ZONE).valueOf(); if(!last_update || (currentTime - last_update) > (7200000)){ await hldy_lst.getHolidayList(); map.set('last_update', currentTime); } return date_util.squareOffTime(exchange); } async function getTodayOpenTime(exchange){ let last_update = map.get('last_update'); let currentTime = momentz().tz(_cnst.TIME_ZONE).valueOf(); if(!last_update || (currentTime - last_update) > (7200000)){ await hldy_lst.getHolidayList(); map.set('last_update', currentTime); } return date_util.getTodayOpenTime(exchange); } exports.getNextSchedulingTime = getNextSchedulingTime; exports.isOpen = isOpen; exports.squareOffTime = squareOffTime; exports._init = _init; exports.getTodayOpenTime = getTodayOpenTime; // async function marketsStartTime(){ // await hldy_lst.getHolidayList(); // //let yesterday = date_util.getLastWorkingDay(); // //let today = date_util.getNextWorkingDay(yesterday); // //let tomorrow = date_util.getNextWorkingDay(today); // //console.log('yesterday ', date_util.covnertToString(yesterday), " today ", date_util.covnertToString(today), " tomorrow ", date_util.covnertToString(tomorrow)); // // console.log(date_util.marketOpenTime(today)); // // console.log(date_util.marketCloseTime(today)); // console.log(date_util.getNextSchedulingTime('MCX')); // console.log(date_util.isOpen('MCX')); // // let openTime = date_util.getLastOpenTime('MCX', moment().valueOf()); // // console.log(moment(openTime).format(constants.DATE_TIME_FORMAT)); // } // marketsStartTime();