moment-timezone-rails 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/lib/moment_timezone_rails/engine.rb +1 -1
- data/lib/moment_timezone_rails/version.rb +2 -2
- data/vendor/assets/javascripts/moment-timezone-with-data-10-year-range.js +1548 -0
- data/vendor/assets/javascripts/moment-timezone-with-data-1970-2030.js +1548 -0
- data/vendor/assets/javascripts/moment-timezone-with-data-2012-2022.js +424 -68
- data/vendor/assets/javascripts/moment-timezone-with-data.js +690 -346
- data/vendor/assets/javascripts/moment-timezone.js +102 -11
- metadata +9 -8
@@ -1,5 +1,5 @@
|
|
1
1
|
//! moment-timezone.js
|
2
|
-
//! version : 0.5.
|
2
|
+
//! version : 0.5.41
|
3
3
|
//! Copyright (c) JS Foundation and other contributors
|
4
4
|
//! license : MIT
|
5
5
|
//! github.com/moment/moment-timezone
|
@@ -8,30 +8,40 @@
|
|
8
8
|
"use strict";
|
9
9
|
|
10
10
|
/*global define*/
|
11
|
-
if (typeof
|
12
|
-
define(['moment'], factory); // AMD
|
13
|
-
} else if (typeof module === 'object' && module.exports) {
|
11
|
+
if (typeof module === 'object' && module.exports) {
|
14
12
|
module.exports = factory(require('moment')); // Node
|
13
|
+
} else if (typeof define === 'function' && define.amd) {
|
14
|
+
define(['moment'], factory); // AMD
|
15
15
|
} else {
|
16
16
|
factory(root.moment); // Browser
|
17
17
|
}
|
18
18
|
}(this, function (moment) {
|
19
19
|
"use strict";
|
20
20
|
|
21
|
+
// Resolves es6 module loading issue
|
22
|
+
if (moment.version === undefined && moment.default) {
|
23
|
+
moment = moment.default;
|
24
|
+
}
|
25
|
+
|
21
26
|
// Do not load moment-timezone a second time.
|
22
27
|
// if (moment.tz !== undefined) {
|
23
28
|
// logError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);
|
24
29
|
// return moment;
|
25
30
|
// }
|
26
31
|
|
27
|
-
var VERSION = "0.5.
|
32
|
+
var VERSION = "0.5.41",
|
28
33
|
zones = {},
|
29
34
|
links = {},
|
35
|
+
countries = {},
|
30
36
|
names = {},
|
31
37
|
guesses = {},
|
32
|
-
cachedGuess
|
38
|
+
cachedGuess;
|
33
39
|
|
34
|
-
|
40
|
+
if (!moment || typeof moment.version !== 'string') {
|
41
|
+
logError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');
|
42
|
+
}
|
43
|
+
|
44
|
+
var momentVersion = moment.version.split('.'),
|
35
45
|
major = +momentVersion[0],
|
36
46
|
minor = +momentVersion[1];
|
37
47
|
|
@@ -161,6 +171,13 @@
|
|
161
171
|
}
|
162
172
|
},
|
163
173
|
|
174
|
+
countries : function () {
|
175
|
+
var zone_name = this.name;
|
176
|
+
return Object.keys(countries).filter(function (country_code) {
|
177
|
+
return countries[country_code].zones.indexOf(zone_name) !== -1;
|
178
|
+
});
|
179
|
+
},
|
180
|
+
|
164
181
|
parse : function (timestamp) {
|
165
182
|
var target = +timestamp,
|
166
183
|
offsets = this.offsets,
|
@@ -201,6 +218,15 @@
|
|
201
218
|
}
|
202
219
|
};
|
203
220
|
|
221
|
+
/************************************
|
222
|
+
Country object
|
223
|
+
************************************/
|
224
|
+
|
225
|
+
function Country (country_name, zone_names) {
|
226
|
+
this.name = country_name;
|
227
|
+
this.zones = zone_names;
|
228
|
+
}
|
229
|
+
|
204
230
|
/************************************
|
205
231
|
Current Timezone
|
206
232
|
************************************/
|
@@ -288,7 +314,10 @@
|
|
288
314
|
if (a.abbrScore !== b.abbrScore) {
|
289
315
|
return a.abbrScore - b.abbrScore;
|
290
316
|
}
|
291
|
-
|
317
|
+
if (a.zone.population !== b.zone.population) {
|
318
|
+
return b.zone.population - a.zone.population;
|
319
|
+
}
|
320
|
+
return b.zone.name.localeCompare(a.zone.name);
|
292
321
|
}
|
293
322
|
|
294
323
|
function addToGuesses (name, offsets) {
|
@@ -393,6 +422,7 @@
|
|
393
422
|
}
|
394
423
|
|
395
424
|
function getZone (name, caller) {
|
425
|
+
|
396
426
|
name = normalizeName(name);
|
397
427
|
|
398
428
|
var zone = zones[name];
|
@@ -431,6 +461,10 @@
|
|
431
461
|
return out.sort();
|
432
462
|
}
|
433
463
|
|
464
|
+
function getCountryNames () {
|
465
|
+
return Object.keys(countries);
|
466
|
+
}
|
467
|
+
|
434
468
|
function addLink (aliases) {
|
435
469
|
var i, alias, normal0, normal1;
|
436
470
|
|
@@ -452,9 +486,49 @@
|
|
452
486
|
}
|
453
487
|
}
|
454
488
|
|
489
|
+
function addCountries (data) {
|
490
|
+
var i, country_code, country_zones, split;
|
491
|
+
if (!data || !data.length) return;
|
492
|
+
for (i = 0; i < data.length; i++) {
|
493
|
+
split = data[i].split('|');
|
494
|
+
country_code = split[0].toUpperCase();
|
495
|
+
country_zones = split[1].split(' ');
|
496
|
+
countries[country_code] = new Country(
|
497
|
+
country_code,
|
498
|
+
country_zones
|
499
|
+
);
|
500
|
+
}
|
501
|
+
}
|
502
|
+
|
503
|
+
function getCountry (name) {
|
504
|
+
name = name.toUpperCase();
|
505
|
+
return countries[name] || null;
|
506
|
+
}
|
507
|
+
|
508
|
+
function zonesForCountry(country, with_offset) {
|
509
|
+
country = getCountry(country);
|
510
|
+
|
511
|
+
if (!country) return null;
|
512
|
+
|
513
|
+
var zones = country.zones.sort();
|
514
|
+
|
515
|
+
if (with_offset) {
|
516
|
+
return zones.map(function (zone_name) {
|
517
|
+
var zone = getZone(zone_name);
|
518
|
+
return {
|
519
|
+
name: zone_name,
|
520
|
+
offset: zone.utcOffset(new Date())
|
521
|
+
};
|
522
|
+
});
|
523
|
+
}
|
524
|
+
|
525
|
+
return zones;
|
526
|
+
}
|
527
|
+
|
455
528
|
function loadData (data) {
|
456
529
|
addZone(data.zones);
|
457
530
|
addLink(data.links);
|
531
|
+
addCountries(data.countries);
|
458
532
|
tz.dataVersion = data.version;
|
459
533
|
}
|
460
534
|
|
@@ -501,6 +575,7 @@
|
|
501
575
|
tz._zones = zones;
|
502
576
|
tz._links = links;
|
503
577
|
tz._names = names;
|
578
|
+
tz._countries = countries;
|
504
579
|
tz.add = addZone;
|
505
580
|
tz.link = addLink;
|
506
581
|
tz.load = loadData;
|
@@ -514,6 +589,8 @@
|
|
514
589
|
tz.needsOffset = needsOffset;
|
515
590
|
tz.moveInvalidForward = true;
|
516
591
|
tz.moveAmbiguousForward = false;
|
592
|
+
tz.countries = getCountryNames;
|
593
|
+
tz.zonesForCountry = zonesForCountry;
|
517
594
|
|
518
595
|
/************************************
|
519
596
|
Interface with Moment.js
|
@@ -542,7 +619,9 @@
|
|
542
619
|
offset = offset / 60;
|
543
620
|
}
|
544
621
|
if (mom.utcOffset !== undefined) {
|
622
|
+
var z = mom._z;
|
545
623
|
mom.utcOffset(-offset, keepTime);
|
624
|
+
mom._z = z;
|
546
625
|
} else {
|
547
626
|
mom.zone(offset, keepTime);
|
548
627
|
}
|
@@ -551,6 +630,9 @@
|
|
551
630
|
|
552
631
|
fn.tz = function (name, keepTime) {
|
553
632
|
if (name) {
|
633
|
+
if (typeof name !== 'string') {
|
634
|
+
throw new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');
|
635
|
+
}
|
554
636
|
this._z = getZone(name);
|
555
637
|
if (this._z) {
|
556
638
|
moment.updateOffset(this, keepTime);
|
@@ -576,9 +658,18 @@
|
|
576
658
|
};
|
577
659
|
}
|
578
660
|
|
579
|
-
|
580
|
-
|
581
|
-
|
661
|
+
function resetZoneWrap2 (old) {
|
662
|
+
return function () {
|
663
|
+
if (arguments.length > 0) this._z = null;
|
664
|
+
return old.apply(this, arguments);
|
665
|
+
};
|
666
|
+
}
|
667
|
+
|
668
|
+
fn.zoneName = abbrWrap(fn.zoneName);
|
669
|
+
fn.zoneAbbr = abbrWrap(fn.zoneAbbr);
|
670
|
+
fn.utc = resetZoneWrap(fn.utc);
|
671
|
+
fn.local = resetZoneWrap(fn.local);
|
672
|
+
fn.utcOffset = resetZoneWrap2(fn.utcOffset);
|
582
673
|
|
583
674
|
moment.tz.setDefault = function(name) {
|
584
675
|
if (major < 2 || (major === 2 && minor < 9)) {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: moment-timezone-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kyle Fagan
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-03-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: momentjs-rails
|
@@ -42,6 +42,8 @@ files:
|
|
42
42
|
- lib/moment-timezone-rails.rb
|
43
43
|
- lib/moment_timezone_rails/engine.rb
|
44
44
|
- lib/moment_timezone_rails/version.rb
|
45
|
+
- vendor/assets/javascripts/moment-timezone-with-data-10-year-range.js
|
46
|
+
- vendor/assets/javascripts/moment-timezone-with-data-1970-2030.js
|
45
47
|
- vendor/assets/javascripts/moment-timezone-with-data-2012-2022.js
|
46
48
|
- vendor/assets/javascripts/moment-timezone-with-data.js
|
47
49
|
- vendor/assets/javascripts/moment-timezone.js
|
@@ -49,7 +51,7 @@ homepage: https://github.com/Bialogs/moment-timezone-rails
|
|
49
51
|
licenses:
|
50
52
|
- MIT
|
51
53
|
metadata: {}
|
52
|
-
post_install_message:
|
54
|
+
post_install_message:
|
53
55
|
rdoc_options: []
|
54
56
|
require_paths:
|
55
57
|
- lib
|
@@ -64,9 +66,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
64
66
|
- !ruby/object:Gem::Version
|
65
67
|
version: '0'
|
66
68
|
requirements: []
|
67
|
-
|
68
|
-
|
69
|
-
signing_key:
|
69
|
+
rubygems_version: 3.4.1
|
70
|
+
signing_key:
|
70
71
|
specification_version: 4
|
71
|
-
summary: moment-timezone-0.5.
|
72
|
+
summary: moment-timezone-0.5.41
|
72
73
|
test_files: []
|