blazer 3.4.0 → 3.5.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/CHANGELOG.md +8 -0
- data/README.md +23 -27
- data/app/assets/javascripts/blazer/Sortable.js +826 -1162
- data/app/assets/javascripts/blazer/ace/ace.js +15775 -13360
- data/app/assets/javascripts/blazer/ace/ext-language_tools.js +1411 -668
- data/app/assets/javascripts/blazer/ace/mode-sql.js +12 -6
- data/app/assets/javascripts/blazer/ace/theme-twilight.js +3 -3
- data/app/assets/javascripts/blazer/application.js +94 -52
- data/app/assets/javascripts/blazer/chart.umd.js +6 -6
- data/app/assets/javascripts/blazer/daterangepicker.js +193 -199
- data/app/assets/javascripts/blazer/highlight.min.js +235 -373
- data/app/assets/javascripts/blazer/moment-timezone-with-data.js +116 -82
- data/app/assets/javascripts/blazer/moment.js +368 -365
- data/app/assets/javascripts/blazer/queries.js +68 -58
- data/app/assets/javascripts/blazer/routes.js +11 -11
- data/app/assets/javascripts/blazer/tablesort.js +42 -0
- data/app/assets/javascripts/blazer/tom-select.base.js +4175 -0
- data/app/assets/stylesheets/blazer/application.css +114 -5
- data/app/assets/stylesheets/blazer/tom-select.css +502 -0
- data/app/controllers/blazer/base_controller.rb +1 -1
- data/app/controllers/blazer/checks_controller.rb +5 -2
- data/app/controllers/blazer/queries_controller.rb +3 -1
- data/app/helpers/blazer/base_helper.rb +1 -1
- data/app/models/blazer/check.rb +35 -57
- data/app/views/blazer/_nav.html.erb +1 -1
- data/app/views/blazer/_variables.html.erb +57 -42
- data/app/views/blazer/checks/_form.html.erb +20 -16
- data/app/views/blazer/checks/index.html.erb +17 -20
- data/app/views/blazer/dashboards/_form.html.erb +63 -48
- data/app/views/blazer/dashboards/show.html.erb +23 -16
- data/app/views/blazer/queries/_caching.html.erb +1 -1
- data/app/views/blazer/queries/_chart.html.erb +8 -0
- data/app/views/blazer/queries/_form.html.erb +153 -180
- data/app/views/blazer/queries/_map.html.erb +8 -0
- data/app/views/blazer/queries/docs.html.erb +6 -6
- data/app/views/blazer/queries/edit.html.erb +1 -0
- data/app/views/blazer/queries/home.html.erb +101 -102
- data/app/views/blazer/queries/new.html.erb +1 -0
- data/app/views/blazer/queries/run.html.erb +23 -34
- data/app/views/blazer/queries/schema.html.erb +20 -20
- data/app/views/blazer/queries/show.html.erb +19 -12
- data/app/views/blazer/uploads/index.html.erb +10 -10
- data/app/views/layouts/blazer/application.html.erb +3 -3
- data/lib/blazer/adapters/athena_adapter.rb +12 -6
- data/lib/blazer/adapters/clickhouse_adapter.rb +136 -0
- data/lib/blazer/adapters/druid_adapter.rb +0 -2
- data/lib/blazer/adapters/snowflake2_adapter.rb +198 -0
- data/lib/blazer/adapters/soda_adapter.rb +0 -2
- data/lib/blazer/adapters/sql_adapter.rb +4 -0
- data/lib/blazer/adapters.rb +2 -0
- data/lib/blazer/check_types.rb +20 -0
- data/lib/blazer/email_notifier.rb +49 -0
- data/lib/blazer/result.rb +15 -0
- data/lib/blazer/slack_notifier.rb +39 -7
- data/lib/blazer/version.rb +1 -1
- data/lib/blazer.rb +32 -26
- data/lib/generators/blazer/templates/config.yml.tt +0 -2
- data/licenses/LICENSE-chart.js.txt +1 -1
- metadata +12 -31
- data/app/assets/javascripts/blazer/bootstrap.js +0 -2580
- data/app/assets/javascripts/blazer/jquery.js +0 -10872
- data/app/assets/javascripts/blazer/jquery.stickytableheaders.js +0 -325
- data/app/assets/javascripts/blazer/rails-ujs.js +0 -746
- data/app/assets/javascripts/blazer/selectize.js +0 -3891
- data/app/assets/javascripts/blazer/stupidtable-custom-settings.js +0 -13
- data/app/assets/javascripts/blazer/stupidtable.js +0 -281
- data/app/assets/javascripts/blazer/vue.global.prod.js +0 -1
- data/app/assets/stylesheets/blazer/selectize.css +0 -403
- data/licenses/LICENSE-jquery.txt +0 -20
- data/licenses/LICENSE-rails-ujs.txt +0 -20
- data/licenses/LICENSE-stickytableheaders.txt +0 -20
- data/licenses/LICENSE-stupidtable.txt +0 -19
- data/licenses/LICENSE-vue.txt +0 -21
- /data/licenses/{LICENSE-selectize.txt → LICENSE-tom-select.txt} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//! moment.js
|
|
2
|
-
//! version : 2.
|
|
2
|
+
//! version : 2.30.1
|
|
3
3
|
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
|
|
4
4
|
//! license : MIT
|
|
5
5
|
//! momentjs.com
|
|
@@ -155,24 +155,25 @@
|
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
function isValid(m) {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
158
|
+
var flags = null,
|
|
159
|
+
parsedParts = false,
|
|
160
|
+
isNowValid = m._d && !isNaN(m._d.getTime());
|
|
161
|
+
if (isNowValid) {
|
|
162
|
+
flags = getParsingFlags(m);
|
|
163
|
+
parsedParts = some.call(flags.parsedDateParts, function (i) {
|
|
164
|
+
return i != null;
|
|
165
|
+
});
|
|
166
|
+
isNowValid =
|
|
167
|
+
flags.overflow < 0 &&
|
|
168
|
+
!flags.empty &&
|
|
169
|
+
!flags.invalidEra &&
|
|
170
|
+
!flags.invalidMonth &&
|
|
171
|
+
!flags.invalidWeekday &&
|
|
172
|
+
!flags.weekdayMismatch &&
|
|
173
|
+
!flags.nullInput &&
|
|
174
|
+
!flags.invalidFormat &&
|
|
175
|
+
!flags.userInvalidated &&
|
|
176
|
+
(!flags.meridiem || (flags.meridiem && parsedParts));
|
|
176
177
|
if (m._strict) {
|
|
177
178
|
isNowValid =
|
|
178
179
|
isNowValid &&
|
|
@@ -180,12 +181,11 @@
|
|
|
180
181
|
flags.unusedTokens.length === 0 &&
|
|
181
182
|
flags.bigHour === undefined;
|
|
182
183
|
}
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
}
|
|
184
|
+
}
|
|
185
|
+
if (Object.isFrozen == null || !Object.isFrozen(m)) {
|
|
186
|
+
m._isValid = isNowValid;
|
|
187
|
+
} else {
|
|
188
|
+
return isNowValid;
|
|
189
189
|
}
|
|
190
190
|
return m._isValid;
|
|
191
191
|
}
|
|
@@ -630,12 +630,56 @@
|
|
|
630
630
|
return isFunction(format) ? format(output) : format.replace(/%s/i, output);
|
|
631
631
|
}
|
|
632
632
|
|
|
633
|
-
var aliases = {
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
633
|
+
var aliases = {
|
|
634
|
+
D: 'date',
|
|
635
|
+
dates: 'date',
|
|
636
|
+
date: 'date',
|
|
637
|
+
d: 'day',
|
|
638
|
+
days: 'day',
|
|
639
|
+
day: 'day',
|
|
640
|
+
e: 'weekday',
|
|
641
|
+
weekdays: 'weekday',
|
|
642
|
+
weekday: 'weekday',
|
|
643
|
+
E: 'isoWeekday',
|
|
644
|
+
isoweekdays: 'isoWeekday',
|
|
645
|
+
isoweekday: 'isoWeekday',
|
|
646
|
+
DDD: 'dayOfYear',
|
|
647
|
+
dayofyears: 'dayOfYear',
|
|
648
|
+
dayofyear: 'dayOfYear',
|
|
649
|
+
h: 'hour',
|
|
650
|
+
hours: 'hour',
|
|
651
|
+
hour: 'hour',
|
|
652
|
+
ms: 'millisecond',
|
|
653
|
+
milliseconds: 'millisecond',
|
|
654
|
+
millisecond: 'millisecond',
|
|
655
|
+
m: 'minute',
|
|
656
|
+
minutes: 'minute',
|
|
657
|
+
minute: 'minute',
|
|
658
|
+
M: 'month',
|
|
659
|
+
months: 'month',
|
|
660
|
+
month: 'month',
|
|
661
|
+
Q: 'quarter',
|
|
662
|
+
quarters: 'quarter',
|
|
663
|
+
quarter: 'quarter',
|
|
664
|
+
s: 'second',
|
|
665
|
+
seconds: 'second',
|
|
666
|
+
second: 'second',
|
|
667
|
+
gg: 'weekYear',
|
|
668
|
+
weekyears: 'weekYear',
|
|
669
|
+
weekyear: 'weekYear',
|
|
670
|
+
GG: 'isoWeekYear',
|
|
671
|
+
isoweekyears: 'isoWeekYear',
|
|
672
|
+
isoweekyear: 'isoWeekYear',
|
|
673
|
+
w: 'week',
|
|
674
|
+
weeks: 'week',
|
|
675
|
+
week: 'week',
|
|
676
|
+
W: 'isoWeek',
|
|
677
|
+
isoweeks: 'isoWeek',
|
|
678
|
+
isoweek: 'isoWeek',
|
|
679
|
+
y: 'year',
|
|
680
|
+
years: 'year',
|
|
681
|
+
year: 'year',
|
|
682
|
+
};
|
|
639
683
|
|
|
640
684
|
function normalizeUnits(units) {
|
|
641
685
|
return typeof units === 'string'
|
|
@@ -660,11 +704,24 @@
|
|
|
660
704
|
return normalizedInput;
|
|
661
705
|
}
|
|
662
706
|
|
|
663
|
-
var priorities = {
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
707
|
+
var priorities = {
|
|
708
|
+
date: 9,
|
|
709
|
+
day: 11,
|
|
710
|
+
weekday: 11,
|
|
711
|
+
isoWeekday: 11,
|
|
712
|
+
dayOfYear: 4,
|
|
713
|
+
hour: 13,
|
|
714
|
+
millisecond: 16,
|
|
715
|
+
minute: 14,
|
|
716
|
+
month: 8,
|
|
717
|
+
quarter: 7,
|
|
718
|
+
second: 15,
|
|
719
|
+
weekYear: 1,
|
|
720
|
+
isoWeekYear: 1,
|
|
721
|
+
week: 5,
|
|
722
|
+
isoWeek: 5,
|
|
723
|
+
year: 1,
|
|
724
|
+
};
|
|
668
725
|
|
|
669
726
|
function getPrioritizedUnits(unitsObj) {
|
|
670
727
|
var units = [],
|
|
@@ -680,96 +737,6 @@
|
|
|
680
737
|
return units;
|
|
681
738
|
}
|
|
682
739
|
|
|
683
|
-
function isLeapYear(year) {
|
|
684
|
-
return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
|
|
685
|
-
}
|
|
686
|
-
|
|
687
|
-
function absFloor(number) {
|
|
688
|
-
if (number < 0) {
|
|
689
|
-
// -0 -> 0
|
|
690
|
-
return Math.ceil(number) || 0;
|
|
691
|
-
} else {
|
|
692
|
-
return Math.floor(number);
|
|
693
|
-
}
|
|
694
|
-
}
|
|
695
|
-
|
|
696
|
-
function toInt(argumentForCoercion) {
|
|
697
|
-
var coercedNumber = +argumentForCoercion,
|
|
698
|
-
value = 0;
|
|
699
|
-
|
|
700
|
-
if (coercedNumber !== 0 && isFinite(coercedNumber)) {
|
|
701
|
-
value = absFloor(coercedNumber);
|
|
702
|
-
}
|
|
703
|
-
|
|
704
|
-
return value;
|
|
705
|
-
}
|
|
706
|
-
|
|
707
|
-
function makeGetSet(unit, keepTime) {
|
|
708
|
-
return function (value) {
|
|
709
|
-
if (value != null) {
|
|
710
|
-
set$1(this, unit, value);
|
|
711
|
-
hooks.updateOffset(this, keepTime);
|
|
712
|
-
return this;
|
|
713
|
-
} else {
|
|
714
|
-
return get(this, unit);
|
|
715
|
-
}
|
|
716
|
-
};
|
|
717
|
-
}
|
|
718
|
-
|
|
719
|
-
function get(mom, unit) {
|
|
720
|
-
return mom.isValid()
|
|
721
|
-
? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()
|
|
722
|
-
: NaN;
|
|
723
|
-
}
|
|
724
|
-
|
|
725
|
-
function set$1(mom, unit, value) {
|
|
726
|
-
if (mom.isValid() && !isNaN(value)) {
|
|
727
|
-
if (
|
|
728
|
-
unit === 'FullYear' &&
|
|
729
|
-
isLeapYear(mom.year()) &&
|
|
730
|
-
mom.month() === 1 &&
|
|
731
|
-
mom.date() === 29
|
|
732
|
-
) {
|
|
733
|
-
value = toInt(value);
|
|
734
|
-
mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](
|
|
735
|
-
value,
|
|
736
|
-
mom.month(),
|
|
737
|
-
daysInMonth(value, mom.month())
|
|
738
|
-
);
|
|
739
|
-
} else {
|
|
740
|
-
mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
|
|
741
|
-
}
|
|
742
|
-
}
|
|
743
|
-
}
|
|
744
|
-
|
|
745
|
-
// MOMENTS
|
|
746
|
-
|
|
747
|
-
function stringGet(units) {
|
|
748
|
-
units = normalizeUnits(units);
|
|
749
|
-
if (isFunction(this[units])) {
|
|
750
|
-
return this[units]();
|
|
751
|
-
}
|
|
752
|
-
return this;
|
|
753
|
-
}
|
|
754
|
-
|
|
755
|
-
function stringSet(units, value) {
|
|
756
|
-
if (typeof units === 'object') {
|
|
757
|
-
units = normalizeObjectUnits(units);
|
|
758
|
-
var prioritized = getPrioritizedUnits(units),
|
|
759
|
-
i,
|
|
760
|
-
prioritizedLen = prioritized.length;
|
|
761
|
-
for (i = 0; i < prioritizedLen; i++) {
|
|
762
|
-
this[prioritized[i].unit](units[prioritized[i].unit]);
|
|
763
|
-
}
|
|
764
|
-
} else {
|
|
765
|
-
units = normalizeUnits(units);
|
|
766
|
-
if (isFunction(this[units])) {
|
|
767
|
-
return this[units](value);
|
|
768
|
-
}
|
|
769
|
-
}
|
|
770
|
-
return this;
|
|
771
|
-
}
|
|
772
|
-
|
|
773
740
|
var match1 = /\d/, // 0 - 9
|
|
774
741
|
match2 = /\d\d/, // 00 - 99
|
|
775
742
|
match3 = /\d{3}/, // 000 - 999
|
|
@@ -790,6 +757,8 @@
|
|
|
790
757
|
// includes scottish gaelic two word and hyphenated months
|
|
791
758
|
matchWord =
|
|
792
759
|
/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,
|
|
760
|
+
match1to2NoLeadingZero = /^[1-9]\d?/, // 1-99
|
|
761
|
+
match1to2HasZero = /^([1-9]\d|\d)/, // 0-99
|
|
793
762
|
regexes;
|
|
794
763
|
|
|
795
764
|
regexes = {};
|
|
@@ -828,6 +797,26 @@
|
|
|
828
797
|
return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
|
|
829
798
|
}
|
|
830
799
|
|
|
800
|
+
function absFloor(number) {
|
|
801
|
+
if (number < 0) {
|
|
802
|
+
// -0 -> 0
|
|
803
|
+
return Math.ceil(number) || 0;
|
|
804
|
+
} else {
|
|
805
|
+
return Math.floor(number);
|
|
806
|
+
}
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
function toInt(argumentForCoercion) {
|
|
810
|
+
var coercedNumber = +argumentForCoercion,
|
|
811
|
+
value = 0;
|
|
812
|
+
|
|
813
|
+
if (coercedNumber !== 0 && isFinite(coercedNumber)) {
|
|
814
|
+
value = absFloor(coercedNumber);
|
|
815
|
+
}
|
|
816
|
+
|
|
817
|
+
return value;
|
|
818
|
+
}
|
|
819
|
+
|
|
831
820
|
var tokens = {};
|
|
832
821
|
|
|
833
822
|
function addParseToken(token, callback) {
|
|
@@ -861,6 +850,10 @@
|
|
|
861
850
|
}
|
|
862
851
|
}
|
|
863
852
|
|
|
853
|
+
function isLeapYear(year) {
|
|
854
|
+
return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
|
|
855
|
+
}
|
|
856
|
+
|
|
864
857
|
var YEAR = 0,
|
|
865
858
|
MONTH = 1,
|
|
866
859
|
DATE = 2,
|
|
@@ -871,6 +864,173 @@
|
|
|
871
864
|
WEEK = 7,
|
|
872
865
|
WEEKDAY = 8;
|
|
873
866
|
|
|
867
|
+
// FORMATTING
|
|
868
|
+
|
|
869
|
+
addFormatToken('Y', 0, 0, function () {
|
|
870
|
+
var y = this.year();
|
|
871
|
+
return y <= 9999 ? zeroFill(y, 4) : '+' + y;
|
|
872
|
+
});
|
|
873
|
+
|
|
874
|
+
addFormatToken(0, ['YY', 2], 0, function () {
|
|
875
|
+
return this.year() % 100;
|
|
876
|
+
});
|
|
877
|
+
|
|
878
|
+
addFormatToken(0, ['YYYY', 4], 0, 'year');
|
|
879
|
+
addFormatToken(0, ['YYYYY', 5], 0, 'year');
|
|
880
|
+
addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
|
|
881
|
+
|
|
882
|
+
// PARSING
|
|
883
|
+
|
|
884
|
+
addRegexToken('Y', matchSigned);
|
|
885
|
+
addRegexToken('YY', match1to2, match2);
|
|
886
|
+
addRegexToken('YYYY', match1to4, match4);
|
|
887
|
+
addRegexToken('YYYYY', match1to6, match6);
|
|
888
|
+
addRegexToken('YYYYYY', match1to6, match6);
|
|
889
|
+
|
|
890
|
+
addParseToken(['YYYYY', 'YYYYYY'], YEAR);
|
|
891
|
+
addParseToken('YYYY', function (input, array) {
|
|
892
|
+
array[YEAR] =
|
|
893
|
+
input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
|
|
894
|
+
});
|
|
895
|
+
addParseToken('YY', function (input, array) {
|
|
896
|
+
array[YEAR] = hooks.parseTwoDigitYear(input);
|
|
897
|
+
});
|
|
898
|
+
addParseToken('Y', function (input, array) {
|
|
899
|
+
array[YEAR] = parseInt(input, 10);
|
|
900
|
+
});
|
|
901
|
+
|
|
902
|
+
// HELPERS
|
|
903
|
+
|
|
904
|
+
function daysInYear(year) {
|
|
905
|
+
return isLeapYear(year) ? 366 : 365;
|
|
906
|
+
}
|
|
907
|
+
|
|
908
|
+
// HOOKS
|
|
909
|
+
|
|
910
|
+
hooks.parseTwoDigitYear = function (input) {
|
|
911
|
+
return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
|
|
912
|
+
};
|
|
913
|
+
|
|
914
|
+
// MOMENTS
|
|
915
|
+
|
|
916
|
+
var getSetYear = makeGetSet('FullYear', true);
|
|
917
|
+
|
|
918
|
+
function getIsLeapYear() {
|
|
919
|
+
return isLeapYear(this.year());
|
|
920
|
+
}
|
|
921
|
+
|
|
922
|
+
function makeGetSet(unit, keepTime) {
|
|
923
|
+
return function (value) {
|
|
924
|
+
if (value != null) {
|
|
925
|
+
set$1(this, unit, value);
|
|
926
|
+
hooks.updateOffset(this, keepTime);
|
|
927
|
+
return this;
|
|
928
|
+
} else {
|
|
929
|
+
return get(this, unit);
|
|
930
|
+
}
|
|
931
|
+
};
|
|
932
|
+
}
|
|
933
|
+
|
|
934
|
+
function get(mom, unit) {
|
|
935
|
+
if (!mom.isValid()) {
|
|
936
|
+
return NaN;
|
|
937
|
+
}
|
|
938
|
+
|
|
939
|
+
var d = mom._d,
|
|
940
|
+
isUTC = mom._isUTC;
|
|
941
|
+
|
|
942
|
+
switch (unit) {
|
|
943
|
+
case 'Milliseconds':
|
|
944
|
+
return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();
|
|
945
|
+
case 'Seconds':
|
|
946
|
+
return isUTC ? d.getUTCSeconds() : d.getSeconds();
|
|
947
|
+
case 'Minutes':
|
|
948
|
+
return isUTC ? d.getUTCMinutes() : d.getMinutes();
|
|
949
|
+
case 'Hours':
|
|
950
|
+
return isUTC ? d.getUTCHours() : d.getHours();
|
|
951
|
+
case 'Date':
|
|
952
|
+
return isUTC ? d.getUTCDate() : d.getDate();
|
|
953
|
+
case 'Day':
|
|
954
|
+
return isUTC ? d.getUTCDay() : d.getDay();
|
|
955
|
+
case 'Month':
|
|
956
|
+
return isUTC ? d.getUTCMonth() : d.getMonth();
|
|
957
|
+
case 'FullYear':
|
|
958
|
+
return isUTC ? d.getUTCFullYear() : d.getFullYear();
|
|
959
|
+
default:
|
|
960
|
+
return NaN; // Just in case
|
|
961
|
+
}
|
|
962
|
+
}
|
|
963
|
+
|
|
964
|
+
function set$1(mom, unit, value) {
|
|
965
|
+
var d, isUTC, year, month, date;
|
|
966
|
+
|
|
967
|
+
if (!mom.isValid() || isNaN(value)) {
|
|
968
|
+
return;
|
|
969
|
+
}
|
|
970
|
+
|
|
971
|
+
d = mom._d;
|
|
972
|
+
isUTC = mom._isUTC;
|
|
973
|
+
|
|
974
|
+
switch (unit) {
|
|
975
|
+
case 'Milliseconds':
|
|
976
|
+
return void (isUTC
|
|
977
|
+
? d.setUTCMilliseconds(value)
|
|
978
|
+
: d.setMilliseconds(value));
|
|
979
|
+
case 'Seconds':
|
|
980
|
+
return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));
|
|
981
|
+
case 'Minutes':
|
|
982
|
+
return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));
|
|
983
|
+
case 'Hours':
|
|
984
|
+
return void (isUTC ? d.setUTCHours(value) : d.setHours(value));
|
|
985
|
+
case 'Date':
|
|
986
|
+
return void (isUTC ? d.setUTCDate(value) : d.setDate(value));
|
|
987
|
+
// case 'Day': // Not real
|
|
988
|
+
// return void (isUTC ? d.setUTCDay(value) : d.setDay(value));
|
|
989
|
+
// case 'Month': // Not used because we need to pass two variables
|
|
990
|
+
// return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));
|
|
991
|
+
case 'FullYear':
|
|
992
|
+
break; // See below ...
|
|
993
|
+
default:
|
|
994
|
+
return; // Just in case
|
|
995
|
+
}
|
|
996
|
+
|
|
997
|
+
year = value;
|
|
998
|
+
month = mom.month();
|
|
999
|
+
date = mom.date();
|
|
1000
|
+
date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;
|
|
1001
|
+
void (isUTC
|
|
1002
|
+
? d.setUTCFullYear(year, month, date)
|
|
1003
|
+
: d.setFullYear(year, month, date));
|
|
1004
|
+
}
|
|
1005
|
+
|
|
1006
|
+
// MOMENTS
|
|
1007
|
+
|
|
1008
|
+
function stringGet(units) {
|
|
1009
|
+
units = normalizeUnits(units);
|
|
1010
|
+
if (isFunction(this[units])) {
|
|
1011
|
+
return this[units]();
|
|
1012
|
+
}
|
|
1013
|
+
return this;
|
|
1014
|
+
}
|
|
1015
|
+
|
|
1016
|
+
function stringSet(units, value) {
|
|
1017
|
+
if (typeof units === 'object') {
|
|
1018
|
+
units = normalizeObjectUnits(units);
|
|
1019
|
+
var prioritized = getPrioritizedUnits(units),
|
|
1020
|
+
i,
|
|
1021
|
+
prioritizedLen = prioritized.length;
|
|
1022
|
+
for (i = 0; i < prioritizedLen; i++) {
|
|
1023
|
+
this[prioritized[i].unit](units[prioritized[i].unit]);
|
|
1024
|
+
}
|
|
1025
|
+
} else {
|
|
1026
|
+
units = normalizeUnits(units);
|
|
1027
|
+
if (isFunction(this[units])) {
|
|
1028
|
+
return this[units](value);
|
|
1029
|
+
}
|
|
1030
|
+
}
|
|
1031
|
+
return this;
|
|
1032
|
+
}
|
|
1033
|
+
|
|
874
1034
|
function mod(n, x) {
|
|
875
1035
|
return ((n % x) + x) % x;
|
|
876
1036
|
}
|
|
@@ -919,17 +1079,9 @@
|
|
|
919
1079
|
return this.localeData().months(this, format);
|
|
920
1080
|
});
|
|
921
1081
|
|
|
922
|
-
// ALIASES
|
|
923
|
-
|
|
924
|
-
addUnitAlias('month', 'M');
|
|
925
|
-
|
|
926
|
-
// PRIORITY
|
|
927
|
-
|
|
928
|
-
addUnitPriority('month', 8);
|
|
929
|
-
|
|
930
1082
|
// PARSING
|
|
931
1083
|
|
|
932
|
-
addRegexToken('M', match1to2);
|
|
1084
|
+
addRegexToken('M', match1to2, match1to2NoLeadingZero);
|
|
933
1085
|
addRegexToken('MM', match1to2, match2);
|
|
934
1086
|
addRegexToken('MMM', function (isStrict, locale) {
|
|
935
1087
|
return locale.monthsShortRegex(isStrict);
|
|
@@ -1095,8 +1247,6 @@
|
|
|
1095
1247
|
// MOMENTS
|
|
1096
1248
|
|
|
1097
1249
|
function setMonth(mom, value) {
|
|
1098
|
-
var dayOfMonth;
|
|
1099
|
-
|
|
1100
1250
|
if (!mom.isValid()) {
|
|
1101
1251
|
// No op
|
|
1102
1252
|
return mom;
|
|
@@ -1114,8 +1264,13 @@
|
|
|
1114
1264
|
}
|
|
1115
1265
|
}
|
|
1116
1266
|
|
|
1117
|
-
|
|
1118
|
-
|
|
1267
|
+
var month = value,
|
|
1268
|
+
date = mom.date();
|
|
1269
|
+
|
|
1270
|
+
date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));
|
|
1271
|
+
void (mom._isUTC
|
|
1272
|
+
? mom._d.setUTCMonth(month, date)
|
|
1273
|
+
: mom._d.setMonth(month, date));
|
|
1119
1274
|
return mom;
|
|
1120
1275
|
}
|
|
1121
1276
|
|
|
@@ -1182,27 +1337,24 @@
|
|
|
1182
1337
|
longPieces = [],
|
|
1183
1338
|
mixedPieces = [],
|
|
1184
1339
|
i,
|
|
1185
|
-
mom
|
|
1340
|
+
mom,
|
|
1341
|
+
shortP,
|
|
1342
|
+
longP;
|
|
1186
1343
|
for (i = 0; i < 12; i++) {
|
|
1187
1344
|
// make the regex if we don't have it already
|
|
1188
1345
|
mom = createUTC([2000, i]);
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1346
|
+
shortP = regexEscape(this.monthsShort(mom, ''));
|
|
1347
|
+
longP = regexEscape(this.months(mom, ''));
|
|
1348
|
+
shortPieces.push(shortP);
|
|
1349
|
+
longPieces.push(longP);
|
|
1350
|
+
mixedPieces.push(longP);
|
|
1351
|
+
mixedPieces.push(shortP);
|
|
1193
1352
|
}
|
|
1194
1353
|
// Sorting makes sure if one month (or abbr) is a prefix of another it
|
|
1195
1354
|
// will match the longer piece.
|
|
1196
1355
|
shortPieces.sort(cmpLenRev);
|
|
1197
1356
|
longPieces.sort(cmpLenRev);
|
|
1198
1357
|
mixedPieces.sort(cmpLenRev);
|
|
1199
|
-
for (i = 0; i < 12; i++) {
|
|
1200
|
-
shortPieces[i] = regexEscape(shortPieces[i]);
|
|
1201
|
-
longPieces[i] = regexEscape(longPieces[i]);
|
|
1202
|
-
}
|
|
1203
|
-
for (i = 0; i < 24; i++) {
|
|
1204
|
-
mixedPieces[i] = regexEscape(mixedPieces[i]);
|
|
1205
|
-
}
|
|
1206
1358
|
|
|
1207
1359
|
this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
|
|
1208
1360
|
this._monthsShortRegex = this._monthsRegex;
|
|
@@ -1216,69 +1368,6 @@
|
|
|
1216
1368
|
);
|
|
1217
1369
|
}
|
|
1218
1370
|
|
|
1219
|
-
// FORMATTING
|
|
1220
|
-
|
|
1221
|
-
addFormatToken('Y', 0, 0, function () {
|
|
1222
|
-
var y = this.year();
|
|
1223
|
-
return y <= 9999 ? zeroFill(y, 4) : '+' + y;
|
|
1224
|
-
});
|
|
1225
|
-
|
|
1226
|
-
addFormatToken(0, ['YY', 2], 0, function () {
|
|
1227
|
-
return this.year() % 100;
|
|
1228
|
-
});
|
|
1229
|
-
|
|
1230
|
-
addFormatToken(0, ['YYYY', 4], 0, 'year');
|
|
1231
|
-
addFormatToken(0, ['YYYYY', 5], 0, 'year');
|
|
1232
|
-
addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
|
|
1233
|
-
|
|
1234
|
-
// ALIASES
|
|
1235
|
-
|
|
1236
|
-
addUnitAlias('year', 'y');
|
|
1237
|
-
|
|
1238
|
-
// PRIORITIES
|
|
1239
|
-
|
|
1240
|
-
addUnitPriority('year', 1);
|
|
1241
|
-
|
|
1242
|
-
// PARSING
|
|
1243
|
-
|
|
1244
|
-
addRegexToken('Y', matchSigned);
|
|
1245
|
-
addRegexToken('YY', match1to2, match2);
|
|
1246
|
-
addRegexToken('YYYY', match1to4, match4);
|
|
1247
|
-
addRegexToken('YYYYY', match1to6, match6);
|
|
1248
|
-
addRegexToken('YYYYYY', match1to6, match6);
|
|
1249
|
-
|
|
1250
|
-
addParseToken(['YYYYY', 'YYYYYY'], YEAR);
|
|
1251
|
-
addParseToken('YYYY', function (input, array) {
|
|
1252
|
-
array[YEAR] =
|
|
1253
|
-
input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
|
|
1254
|
-
});
|
|
1255
|
-
addParseToken('YY', function (input, array) {
|
|
1256
|
-
array[YEAR] = hooks.parseTwoDigitYear(input);
|
|
1257
|
-
});
|
|
1258
|
-
addParseToken('Y', function (input, array) {
|
|
1259
|
-
array[YEAR] = parseInt(input, 10);
|
|
1260
|
-
});
|
|
1261
|
-
|
|
1262
|
-
// HELPERS
|
|
1263
|
-
|
|
1264
|
-
function daysInYear(year) {
|
|
1265
|
-
return isLeapYear(year) ? 366 : 365;
|
|
1266
|
-
}
|
|
1267
|
-
|
|
1268
|
-
// HOOKS
|
|
1269
|
-
|
|
1270
|
-
hooks.parseTwoDigitYear = function (input) {
|
|
1271
|
-
return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
|
|
1272
|
-
};
|
|
1273
|
-
|
|
1274
|
-
// MOMENTS
|
|
1275
|
-
|
|
1276
|
-
var getSetYear = makeGetSet('FullYear', true);
|
|
1277
|
-
|
|
1278
|
-
function getIsLeapYear() {
|
|
1279
|
-
return isLeapYear(this.year());
|
|
1280
|
-
}
|
|
1281
|
-
|
|
1282
1371
|
function createDate(y, m, d, h, M, s, ms) {
|
|
1283
1372
|
// can't just apply() to create a date:
|
|
1284
1373
|
// https://stackoverflow.com/q/181348
|
|
@@ -1384,21 +1473,11 @@
|
|
|
1384
1473
|
addFormatToken('w', ['ww', 2], 'wo', 'week');
|
|
1385
1474
|
addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');
|
|
1386
1475
|
|
|
1387
|
-
// ALIASES
|
|
1388
|
-
|
|
1389
|
-
addUnitAlias('week', 'w');
|
|
1390
|
-
addUnitAlias('isoWeek', 'W');
|
|
1391
|
-
|
|
1392
|
-
// PRIORITIES
|
|
1393
|
-
|
|
1394
|
-
addUnitPriority('week', 5);
|
|
1395
|
-
addUnitPriority('isoWeek', 5);
|
|
1396
|
-
|
|
1397
1476
|
// PARSING
|
|
1398
1477
|
|
|
1399
|
-
addRegexToken('w', match1to2);
|
|
1478
|
+
addRegexToken('w', match1to2, match1to2NoLeadingZero);
|
|
1400
1479
|
addRegexToken('ww', match1to2, match2);
|
|
1401
|
-
addRegexToken('W', match1to2);
|
|
1480
|
+
addRegexToken('W', match1to2, match1to2NoLeadingZero);
|
|
1402
1481
|
addRegexToken('WW', match1to2, match2);
|
|
1403
1482
|
|
|
1404
1483
|
addWeekParseToken(
|
|
@@ -1460,17 +1539,6 @@
|
|
|
1460
1539
|
addFormatToken('e', 0, 0, 'weekday');
|
|
1461
1540
|
addFormatToken('E', 0, 0, 'isoWeekday');
|
|
1462
1541
|
|
|
1463
|
-
// ALIASES
|
|
1464
|
-
|
|
1465
|
-
addUnitAlias('day', 'd');
|
|
1466
|
-
addUnitAlias('weekday', 'e');
|
|
1467
|
-
addUnitAlias('isoWeekday', 'E');
|
|
1468
|
-
|
|
1469
|
-
// PRIORITY
|
|
1470
|
-
addUnitPriority('day', 11);
|
|
1471
|
-
addUnitPriority('weekday', 11);
|
|
1472
|
-
addUnitPriority('isoWeekday', 11);
|
|
1473
|
-
|
|
1474
1542
|
// PARSING
|
|
1475
1543
|
|
|
1476
1544
|
addRegexToken('d', match1to2);
|
|
@@ -1550,24 +1618,24 @@
|
|
|
1550
1618
|
return m === true
|
|
1551
1619
|
? shiftWeekdays(weekdays, this._week.dow)
|
|
1552
1620
|
: m
|
|
1553
|
-
|
|
1554
|
-
|
|
1621
|
+
? weekdays[m.day()]
|
|
1622
|
+
: weekdays;
|
|
1555
1623
|
}
|
|
1556
1624
|
|
|
1557
1625
|
function localeWeekdaysShort(m) {
|
|
1558
1626
|
return m === true
|
|
1559
1627
|
? shiftWeekdays(this._weekdaysShort, this._week.dow)
|
|
1560
1628
|
: m
|
|
1561
|
-
|
|
1562
|
-
|
|
1629
|
+
? this._weekdaysShort[m.day()]
|
|
1630
|
+
: this._weekdaysShort;
|
|
1563
1631
|
}
|
|
1564
1632
|
|
|
1565
1633
|
function localeWeekdaysMin(m) {
|
|
1566
1634
|
return m === true
|
|
1567
1635
|
? shiftWeekdays(this._weekdaysMin, this._week.dow)
|
|
1568
1636
|
: m
|
|
1569
|
-
|
|
1570
|
-
|
|
1637
|
+
? this._weekdaysMin[m.day()]
|
|
1638
|
+
: this._weekdaysMin;
|
|
1571
1639
|
}
|
|
1572
1640
|
|
|
1573
1641
|
function handleStrictParse$1(weekdayName, format, strict) {
|
|
@@ -1716,7 +1784,8 @@
|
|
|
1716
1784
|
if (!this.isValid()) {
|
|
1717
1785
|
return input != null ? this : NaN;
|
|
1718
1786
|
}
|
|
1719
|
-
|
|
1787
|
+
|
|
1788
|
+
var day = get(this, 'Day');
|
|
1720
1789
|
if (input != null) {
|
|
1721
1790
|
input = parseWeekday(input, this.localeData());
|
|
1722
1791
|
return this.add(input - day, 'd');
|
|
@@ -1915,13 +1984,6 @@
|
|
|
1915
1984
|
meridiem('a', true);
|
|
1916
1985
|
meridiem('A', false);
|
|
1917
1986
|
|
|
1918
|
-
// ALIASES
|
|
1919
|
-
|
|
1920
|
-
addUnitAlias('hour', 'h');
|
|
1921
|
-
|
|
1922
|
-
// PRIORITY
|
|
1923
|
-
addUnitPriority('hour', 13);
|
|
1924
|
-
|
|
1925
1987
|
// PARSING
|
|
1926
1988
|
|
|
1927
1989
|
function matchMeridiem(isStrict, locale) {
|
|
@@ -1930,9 +1992,9 @@
|
|
|
1930
1992
|
|
|
1931
1993
|
addRegexToken('a', matchMeridiem);
|
|
1932
1994
|
addRegexToken('A', matchMeridiem);
|
|
1933
|
-
addRegexToken('H', match1to2);
|
|
1934
|
-
addRegexToken('h', match1to2);
|
|
1935
|
-
addRegexToken('k', match1to2);
|
|
1995
|
+
addRegexToken('H', match1to2, match1to2HasZero);
|
|
1996
|
+
addRegexToken('h', match1to2, match1to2NoLeadingZero);
|
|
1997
|
+
addRegexToken('k', match1to2, match1to2NoLeadingZero);
|
|
1936
1998
|
addRegexToken('HH', match1to2, match2);
|
|
1937
1999
|
addRegexToken('hh', match1to2, match2);
|
|
1938
2000
|
addRegexToken('kk', match1to2, match2);
|
|
@@ -2082,7 +2144,8 @@
|
|
|
2082
2144
|
|
|
2083
2145
|
function isLocaleNameSane(name) {
|
|
2084
2146
|
// Prevent names that look like filesystem paths, i.e contain '/' or '\'
|
|
2085
|
-
|
|
2147
|
+
// Ensure name is available and function returns boolean
|
|
2148
|
+
return !!(name && name.match('^[^/\\\\]*$'));
|
|
2086
2149
|
}
|
|
2087
2150
|
|
|
2088
2151
|
function loadLocale(name) {
|
|
@@ -2274,21 +2337,21 @@
|
|
|
2274
2337
|
a[MONTH] < 0 || a[MONTH] > 11
|
|
2275
2338
|
? MONTH
|
|
2276
2339
|
: a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2340
|
+
? DATE
|
|
2341
|
+
: a[HOUR] < 0 ||
|
|
2342
|
+
a[HOUR] > 24 ||
|
|
2343
|
+
(a[HOUR] === 24 &&
|
|
2344
|
+
(a[MINUTE] !== 0 ||
|
|
2345
|
+
a[SECOND] !== 0 ||
|
|
2346
|
+
a[MILLISECOND] !== 0))
|
|
2347
|
+
? HOUR
|
|
2348
|
+
: a[MINUTE] < 0 || a[MINUTE] > 59
|
|
2349
|
+
? MINUTE
|
|
2350
|
+
: a[SECOND] < 0 || a[SECOND] > 59
|
|
2351
|
+
? SECOND
|
|
2352
|
+
: a[MILLISECOND] < 0 || a[MILLISECOND] > 999
|
|
2353
|
+
? MILLISECOND
|
|
2354
|
+
: -1;
|
|
2292
2355
|
|
|
2293
2356
|
if (
|
|
2294
2357
|
getParsingFlags(m)._overflowDayOfYear &&
|
|
@@ -3729,16 +3792,16 @@
|
|
|
3729
3792
|
return diff < -6
|
|
3730
3793
|
? 'sameElse'
|
|
3731
3794
|
: diff < -1
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
|
|
3735
|
-
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
|
|
3739
|
-
|
|
3740
|
-
|
|
3741
|
-
|
|
3795
|
+
? 'lastWeek'
|
|
3796
|
+
: diff < 0
|
|
3797
|
+
? 'lastDay'
|
|
3798
|
+
: diff < 1
|
|
3799
|
+
? 'sameDay'
|
|
3800
|
+
: diff < 2
|
|
3801
|
+
? 'nextDay'
|
|
3802
|
+
: diff < 7
|
|
3803
|
+
? 'nextWeek'
|
|
3804
|
+
: 'sameElse';
|
|
3742
3805
|
}
|
|
3743
3806
|
|
|
3744
3807
|
function calendar$1(time, formats) {
|
|
@@ -4546,16 +4609,22 @@
|
|
|
4546
4609
|
mixedPieces = [],
|
|
4547
4610
|
i,
|
|
4548
4611
|
l,
|
|
4612
|
+
erasName,
|
|
4613
|
+
erasAbbr,
|
|
4614
|
+
erasNarrow,
|
|
4549
4615
|
eras = this.eras();
|
|
4550
4616
|
|
|
4551
4617
|
for (i = 0, l = eras.length; i < l; ++i) {
|
|
4552
|
-
|
|
4553
|
-
|
|
4554
|
-
|
|
4618
|
+
erasName = regexEscape(eras[i].name);
|
|
4619
|
+
erasAbbr = regexEscape(eras[i].abbr);
|
|
4620
|
+
erasNarrow = regexEscape(eras[i].narrow);
|
|
4555
4621
|
|
|
4556
|
-
|
|
4557
|
-
|
|
4558
|
-
|
|
4622
|
+
namePieces.push(erasName);
|
|
4623
|
+
abbrPieces.push(erasAbbr);
|
|
4624
|
+
narrowPieces.push(erasNarrow);
|
|
4625
|
+
mixedPieces.push(erasName);
|
|
4626
|
+
mixedPieces.push(erasAbbr);
|
|
4627
|
+
mixedPieces.push(erasNarrow);
|
|
4559
4628
|
}
|
|
4560
4629
|
|
|
4561
4630
|
this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
|
|
@@ -4588,14 +4657,6 @@
|
|
|
4588
4657
|
|
|
4589
4658
|
// ALIASES
|
|
4590
4659
|
|
|
4591
|
-
addUnitAlias('weekYear', 'gg');
|
|
4592
|
-
addUnitAlias('isoWeekYear', 'GG');
|
|
4593
|
-
|
|
4594
|
-
// PRIORITY
|
|
4595
|
-
|
|
4596
|
-
addUnitPriority('weekYear', 1);
|
|
4597
|
-
addUnitPriority('isoWeekYear', 1);
|
|
4598
|
-
|
|
4599
4660
|
// PARSING
|
|
4600
4661
|
|
|
4601
4662
|
addRegexToken('G', matchSigned);
|
|
@@ -4625,7 +4686,7 @@
|
|
|
4625
4686
|
this,
|
|
4626
4687
|
input,
|
|
4627
4688
|
this.week(),
|
|
4628
|
-
this.weekday(),
|
|
4689
|
+
this.weekday() + this.localeData()._week.dow,
|
|
4629
4690
|
this.localeData()._week.dow,
|
|
4630
4691
|
this.localeData()._week.doy
|
|
4631
4692
|
);
|
|
@@ -4687,14 +4748,6 @@
|
|
|
4687
4748
|
|
|
4688
4749
|
addFormatToken('Q', 0, 'Qo', 'quarter');
|
|
4689
4750
|
|
|
4690
|
-
// ALIASES
|
|
4691
|
-
|
|
4692
|
-
addUnitAlias('quarter', 'Q');
|
|
4693
|
-
|
|
4694
|
-
// PRIORITY
|
|
4695
|
-
|
|
4696
|
-
addUnitPriority('quarter', 7);
|
|
4697
|
-
|
|
4698
4751
|
// PARSING
|
|
4699
4752
|
|
|
4700
4753
|
addRegexToken('Q', match1);
|
|
@@ -4714,16 +4767,9 @@
|
|
|
4714
4767
|
|
|
4715
4768
|
addFormatToken('D', ['DD', 2], 'Do', 'date');
|
|
4716
4769
|
|
|
4717
|
-
// ALIASES
|
|
4718
|
-
|
|
4719
|
-
addUnitAlias('date', 'D');
|
|
4720
|
-
|
|
4721
|
-
// PRIORITY
|
|
4722
|
-
addUnitPriority('date', 9);
|
|
4723
|
-
|
|
4724
4770
|
// PARSING
|
|
4725
4771
|
|
|
4726
|
-
addRegexToken('D', match1to2);
|
|
4772
|
+
addRegexToken('D', match1to2, match1to2NoLeadingZero);
|
|
4727
4773
|
addRegexToken('DD', match1to2, match2);
|
|
4728
4774
|
addRegexToken('Do', function (isStrict, locale) {
|
|
4729
4775
|
// TODO: Remove "ordinalParse" fallback in next major release.
|
|
@@ -4745,13 +4791,6 @@
|
|
|
4745
4791
|
|
|
4746
4792
|
addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
|
|
4747
4793
|
|
|
4748
|
-
// ALIASES
|
|
4749
|
-
|
|
4750
|
-
addUnitAlias('dayOfYear', 'DDD');
|
|
4751
|
-
|
|
4752
|
-
// PRIORITY
|
|
4753
|
-
addUnitPriority('dayOfYear', 4);
|
|
4754
|
-
|
|
4755
4794
|
// PARSING
|
|
4756
4795
|
|
|
4757
4796
|
addRegexToken('DDD', match1to3);
|
|
@@ -4776,17 +4815,9 @@
|
|
|
4776
4815
|
|
|
4777
4816
|
addFormatToken('m', ['mm', 2], 0, 'minute');
|
|
4778
4817
|
|
|
4779
|
-
// ALIASES
|
|
4780
|
-
|
|
4781
|
-
addUnitAlias('minute', 'm');
|
|
4782
|
-
|
|
4783
|
-
// PRIORITY
|
|
4784
|
-
|
|
4785
|
-
addUnitPriority('minute', 14);
|
|
4786
|
-
|
|
4787
4818
|
// PARSING
|
|
4788
4819
|
|
|
4789
|
-
addRegexToken('m', match1to2);
|
|
4820
|
+
addRegexToken('m', match1to2, match1to2HasZero);
|
|
4790
4821
|
addRegexToken('mm', match1to2, match2);
|
|
4791
4822
|
addParseToken(['m', 'mm'], MINUTE);
|
|
4792
4823
|
|
|
@@ -4798,17 +4829,9 @@
|
|
|
4798
4829
|
|
|
4799
4830
|
addFormatToken('s', ['ss', 2], 0, 'second');
|
|
4800
4831
|
|
|
4801
|
-
// ALIASES
|
|
4802
|
-
|
|
4803
|
-
addUnitAlias('second', 's');
|
|
4804
|
-
|
|
4805
|
-
// PRIORITY
|
|
4806
|
-
|
|
4807
|
-
addUnitPriority('second', 15);
|
|
4808
|
-
|
|
4809
4832
|
// PARSING
|
|
4810
4833
|
|
|
4811
|
-
addRegexToken('s', match1to2);
|
|
4834
|
+
addRegexToken('s', match1to2, match1to2HasZero);
|
|
4812
4835
|
addRegexToken('ss', match1to2, match2);
|
|
4813
4836
|
addParseToken(['s', 'ss'], SECOND);
|
|
4814
4837
|
|
|
@@ -4846,14 +4869,6 @@
|
|
|
4846
4869
|
return this.millisecond() * 1000000;
|
|
4847
4870
|
});
|
|
4848
4871
|
|
|
4849
|
-
// ALIASES
|
|
4850
|
-
|
|
4851
|
-
addUnitAlias('millisecond', 'ms');
|
|
4852
|
-
|
|
4853
|
-
// PRIORITY
|
|
4854
|
-
|
|
4855
|
-
addUnitPriority('millisecond', 16);
|
|
4856
|
-
|
|
4857
4872
|
// PARSING
|
|
4858
4873
|
|
|
4859
4874
|
addRegexToken('S', match1to3, match1);
|
|
@@ -5161,12 +5176,12 @@
|
|
|
5161
5176
|
toInt((number % 100) / 10) === 1
|
|
5162
5177
|
? 'th'
|
|
5163
5178
|
: b === 1
|
|
5164
|
-
|
|
5165
|
-
|
|
5166
|
-
|
|
5167
|
-
|
|
5168
|
-
|
|
5169
|
-
|
|
5179
|
+
? 'st'
|
|
5180
|
+
: b === 2
|
|
5181
|
+
? 'nd'
|
|
5182
|
+
: b === 3
|
|
5183
|
+
? 'rd'
|
|
5184
|
+
: 'th';
|
|
5170
5185
|
return number + output;
|
|
5171
5186
|
},
|
|
5172
5187
|
});
|
|
@@ -5339,19 +5354,6 @@
|
|
|
5339
5354
|
}
|
|
5340
5355
|
}
|
|
5341
5356
|
|
|
5342
|
-
// TODO: Use this.as('ms')?
|
|
5343
|
-
function valueOf$1() {
|
|
5344
|
-
if (!this.isValid()) {
|
|
5345
|
-
return NaN;
|
|
5346
|
-
}
|
|
5347
|
-
return (
|
|
5348
|
-
this._milliseconds +
|
|
5349
|
-
this._days * 864e5 +
|
|
5350
|
-
(this._months % 12) * 2592e6 +
|
|
5351
|
-
toInt(this._months / 12) * 31536e6
|
|
5352
|
-
);
|
|
5353
|
-
}
|
|
5354
|
-
|
|
5355
5357
|
function makeAs(alias) {
|
|
5356
5358
|
return function () {
|
|
5357
5359
|
return this.as(alias);
|
|
@@ -5366,7 +5368,8 @@
|
|
|
5366
5368
|
asWeeks = makeAs('w'),
|
|
5367
5369
|
asMonths = makeAs('M'),
|
|
5368
5370
|
asQuarters = makeAs('Q'),
|
|
5369
|
-
asYears = makeAs('y')
|
|
5371
|
+
asYears = makeAs('y'),
|
|
5372
|
+
valueOf$1 = asMilliseconds;
|
|
5370
5373
|
|
|
5371
5374
|
function clone$1() {
|
|
5372
5375
|
return createDuration(this);
|
|
@@ -5635,7 +5638,7 @@
|
|
|
5635
5638
|
|
|
5636
5639
|
//! moment.js
|
|
5637
5640
|
|
|
5638
|
-
hooks.version = '2.
|
|
5641
|
+
hooks.version = '2.30.1';
|
|
5639
5642
|
|
|
5640
5643
|
setHookCallback(createLocal);
|
|
5641
5644
|
|