ngx-bootstrap-ci
Version:
Native Angular Bootstrap Components
1,506 lines (1,505 loc) • 121 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import * as tslib_1 from "tslib";
import { add, subtract } from '../index';
import { getDate, getFullYear, getHours, getMilliseconds, getMinutes, getMonth, getSeconds } from '../utils/date-getters';
import { setDate, setFullYear, setHours, setMilliseconds, setMinutes, setMonth, setSeconds } from '../utils/date-setters';
import { cloneDate } from '../create/clone';
import { isArray, isBoolean, isDate, isDateValid, isFunction, isNumber, isObject, isString, isUndefined } from '../utils/type-checks';
import { formatDate } from '../format';
import { ISO_8601, RFC_2822 } from '../create/from-string-and-format';
import { getDateOffset, getUTCOffset, hasAlignedHourOffset, isDaylightSavingTime, setOffsetToParsedOffset, setUTCOffset } from '../units/offset';
import { isLeapYear, parseTwoDigitYear } from '../units/year';
import { isAfter, isBefore, isBetween, isSame, isSameOrAfter, isSameOrBefore } from '../utils/date-compare';
import { daysInMonth } from '../units/month';
import { getDayOfWeek, getISODayOfWeek, getLocaleDayOfWeek, parseWeekday, setDayOfWeek, setISODayOfWeek, setLocaleDayOfWeek } from '../units/day-of-week';
import { getISOWeek, getWeek, setISOWeek, setWeek } from '../units/week';
import { getISOWeeksInYear, getISOWeekYear, getSetISOWeekYear, getSetWeekYear, getWeeksInYear, getWeekYear } from '../units/week-year';
import { endOf, startOf } from '../utils/start-end-of';
import { getQuarter, setQuarter } from '../units/quarter';
import { getDayOfYear, setDayOfYear } from '../units/day-of-year';
import { getZoneAbbr, getZoneName } from '../units/timezone';
import { diff } from '../moment/diff';
import { calendar } from '../moment/calendar';
import { defineLocale, getLocale, getSetGlobalLocale, listLocales } from '../locale/locales';
import { max, min } from '../moment/min-max';
import { isDuration } from '../duration/constructor';
import { createLocalOrUTC } from '../create/from-anything';
import { createDuration } from '../duration/create';
export var /** @type {?} */ moment = (/** @type {?} */ (_moment));
/**
* @record
*/
export function MomentFn() { }
function MomentFn_tsickle_Closure_declarations() {
/* TODO: handle strange member:
(input?: DateInput | Khronos, format?: string | string[], localeKey?: string | boolean, strict?: boolean, isUTC?: boolean): Khronos;
*/
/** @type {?} */
MomentFn.prototype.ISO_8601;
/** @type {?} */
MomentFn.prototype.RFC_2822;
/** @type {?} */
MomentFn.prototype.utc;
/** @type {?} */
MomentFn.prototype.parseZone;
/** @type {?} */
MomentFn.prototype.unix;
/** @type {?} */
MomentFn.prototype.locale;
/** @type {?} */
MomentFn.prototype.duration;
/** @type {?} */
MomentFn.prototype.defineLocale;
/** @type {?} */
MomentFn.prototype.parseTwoDigitYear;
/** @type {?} */
MomentFn.prototype.isDate;
/** @type {?} */
MomentFn.prototype.months;
/** @type {?} */
MomentFn.prototype.months;
/** @type {?} */
MomentFn.prototype.months;
/** @type {?} */
MomentFn.prototype.months;
/** @type {?} */
MomentFn.prototype.monthsShort;
/** @type {?} */
MomentFn.prototype.monthsShort;
/** @type {?} */
MomentFn.prototype.monthsShort;
/** @type {?} */
MomentFn.prototype.monthsShort;
/** @type {?} */
MomentFn.prototype.weekdays;
/** @type {?} */
MomentFn.prototype.weekdays;
/** @type {?} */
MomentFn.prototype.weekdays;
/** @type {?} */
MomentFn.prototype.weekdays;
/** @type {?} */
MomentFn.prototype.weekdays;
/** @type {?} */
MomentFn.prototype.weekdays;
/** @type {?} */
MomentFn.prototype.weekdays;
/** @type {?} */
MomentFn.prototype.weekdays;
/** @type {?} */
MomentFn.prototype.weekdaysShort;
/** @type {?} */
MomentFn.prototype.weekdaysShort;
/** @type {?} */
MomentFn.prototype.weekdaysShort;
/** @type {?} */
MomentFn.prototype.weekdaysShort;
/** @type {?} */
MomentFn.prototype.weekdaysShort;
/** @type {?} */
MomentFn.prototype.weekdaysShort;
/** @type {?} */
MomentFn.prototype.weekdaysShort;
/** @type {?} */
MomentFn.prototype.weekdaysShort;
/** @type {?} */
MomentFn.prototype.weekdaysMin;
/** @type {?} */
MomentFn.prototype.weekdaysMin;
/** @type {?} */
MomentFn.prototype.weekdaysMin;
/** @type {?} */
MomentFn.prototype.weekdaysMin;
/** @type {?} */
MomentFn.prototype.weekdaysMin;
/** @type {?} */
MomentFn.prototype.weekdaysMin;
/** @type {?} */
MomentFn.prototype.weekdaysMin;
/** @type {?} */
MomentFn.prototype.weekdaysMin;
/** @type {?} */
MomentFn.prototype.relativeTimeThreshold;
/** @type {?} */
MomentFn.prototype.relativeTimeThreshold;
/** @type {?} */
MomentFn.prototype.min;
/** @type {?} */
MomentFn.prototype.max;
/** @type {?} */
MomentFn.prototype.localeData;
/** @type {?} */
MomentFn.prototype.updateLocale;
/** @type {?} */
MomentFn.prototype.calendarFormat;
/** @type {?} */
MomentFn.prototype.calendarFormat;
/** @type {?} */
MomentFn.prototype.invalid;
/** @type {?} */
MomentFn.prototype.locales;
/** @type {?} */
MomentFn.prototype.updateOffset;
}
/**
* @param {?=} input
* @param {?=} format
* @param {?=} localeKey
* @param {?=} strict
* @param {?=} isUTC
* @return {?}
*/
function _moment(input, format, localeKey, strict, isUTC) {
if (input instanceof Khronos) {
var /** @type {?} */ _date = input.clone();
return isUTC ? _date.utc() : _date;
}
if (isBoolean(localeKey)) {
return new Khronos(input, format, null, localeKey, isUTC);
}
return new Khronos(input, format, localeKey, strict, isUTC);
}
moment.utc = function (input, format, localeKey, strict) {
return _moment(input, format, localeKey, strict, true);
};
moment.parseZone = function (input, format, localeKey, strict) {
return _moment(input, format, localeKey, strict, true).parseZone();
};
moment.locale = getSetGlobalLocale;
moment.localeData = function (key) {
if (key instanceof Khronos) {
return key.localeData();
}
return getLocale(key);
};
// moment.utc = createUTC;
moment.unix = function (inp) { return new Khronos(inp * 1000); };
moment.ISO_8601 = ISO_8601;
moment.RFC_2822 = RFC_2822;
moment.defineLocale = defineLocale;
moment.parseTwoDigitYear = parseTwoDigitYear;
moment.isDate = isDate;
moment.invalid = function _invalid() {
return new Khronos(new Date(NaN));
};
// duration(inp?: Duration | DateInput | Khronos, unit?: MomentUnitOfTime): Duration;
moment.duration = function (input, unit) {
var /** @type {?} */ _unit = mapUnitOfTime(unit);
if (isDate(input)) {
throw new Error('todo implement');
}
if (input == null) {
return createDuration();
}
if (isDuration(input)) {
return createDuration(input, _unit, { _locale: input._locale });
}
if (isString(input) || isNumber(input) || isDuration(input) || isObject(input)) {
return createDuration(input, _unit);
}
throw new Error('todo implement');
};
moment.min = function _min() {
var dates = [];
for (var _i = 0; _i < arguments.length; _i++) {
dates[_i] = arguments[_i];
}
var /** @type {?} */ _firstArg = dates[0];
var /** @type {?} */ _dates = (isArray(_firstArg) ? _firstArg : dates)
.map(function (date) { return _moment(date); })
.map(function (date) { return date.toDate(); });
var /** @type {?} */ _date = min.apply(void 0, tslib_1.__spread(_dates));
return new Khronos(_date);
};
moment.max = function _max() {
var dates = [];
for (var _i = 0; _i < arguments.length; _i++) {
dates[_i] = arguments[_i];
}
var /** @type {?} */ _firstArg = dates[0];
var /** @type {?} */ _dates = (isArray(_firstArg) ? _firstArg : dates)
.map(function (date) { return _moment(date); })
.map(function (date) { return date.toDate(); });
var /** @type {?} */ _date = max.apply(void 0, tslib_1.__spread(_dates));
return new Khronos(_date);
};
moment.locales = function () {
return listLocales();
};
/**
* @record
*/
export function MomentInputObject() { }
function MomentInputObject_tsickle_Closure_declarations() {
/** @type {?|undefined} */
MomentInputObject.prototype.years;
/** @type {?|undefined} */
MomentInputObject.prototype.year;
/** @type {?|undefined} */
MomentInputObject.prototype.y;
/** @type {?|undefined} */
MomentInputObject.prototype.months;
/** @type {?|undefined} */
MomentInputObject.prototype.month;
/** @type {?|undefined} */
MomentInputObject.prototype.M;
/** @type {?|undefined} */
MomentInputObject.prototype.days;
/** @type {?|undefined} */
MomentInputObject.prototype.day;
/** @type {?|undefined} */
MomentInputObject.prototype.d;
/** @type {?|undefined} */
MomentInputObject.prototype.dates;
/** @type {?|undefined} */
MomentInputObject.prototype.date;
/** @type {?|undefined} */
MomentInputObject.prototype.D;
/** @type {?|undefined} */
MomentInputObject.prototype.hours;
/** @type {?|undefined} */
MomentInputObject.prototype.hour;
/** @type {?|undefined} */
MomentInputObject.prototype.h;
/** @type {?|undefined} */
MomentInputObject.prototype.minutes;
/** @type {?|undefined} */
MomentInputObject.prototype.minute;
/** @type {?|undefined} */
MomentInputObject.prototype.m;
/** @type {?|undefined} */
MomentInputObject.prototype.seconds;
/** @type {?|undefined} */
MomentInputObject.prototype.second;
/** @type {?|undefined} */
MomentInputObject.prototype.s;
/** @type {?|undefined} */
MomentInputObject.prototype.milliseconds;
/** @type {?|undefined} */
MomentInputObject.prototype.millisecond;
/** @type {?|undefined} */
MomentInputObject.prototype.ms;
/** @type {?|undefined} */
MomentInputObject.prototype.w;
/** @type {?|undefined} */
MomentInputObject.prototype.week;
/** @type {?|undefined} */
MomentInputObject.prototype.weeks;
/** @type {?|undefined} */
MomentInputObject.prototype.Q;
/** @type {?|undefined} */
MomentInputObject.prototype.quarter;
/** @type {?|undefined} */
MomentInputObject.prototype.quarters;
/** @type {?|undefined} */
MomentInputObject.prototype.weekYear;
}
var /** @type {?} */ _unitsPriority = {
year: 1,
month: 8,
week: 5,
isoWeek: 5,
day: 11,
weekday: 11,
isoWeekday: 11,
hours: 13,
weekYear: 1,
isoWeekYear: 1,
quarter: 7,
date: 9,
dayOfYear: 4,
minutes: 14,
seconds: 15,
milliseconds: 16
};
// todo: do I need 2 mappers?
var /** @type {?} */ _timeHashMap = {
y: 'year',
years: 'year',
year: 'year',
M: 'month',
months: 'month',
month: 'month',
w: 'week',
weeks: 'week',
week: 'week',
d: 'day',
days: 'day',
day: 'day',
date: 'date',
dates: 'date',
D: 'date',
h: 'hours',
hour: 'hours',
hours: 'hours',
m: 'minutes',
minute: 'minutes',
minutes: 'minutes',
s: 'seconds',
second: 'seconds',
seconds: 'seconds',
ms: 'milliseconds',
millisecond: 'milliseconds',
milliseconds: 'milliseconds',
quarter: 'quarter',
quarters: 'quarter',
q: 'quarter',
Q: 'quarter',
isoWeek: 'isoWeek',
isoWeeks: 'isoWeek',
W: 'isoWeek',
weekYear: 'weekYear',
weekYears: 'weekYear',
gg: 'weekYears',
isoWeekYear: 'isoWeekYear',
isoWeekYears: 'isoWeekYear',
GG: 'isoWeekYear',
dayOfYear: 'dayOfYear',
dayOfYears: 'dayOfYear',
DDD: 'dayOfYear',
weekday: 'weekday',
weekdays: 'weekday',
e: 'weekday',
isoWeekday: 'isoWeekday',
isoWeekdays: 'isoWeekday',
E: 'isoWeekday'
};
/**
* @param {?} period
* @return {?}
*/
function mapUnitOfTime(period) {
return /** @type {?} */ (_timeHashMap[period]);
}
/**
* @param {?} obj
* @return {?}
*/
function mapMomentInputObject(obj) {
var /** @type {?} */ _res = {};
return Object.keys(obj)
.reduce(function (res, key) {
res[mapUnitOfTime(key)] = obj[key];
return res;
}, _res);
}
var Khronos = /** @class */ (function () {
function Khronos(input, format, localeKey, strict, isUTC, offset) {
if (strict === void 0) { strict = false; }
if (isUTC === void 0) { isUTC = false; }
this._date = new Date();
this._isUTC = false;
// locale will be needed to format invalid date message
this._locale = getLocale(localeKey);
// parse invalid input
if (input === '' || input === null || (isNumber(input) && isNaN(input))) {
this._date = new Date(NaN);
return this;
}
this._isUTC = isUTC;
if (this._isUTC) {
this._offset = 0;
}
if (offset || offset === 0) {
this._offset = offset;
}
this._isStrict = strict;
this._format = format;
if (!input && input !== 0 && !format) {
this._date = new Date();
return this;
}
if (isDate(input)) {
this._date = cloneDate(input);
return this;
}
// this._date = parseDate(input, format, localeKey, strict, isUTC);
var /** @type {?} */ config = createLocalOrUTC(input, format, localeKey, strict, isUTC);
this._date = config._d;
this._offset = isNumber(config._offset) ? config._offset : this._offset;
this._isUTC = config._isUTC;
this._isStrict = config._strict;
this._format = config._f;
this._tzm = config._tzm;
}
/**
* @return {?}
*/
Khronos.prototype._toConfig = /**
* @return {?}
*/
function () {
return { _isUTC: this._isUTC, _locale: this._locale, _offset: this._offset, _tzm: this._tzm };
};
/**
* @param {?=} localeKey
* @return {?}
*/
Khronos.prototype.locale = /**
* @param {?=} localeKey
* @return {?}
*/
function (localeKey) {
if (isUndefined(localeKey)) {
return this._locale._abbr;
}
if (localeKey instanceof Khronos) {
this._locale = localeKey._locale;
return this;
}
var /** @type {?} */ newLocaleData = getLocale(localeKey);
if (newLocaleData != null) {
this._locale = newLocaleData;
}
return this;
};
/**
* @return {?}
*/
Khronos.prototype.localeData = /**
* @return {?}
*/
function () {
return this._locale;
};
// Basic
/**
* @param {?} val
* @param {?=} period
* @return {?}
*/
Khronos.prototype.add = /**
* @param {?} val
* @param {?=} period
* @return {?}
*/
function (val, period) {
var _this = this;
if (isString(val)) {
this._date = add(this._date, parseInt(val, 10), mapUnitOfTime(period));
}
if (isNumber(val)) {
this._date = add(this._date, val, mapUnitOfTime(period));
}
if (isObject(val)) {
var /** @type {?} */ _mapped_1 = mapMomentInputObject(val);
Object.keys(_mapped_1)
.forEach(function (key) { return add(_this._date, _mapped_1[key], key); });
}
return this;
};
// fixme: for some reason here 'null' for time is fine
/**
* @param {?=} time
* @param {?=} formats
* @return {?}
*/
Khronos.prototype.calendar = /**
* @param {?=} time
* @param {?=} formats
* @return {?}
*/
function (time, formats) {
var /** @type {?} */ _time = time instanceof Khronos ? time : new Khronos(time || new Date());
var /** @type {?} */ _offset = (this._offset || 0) - (_time._offset || 0);
var /** @type {?} */ _config = Object.assign(this._toConfig(), { _offset: _offset });
return calendar(this._date, _time._date, formats, this._locale, _config);
};
/**
* @return {?}
*/
Khronos.prototype.clone = /**
* @return {?}
*/
function () {
var /** @type {?} */ localeKey = this._locale && this._locale._abbr || 'en';
// return new Khronos(cloneDate(this._date), this._format, localeKey, this._isStrict, this._isUTC);
// fails if isUTC and offset
// return new Khronos(new Date(this.valueOf()),
return new Khronos(this._date, this._format, localeKey, this._isStrict, this._isUTC, this._offset);
};
/**
* @param {?} b
* @param {?=} unitOfTime
* @param {?=} precise
* @return {?}
*/
Khronos.prototype.diff = /**
* @param {?} b
* @param {?=} unitOfTime
* @param {?=} precise
* @return {?}
*/
function (b, unitOfTime, precise) {
var /** @type {?} */ unit = mapUnitOfTime(unitOfTime);
var /** @type {?} */ _b = b instanceof Khronos ? b : new Khronos(b);
// const zoneDelta = (_b.utcOffset() - this.utcOffset());
// const config = Object.assign(this._toConfig(), {
// _offset: 0,
// _isUTC: true,
// _zoneDelta: zoneDelta
// });
// return diff(new Date(this.valueOf()), new Date(_b.valueOf()), unit, precise, config);
return diff(this._date, _b.toDate(), unit, precise, this._toConfig());
};
/**
* @param {?=} period
* @return {?}
*/
Khronos.prototype.endOf = /**
* @param {?=} period
* @return {?}
*/
function (period) {
var /** @type {?} */ _per = mapUnitOfTime(period);
this._date = endOf(this._date, _per, this._isUTC);
return this;
};
/**
* @param {?=} format
* @return {?}
*/
Khronos.prototype.format = /**
* @param {?=} format
* @return {?}
*/
function (format) {
return formatDate(this._date, format, this._locale && this._locale._abbr, this._isUTC, this._offset);
};
// todo: implement
/**
* @param {?=} time
* @param {?=} withoutSuffix
* @return {?}
*/
Khronos.prototype.from = /**
* @param {?=} time
* @param {?=} withoutSuffix
* @return {?}
*/
function (time, withoutSuffix) {
var /** @type {?} */ _time = _moment(time);
if (this.isValid() && _time.isValid()) {
return createDuration({ to: this.toDate(), from: _time.toDate() })
.locale(this.locale())
.humanize(!withoutSuffix);
}
return this.localeData().invalidDate;
};
/**
* @param {?=} withoutSuffix
* @return {?}
*/
Khronos.prototype.fromNow = /**
* @param {?=} withoutSuffix
* @return {?}
*/
function (withoutSuffix) {
return this.from(new Date(), withoutSuffix);
};
/**
* @param {?} inp
* @param {?=} suffix
* @return {?}
*/
Khronos.prototype.to = /**
* @param {?} inp
* @param {?=} suffix
* @return {?}
*/
function (inp, suffix) {
throw new Error("TODO: Implement");
};
/**
* @param {?=} withoutPrefix
* @return {?}
*/
Khronos.prototype.toNow = /**
* @param {?=} withoutPrefix
* @return {?}
*/
function (withoutPrefix) {
throw new Error("TODO: Implement");
};
/**
* @param {?} val
* @param {?=} period
* @return {?}
*/
Khronos.prototype.subtract = /**
* @param {?} val
* @param {?=} period
* @return {?}
*/
function (val, period) {
var _this = this;
if (isString(val)) {
this._date = subtract(this._date, parseInt(val, 10), mapUnitOfTime(period));
return this;
}
if (isNumber(val)) {
this._date = subtract(this._date, val, mapUnitOfTime(period));
}
if (isObject(val)) {
var /** @type {?} */ _mapped_2 = mapMomentInputObject(val);
Object.keys(_mapped_2)
.forEach(function (key) { return subtract(_this._date, _mapped_2[key], key); });
}
return this;
};
/**
* @param {?} period
* @return {?}
*/
Khronos.prototype.get = /**
* @param {?} period
* @return {?}
*/
function (period) {
if (period === 'dayOfYear') {
return this.dayOfYear();
}
var /** @type {?} */ unit = mapUnitOfTime(period);
switch (unit) {
case 'year':
return this.year();
case 'month':
return this.month();
// | 'week'
case 'date':
return this.date();
case 'day':
return this.day();
case 'hours':
return this.hours();
case 'minutes':
return this.minutes();
case 'seconds':
return this.seconds();
case 'milliseconds':
return this.milliseconds();
case 'week':
return this.week();
case 'isoWeek':
return this.isoWeek();
case 'weekYear':
return this.weekYear();
case 'isoWeekYear':
return this.isoWeekYear();
case 'weekday':
return this.weekday();
case 'isoWeekday':
return this.isoWeekday();
case 'quarter':
return this.quarter();
default:
throw new Error("Unknown moment.get('" + period + "')");
}
};
/**
* @param {?} period
* @param {?=} input
* @return {?}
*/
Khronos.prototype.set = /**
* @param {?} period
* @param {?=} input
* @return {?}
*/
function (period, input) {
var _this = this;
if (isString(period)) {
var /** @type {?} */ unit = mapUnitOfTime(period);
switch (unit) {
case 'year':
return this.year(input);
case 'month':
return this.month(input);
// | 'week'
case 'day':
return this.day(input);
case 'date':
return this.date(input);
case 'hours':
return this.hours(input);
case 'minutes':
return this.minutes(input);
case 'seconds':
return this.seconds(input);
case 'milliseconds':
return this.milliseconds(input);
case 'week':
return this.week(input);
case 'isoWeek':
return this.isoWeek(input);
case 'weekYear':
return this.weekYear(input);
case 'isoWeekYear':
return this.isoWeekYear(input);
case 'weekday':
return this.weekday(input);
case 'isoWeekday':
return this.isoWeekday(input);
case 'quarter':
return this.quarter(input);
default:
throw new Error("Unknown moment.get('" + period + "')");
}
}
if (isObject(period)) {
var /** @type {?} */ _mapped_3 = mapMomentInputObject(period);
Object.keys(_mapped_3)
.sort(function (a, b) {
return _unitsPriority[a] - _unitsPriority[b];
})
.forEach(function (key) { return _this.set(key, _mapped_3[key]); });
}
return this;
};
/**
* @return {?}
*/
Khronos.prototype.toString = /**
* @return {?}
*/
function () {
return this.format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
};
/**
* @return {?}
*/
Khronos.prototype.toISOString = /**
* @return {?}
*/
function () {
if (!this.isValid()) {
return null;
}
if (getFullYear(this._date, true) < 0 || getFullYear(this._date, true) > 9999) {
return this.format('YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]');
}
if (isFunction(Date.prototype.toISOString)) {
// native implementation is ~50x faster, use it when we can
return this.toDate().toISOString();
}
return this.format('YYYY-MM-DD[T]HH:mm:ss.SSS[Z]');
};
/**
* @return {?}
*/
Khronos.prototype.inspect = /**
* @return {?}
*/
function () {
throw new Error('TODO: implement');
};
/**
* @return {?}
*/
Khronos.prototype.toJSON = /**
* @return {?}
*/
function () {
return this.toISOString();
};
/**
* @return {?}
*/
Khronos.prototype.toDate = /**
* @return {?}
*/
function () {
return new Date(this.valueOf());
};
/**
* @return {?}
*/
Khronos.prototype.toObject = /**
* @return {?}
*/
function () {
return {
// years: getFullYear(this._date, this._isUTC),
// months: getMonth(this._date, this._isUTC),
year: getFullYear(this._date, this._isUTC),
month: getMonth(this._date, this._isUTC),
date: getDate(this._date, this._isUTC),
hours: getHours(this._date, this._isUTC),
minutes: getMinutes(this._date, this._isUTC),
seconds: getSeconds(this._date, this._isUTC),
milliseconds: getMilliseconds(this._date, this._isUTC)
};
};
/**
* @return {?}
*/
Khronos.prototype.toArray = /**
* @return {?}
*/
function () {
return [this.year(), this.month(), this.date(), this.hour(), this.minute(), this.second(), this.millisecond()];
};
// Dates boolean algebra
/**
* @param {?} date
* @param {?=} unit
* @return {?}
*/
Khronos.prototype.isAfter = /**
* @param {?} date
* @param {?=} unit
* @return {?}
*/
function (date, unit) {
var /** @type {?} */ _unit = unit ? mapUnitOfTime(unit) : void 0;
return isAfter(this._date, date.toDate(), _unit);
};
/**
* @param {?} date
* @param {?=} unit
* @return {?}
*/
Khronos.prototype.isBefore = /**
* @param {?} date
* @param {?=} unit
* @return {?}
*/
function (date, unit) {
var /** @type {?} */ _unit = unit ? mapUnitOfTime(unit) : void 0;
return isBefore(this.toDate(), date.toDate(), _unit);
};
/**
* @param {?} from
* @param {?} to
* @param {?=} unit
* @param {?=} inclusivity
* @return {?}
*/
Khronos.prototype.isBetween = /**
* @param {?} from
* @param {?} to
* @param {?=} unit
* @param {?=} inclusivity
* @return {?}
*/
function (from, to, unit, inclusivity) {
var /** @type {?} */ _unit = unit ? mapUnitOfTime(unit) : void 0;
return isBetween(this.toDate(), from.toDate(), to.toDate(), _unit, inclusivity);
};
/**
* @param {?} date
* @param {?=} unit
* @return {?}
*/
Khronos.prototype.isSame = /**
* @param {?} date
* @param {?=} unit
* @return {?}
*/
function (date, unit) {
var /** @type {?} */ _unit = unit ? mapUnitOfTime(unit) : void 0;
return isSame(this._date, date.toDate(), _unit);
};
/**
* @param {?} date
* @param {?=} unit
* @return {?}
*/
Khronos.prototype.isSameOrAfter = /**
* @param {?} date
* @param {?=} unit
* @return {?}
*/
function (date, unit) {
var /** @type {?} */ _unit = unit ? mapUnitOfTime(unit) : void 0;
return isSameOrAfter(this._date, date.toDate(), _unit);
};
/**
* @param {?} date
* @param {?=} unit
* @return {?}
*/
Khronos.prototype.isSameOrBefore = /**
* @param {?} date
* @param {?=} unit
* @return {?}
*/
function (date, unit) {
var /** @type {?} */ _unit = unit ? mapUnitOfTime(unit) : void 0;
return isSameOrBefore(this._date, date.toDate(), _unit);
};
/**
* @return {?}
*/
Khronos.prototype.isValid = /**
* @return {?}
*/
function () {
return isDateValid(this._date);
};
/**
* @return {?}
*/
Khronos.prototype.valueOf = /**
* @return {?}
*/
function () {
return this._date.valueOf() - ((this._offset || 0) * 60000);
};
/**
* @return {?}
*/
Khronos.prototype.unix = /**
* @return {?}
*/
function () {
// return getUnixTime(this._date);
return Math.floor(this.valueOf() / 1000);
};
/**
* @param {?=} b
* @param {?=} keepLocalTime
* @return {?}
*/
Khronos.prototype.utcOffset = /**
* @param {?=} b
* @param {?=} keepLocalTime
* @return {?}
*/
function (b, keepLocalTime) {
var /** @type {?} */ _config = this._toConfig();
if (!b && b !== 0) {
return getUTCOffset(this._date, _config);
}
this._date = setUTCOffset(this._date, b, keepLocalTime, false, _config);
this._offset = _config._offset;
this._isUTC = _config._isUTC;
return this;
};
/**
* @param {?=} keepLocalTime
* @return {?}
*/
Khronos.prototype.utc = /**
* @param {?=} keepLocalTime
* @return {?}
*/
function (keepLocalTime) {
return this.utcOffset(0, keepLocalTime);
};
/**
* @param {?=} keepLocalTime
* @return {?}
*/
Khronos.prototype.local = /**
* @param {?=} keepLocalTime
* @return {?}
*/
function (keepLocalTime) {
if (this._isUTC) {
this.utcOffset(0, keepLocalTime);
this._isUTC = false;
if (keepLocalTime) {
this.subtract(getDateOffset(this._date), 'm');
}
}
return this;
};
/**
* @param {?=} input
* @return {?}
*/
Khronos.prototype.parseZone = /**
* @param {?=} input
* @return {?}
*/
function (input) {
var /** @type {?} */ _config = this._toConfig();
this._date = setOffsetToParsedOffset(this._date, input, _config);
this._offset = _config._offset;
this._isUTC = _config._isUTC;
return this;
};
/**
* @param {?=} input
* @return {?}
*/
Khronos.prototype.hasAlignedHourOffset = /**
* @param {?=} input
* @return {?}
*/
function (input) {
return hasAlignedHourOffset(this._date, input ? input._date : void 0);
};
/**
* @return {?}
*/
Khronos.prototype.isDST = /**
* @return {?}
*/
function () {
return isDaylightSavingTime(this._date);
};
/**
* @return {?}
*/
Khronos.prototype.isLocal = /**
* @return {?}
*/
function () {
return !this._isUTC;
};
/**
* @return {?}
*/
Khronos.prototype.isUtcOffset = /**
* @return {?}
*/
function () {
return this._isUTC;
};
/**
* @return {?}
*/
Khronos.prototype.isUTC = /**
* @return {?}
*/
function () {
return this.isUtc();
};
/**
* @return {?}
*/
Khronos.prototype.isUtc = /**
* @return {?}
*/
function () {
return this._isUTC && this._offset === 0;
};
// Timezone
/**
* @return {?}
*/
Khronos.prototype.zoneAbbr = /**
* @return {?}
*/
function () {
return getZoneAbbr(this._isUTC);
};
/**
* @return {?}
*/
Khronos.prototype.zoneName = /**
* @return {?}
*/
function () {
return getZoneName(this._isUTC);
};
/**
* @param {?=} year
* @return {?}
*/
Khronos.prototype.year = /**
* @param {?=} year
* @return {?}
*/
function (year) {
if (!year && year !== 0) {
return getFullYear(this._date, this._isUTC);
}
this._date = cloneDate(setFullYear(this._date, year));
return this;
};
/**
* @param {?=} val
* @return {?}
*/
Khronos.prototype.weekYear = /**
* @param {?=} val
* @return {?}
*/
function (val) {
if (!val && val !== 0) {
return getWeekYear(this._date, this._locale, this.isUTC());
}
var /** @type {?} */ date = getSetWeekYear(this._date, val, this._locale, this.isUTC());
if (isDate(date)) {
this._date = date;
}
return this;
};
/**
* @param {?=} val
* @return {?}
*/
Khronos.prototype.isoWeekYear = /**
* @param {?=} val
* @return {?}
*/
function (val) {
if (!val && val !== 0) {
return getISOWeekYear(this._date, this.isUTC());
}
var /** @type {?} */ date = getSetISOWeekYear(this._date, val, this.isUtc());
if (isDate(date)) {
this._date = date;
}
return this;
};
/**
* @return {?}
*/
Khronos.prototype.isLeapYear = /**
* @return {?}
*/
function () {
return isLeapYear(getFullYear(this.toDate(), this.isUTC()));
};
/**
* @param {?=} month
* @return {?}
*/
Khronos.prototype.month = /**
* @param {?=} month
* @return {?}
*/
function (month) {
if (!month && month !== 0) {
return getMonth(this._date, this._isUTC);
}
var /** @type {?} */ _month = month;
if (isString(month)) {
var /** @type {?} */ locale = this._locale || getLocale();
_month = locale.monthsParse(month);
}
if (isNumber(_month)) {
this._date = cloneDate(setMonth(this._date, _month, this._isUTC));
}
return this;
};
/**
* @param {?=} hours
* @return {?}
*/
Khronos.prototype.hour = /**
* @param {?=} hours
* @return {?}
*/
function (hours) {
return this.hours(hours);
};
/**
* @param {?=} hours
* @return {?}
*/
Khronos.prototype.hours = /**
* @param {?=} hours
* @return {?}
*/
function (hours) {
if (!hours && hours !== 0) {
return getHours(this._date, this._isUTC);
}
this._date = cloneDate(setHours(this._date, hours, this._isUTC));
return this;
};
/**
* @param {?=} minutes
* @return {?}
*/
Khronos.prototype.minute = /**
* @param {?=} minutes
* @return {?}
*/
function (minutes) {
return this.minutes(minutes);
};
/**
* @param {?=} minutes
* @return {?}
*/
Khronos.prototype.minutes = /**
* @param {?=} minutes
* @return {?}
*/
function (minutes) {
if (!minutes && minutes !== 0) {
return getMinutes(this._date, this._isUTC);
}
this._date = cloneDate(setMinutes(this._date, minutes, this._isUTC));
return this;
};
/**
* @param {?=} seconds
* @return {?}
*/
Khronos.prototype.second = /**
* @param {?=} seconds
* @return {?}
*/
function (seconds) {
return this.seconds(seconds);
};
/**
* @param {?=} seconds
* @return {?}
*/
Khronos.prototype.seconds = /**
* @param {?=} seconds
* @return {?}
*/
function (seconds) {
if (!seconds && seconds !== 0) {
return getSeconds(this._date, this._isUTC);
}
this._date = cloneDate(setSeconds(this._date, seconds, this._isUTC));
return this;
};
/**
* @param {?=} ms
* @return {?}
*/
Khronos.prototype.millisecond = /**
* @param {?=} ms
* @return {?}
*/
function (ms) {
return this.milliseconds(ms);
};
/**
* @param {?=} seconds
* @return {?}
*/
Khronos.prototype.milliseconds = /**
* @param {?=} seconds
* @return {?}
*/
function (seconds) {
if (!seconds && seconds !== 0) {
return getMilliseconds(this._date, this._isUTC);
}
this._date = cloneDate(setMilliseconds(this._date, seconds, this._isUTC));
return this;
};
/**
* @param {?=} date
* @return {?}
*/
Khronos.prototype.date = /**
* @param {?=} date
* @return {?}
*/
function (date) {
if (!date && date !== 0) {
return getDate(this._date, this._isUTC);
}
this._date = cloneDate(setDate(this._date, date, this._isUTC));
return this;
};
/**
* @param {?=} input
* @return {?}
*/
Khronos.prototype.day = /**
* @param {?=} input
* @return {?}
*/
function (input) {
if (!input && input !== 0) {
return getDayOfWeek(this._date, this._isUTC);
}
var /** @type {?} */ _input = input;
if (isString(input)) {
_input = parseWeekday(input, this._locale);
}
if (isNumber(_input)) {
this._date = setDayOfWeek(this._date, _input, this._locale, this._isUTC);
}
return this;
};
/**
* @param {?=} val
* @return {?}
*/
Khronos.prototype.weekday = /**
* @param {?=} val
* @return {?}
*/
function (val) {
if (!val && val !== 0) {
return getLocaleDayOfWeek(this._date, this._locale, this._isUTC);
}
this._date = setLocaleDayOfWeek(this._date, val, { locale: this._locale, isUTC: this._isUTC });
return this;
};
/**
* @param {?=} val
* @return {?}
*/
Khronos.prototype.isoWeekday = /**
* @param {?=} val
* @return {?}
*/
function (val) {
if (!val && val !== 0) {
return getISODayOfWeek(this._date);
}
this._date = setISODayOfWeek(this._date, val);
return this;
};
/**
* @param {?=} val
* @return {?}
*/
Khronos.prototype.dayOfYear = /**
* @param {?=} val
* @return {?}
*/
function (val) {
if (!val && val !== 0) {
return getDayOfYear(this._date);
}
this._date = setDayOfYear(this._date, val);
return this;
};
/**
* @param {?=} input
* @return {?}
*/
Khronos.prototype.week = /**
* @param {?=} input
* @return {?}
*/
function (input) {
if (!input && input !== 0) {
return getWeek(this._date, this._locale);
}
this._date = setWeek(this._date, input, this._locale);
return this;
};
/**
* @param {?=} input
* @return {?}
*/
Khronos.prototype.weeks = /**
* @param {?=} input
* @return {?}
*/
function (input) {
return this.week(input);
};
/**
* @param {?=} val
* @return {?}
*/
Khronos.prototype.isoWeek = /**
* @param {?=} val
* @return {?}
*/
function (val) {
if (!val && val !== 0) {
return getISOWeek(this._date);
}
this._date = setISOWeek(this._date, val);
return this;
};
/**
* @param {?=} val
* @return {?}
*/
Khronos.prototype.isoWeeks = /**
* @param {?=} val
* @return {?}
*/
function (val) {
return this.isoWeek(val);
};
/**
* @return {?}
*/
Khronos.prototype.weeksInYear = /**
* @return {?}
*/
function () {
return getWeeksInYear(this._date, this._isUTC, this._locale);
};
/**
* @return {?}
*/
Khronos.prototype.isoWeeksInYear = /**
* @return {?}
*/
function () {
return getISOWeeksInYear(this._date, this._isUTC);
};
/**
* @return {?}
*/
Khronos.prototype.daysInMonth = /**
* @return {?}
*/
function () {
return daysInMonth(getFullYear(this._date, this._isUTC), getMonth(this._date, this._isUTC));
};
/**
* @param {?=} val
* @return {?}
*/
Khronos.prototype.quarter = /**
* @param {?=} val
* @return {?}
*/
function (val) {
if (!val && val !== 0) {
return getQuarter(this._date, this._isUTC);
}
this._date = setQuarter(this._date, val, this._isUTC);
return this;
};
/**
* @param {?=} val
* @return {?}
*/
Khronos.prototype.quarters = /**
* @param {?=} val
* @return {?}
*/
function (val) {
return this.quarter(val);
};
/**
* @param {?=} period
* @return {?}
*/
Khronos.prototype.startOf = /**
* @param {?=} period
* @return {?}
*/
function (period) {
var /** @type {?} */ _per = mapUnitOfTime(period);
this._date = startOf(this._date, _per, this._isUTC);
return this;
};
return Khronos;
}());
export { Khronos };
function Khronos_tsickle_Closure_declarations() {
/** @type {?} */
Khronos.prototype._date;
/** @type {?} */
Khronos.prototype._isUTC;
/** @type {?} */
Khronos.prototype._isStrict;
/** @type {?} */
Khronos.prototype._locale;
/** @type {?} */
Khronos.prototype._format;
/** @type {?} */
Khronos.prototype._offset;
/** @type {?} */
Khronos.prototype._tzm;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW4uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtYm9vdHN0cmFwL2Nocm9ub3MvIiwic291cmNlcyI6WyJ0ZXN0L2NoYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFFLEdBQUcsRUFBYSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFcEQsT0FBTyxFQUNMLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFFbEYsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQ0wsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQ3JFLFVBQVUsRUFDWCxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQ0wsT0FBTyxFQUNQLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFDeEUsV0FBVyxFQUNaLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXRFLE9BQU8sRUFDTCxhQUFhLEVBQ2IsWUFBWSxFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixFQUNqRixZQUFZLEVBQ2IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVH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