timeperiodjs
Version:
Time Period Library
37 lines (36 loc) • 1.19 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const Duration_1 = __importDefault(require("../duration/Duration"));
const PeriodFilter_1 = __importDefault(require("./filters/PeriodFilter"));
const IPeriod_1 = __importDefault(require("./interfaces/IPeriod"));
class Period extends IPeriod_1.default {
get start() {
return new Date(this._start);
}
get end() {
return new Date(this._end);
}
get duration() {
return new Duration_1.default(this._end.getTime() - this._start.getTime());
}
get change() {
return this._timeChanger;
}
get filter() {
return new PeriodFilter_1.default(this);
}
get isValid() {
/* eslint-disable no-restricted-globals */
return !(isNaN(this._start.getTime()) || isNaN(this._end.getTime()));
}
set setStart(date) {
this._start = new Date(date);
}
set setEnd(date) {
this._end = new Date(date);
}
}
exports.default = Period;