1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.timezones = undefined;
|
7 | exports.getTimezoneKey = getTimezoneKey;
|
8 |
|
9 | var _lodash = require('lodash');
|
10 |
|
11 | var _lodash2 = _interopRequireDefault(_lodash);
|
12 |
|
13 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
14 |
|
15 | var TIMEZONE_REGEX = /^([+-](2[0-3]|[01][0-9])(:?[0-5][0-9])?|Z)$/;
|
16 |
|
17 | var 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 |
|
50 | var 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 |
|
54 | function getTimezoneKey(configuration) {
|
55 | return _lodash2.default.findKey(configuration, { 'type': 'timezone' });
|
56 | }
|
57 |
|
58 | exports.default = isTimezone; |
\ | No newline at end of file |