day 11
This commit is contained in:
Executable
+32
@@ -0,0 +1,32 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
class TimezoneService {
|
||||
constructor() {
|
||||
this.cacheStore = {};
|
||||
}
|
||||
|
||||
getAvailableTimezones() {
|
||||
let availableTimezones;
|
||||
if (this.cacheStore.timezones) {
|
||||
availableTimezones = this.cacheStore.timezones;
|
||||
} else {
|
||||
const availableTimezonesContent = fs.readFileSync(path.join(__dirname, '..', 'public', 'timezone.json'), 'utf-8');
|
||||
availableTimezones = JSON.parse(availableTimezonesContent);
|
||||
this.cacheStore.timezones = availableTimezones;
|
||||
}
|
||||
return availableTimezones;
|
||||
}
|
||||
|
||||
findTimezone(target) {
|
||||
const availableTimezones = this.getAvailableTimezones();
|
||||
return availableTimezones?.find((timezone) => timezone?.Abbreviation == target);
|
||||
}
|
||||
|
||||
validateTimeZone(target) {
|
||||
const findTimezone = this.findTimezone(target);
|
||||
return !!findTimezone;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = TimezoneService;
|
||||
Reference in New Issue
Block a user