You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					58 lines
				
				1.5 KiB
			
		
		
			
		
	
	
					58 lines
				
				1.5 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								import * as C from './constant';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var padStart = function padStart(string, length, pad) {
							 | 
						||
| 
								 | 
							
								  var s = String(string);
							 | 
						||
| 
								 | 
							
								  if (!s || s.length >= length) return string;
							 | 
						||
| 
								 | 
							
								  return "" + Array(length + 1 - s.length).join(pad) + string;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var padZoneStr = function padZoneStr(instance) {
							 | 
						||
| 
								 | 
							
								  var negMinutes = -instance.utcOffset();
							 | 
						||
| 
								 | 
							
								  var minutes = Math.abs(negMinutes);
							 | 
						||
| 
								 | 
							
								  var hourOffset = Math.floor(minutes / 60);
							 | 
						||
| 
								 | 
							
								  var minuteOffset = minutes % 60;
							 | 
						||
| 
								 | 
							
								  return "" + (negMinutes <= 0 ? '+' : '-') + padStart(hourOffset, 2, '0') + ":" + padStart(minuteOffset, 2, '0');
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var monthDiff = function monthDiff(a, b) {
							 | 
						||
| 
								 | 
							
								  // function from moment.js in order to keep the same result
							 | 
						||
| 
								 | 
							
								  if (a.date() < b.date()) return -monthDiff(b, a);
							 | 
						||
| 
								 | 
							
								  var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month());
							 | 
						||
| 
								 | 
							
								  var anchor = a.clone().add(wholeMonthDiff, C.M);
							 | 
						||
| 
								 | 
							
								  var c = b - anchor < 0;
							 | 
						||
| 
								 | 
							
								  var anchor2 = a.clone().add(wholeMonthDiff + (c ? -1 : 1), C.M);
							 | 
						||
| 
								 | 
							
								  return +(-(wholeMonthDiff + (b - anchor) / (c ? anchor - anchor2 : anchor2 - anchor)) || 0);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var absFloor = function absFloor(n) {
							 | 
						||
| 
								 | 
							
								  return n < 0 ? Math.ceil(n) || 0 : Math.floor(n);
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var prettyUnit = function prettyUnit(u) {
							 | 
						||
| 
								 | 
							
								  var special = {
							 | 
						||
| 
								 | 
							
								    M: C.M,
							 | 
						||
| 
								 | 
							
								    y: C.Y,
							 | 
						||
| 
								 | 
							
								    w: C.W,
							 | 
						||
| 
								 | 
							
								    d: C.D,
							 | 
						||
| 
								 | 
							
								    D: C.DATE,
							 | 
						||
| 
								 | 
							
								    h: C.H,
							 | 
						||
| 
								 | 
							
								    m: C.MIN,
							 | 
						||
| 
								 | 
							
								    s: C.S,
							 | 
						||
| 
								 | 
							
								    ms: C.MS,
							 | 
						||
| 
								 | 
							
								    Q: C.Q
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  return special[u] || String(u || '').toLowerCase().replace(/s$/, '');
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var isUndefined = function isUndefined(s) {
							 | 
						||
| 
								 | 
							
								  return s === undefined;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export default {
							 | 
						||
| 
								 | 
							
								  s: padStart,
							 | 
						||
| 
								 | 
							
								  z: padZoneStr,
							 | 
						||
| 
								 | 
							
								  m: monthDiff,
							 | 
						||
| 
								 | 
							
								  a: absFloor,
							 | 
						||
| 
								 | 
							
								  p: prettyUnit,
							 | 
						||
| 
								 | 
							
								  u: isUndefined
							 | 
						||
| 
								 | 
							
								};
							 |