1.0.2 • Published 3 months ago

@actvalue/is-open v1.0.2

Weekly downloads
-
License
MIT
Repository
-
Last release
3 months ago

@actvalue/is-open

npm version npm tot downloads npm license

VISIONAREA

Calculation logic to check if a store is open at a specific point in time, plus calculation of opening minutes / hours per day

Install

yarn add @actvalue/is-open
npm i @actvalue/is-open

Usage

Run the OPEN_QUERY query on MySQL to retrieve data for store and date Call isOpen with default store values and query results

import { isOpen, OPEN_QUERY } from '@actvalue/is-open';
 // any other sql query will work
import { MRCClient } from '@actvalue/mysql-redis-cache';

// connect to mysql instance
const mrc = new MRCClient({
  host: '<mysql host>',
  port: 3306,
  user: '<user>',
  password: '<password>',
  database: '<db>',
  connectionLimit: 5,
});

// store values and date time to check
const Store_id = 1;
const defaultOpenTime = '08:30:00';
const defaultCloseTime = '19:30:00';
const when = '2022-06-16T15:45:28+02:00';

// retrieve existing business hour records for specified store and date
const day = when.substring(0, 10); // '2022-06-16'
const [row] = await mrc.queryToPromise(OPEN_QUERY, [Store_id, day, day, day]);

// call isOpen
const isStoreOpen = isOpen({
    currentDate: when,
    openTime: defaultOpenTime,
    closeTime: defaultCloseTime,
    businessHours: row
});

console.log(isStoreOpen); // true or false

// call openMinutes
const minutes = openMinutes({
    openTime: defaultOpenTime,
    closeTime: defaultCloseTime,
    businessHours: row
});

console.log(minutes); // 660

// call openHours
const hours = openHours({
    openTime: '08:00:00',
    closeTime: '19:59:59'
});

console.log(hours); // 12
1.0.2

3 months ago

1.0.1

3 months ago

1.0.0

3 months ago

0.2.0

1 year ago

0.1.2

2 years ago

0.1.3

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago