UNPKG

@blueprintjs/datetime

Version:

Components for interacting with dates and times

82 lines 3.22 kB
"use strict"; /* * Copyright 2016 Palantir Technologies, Inc. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.MonthAndYear = void 0; var dateUtils_1 = require("./dateUtils"); var MonthAndYear = /** @class */ (function () { function MonthAndYear(month, year) { if (month !== null && year !== null) { this.date = new Date(year, month); } else { this.date = new Date(); } } MonthAndYear.fromDate = function (date) { return date == null ? undefined : new MonthAndYear(date.getMonth(), date.getFullYear()); }; MonthAndYear.prototype.clone = function () { return new MonthAndYear(this.getMonth(), this.getYear()); }; MonthAndYear.prototype.getFullDate = function () { return this.date; }; MonthAndYear.prototype.getMonth = function () { return this.date.getMonth(); }; MonthAndYear.prototype.getYear = function () { return this.date.getFullYear(); }; MonthAndYear.prototype.getPreviousMonth = function () { var previousMonthDate = (0, dateUtils_1.getDatePreviousMonth)(this.date); return new MonthAndYear(previousMonthDate.getMonth(), previousMonthDate.getFullYear()); }; MonthAndYear.prototype.getNextMonth = function () { var nextMonthDate = (0, dateUtils_1.getDateNextMonth)(this.date); return new MonthAndYear(nextMonthDate.getMonth(), nextMonthDate.getFullYear()); }; MonthAndYear.prototype.isBefore = function (monthAndYear) { return compareMonthAndYear(this, monthAndYear) < 0; }; MonthAndYear.prototype.isAfter = function (monthAndYear) { return compareMonthAndYear(this, monthAndYear) > 0; }; MonthAndYear.prototype.isSame = function (monthAndYear) { return compareMonthAndYear(this, monthAndYear) === 0; }; MonthAndYear.prototype.isSameMonth = function (monthAndYear) { return this.getMonth() === monthAndYear.getMonth(); }; return MonthAndYear; }()); exports.MonthAndYear = MonthAndYear; // returns negative if left < right // returns positive if left > right // returns 0 if left === right function compareMonthAndYear(firstMonthAndYear, secondMonthAndYear) { var firstMonth = firstMonthAndYear.getMonth(); var firstYear = firstMonthAndYear.getYear(); var secondMonth = secondMonthAndYear.getMonth(); var secondYear = secondMonthAndYear.getYear(); if (firstYear === secondYear) { return firstMonth - secondMonth; } else { return firstYear - secondYear; } } //# sourceMappingURL=monthAndYear.js.map