UNPKG

1.41 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.timezones = undefined;
7exports.getTimezoneKey = getTimezoneKey;
8
9var _lodash = require('lodash');
10
11var _lodash2 = _interopRequireDefault(_lodash);
12
13function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
15var TIMEZONE_REGEX = /^([+-](2[0-3]|[01][0-9])(:?[0-5][0-9])?|Z)$/; // +/-00:00 -/+00 Z +/-0000
16
17var timezones = exports.timezones = {
18 'UTC': '+00:00',
19 'GMT': '+00:00',
20 'BST': '+01:00',
21 'IST': '+01:00',
22 'WET': '+00:00',
23 'WEST': '+01:00',
24 'CET': '+01:00',
25 'CEST': '+02:00',
26 'EET': '+02:00',
27 'EEST': '+03:00',
28 'MSK': '+03:00',
29 'MSD': '+04:00',
30 'AST': '-04:00',
31 'ADT': '-03:00',
32 'EST': '-05:00',
33 'EDT': '-04:00',
34 'CST': '-06:00',
35 'CDT': '-05:00',
36 'MST': '-07:00',
37 'MDT': '-06:00',
38 'PST': '-08:00',
39 'PDT': '-07:00',
40 'HST': '-10:00',
41 'AKST': '-09:00',
42 'AKDT': '-08:00',
43 'AEST': '+10:00',
44 'AEDT': '+11:00',
45 'ACST': '+09:30',
46 'ACDT': '+10:30',
47 'AWST': '+08:00'
48};
49
50var isTimezone = function isTimezone(value) {
51 return _lodash2.default.isInteger(value) ? value <= 840 && value >= -720 : _lodash2.default.isString(value) && (value in timezones || TIMEZONE_REGEX.test(value));
52};
53
54function getTimezoneKey(configuration) {
55 return _lodash2.default.findKey(configuration, { 'type': 'timezone' });
56}
57
58exports.default = isTimezone;
\No newline at end of file