UNPKG

ferngully-aurelia-tools

Version:

Ferngully Tools for Aurelia

179 lines 7.03 kB
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; import { autoinject } from "aurelia-framework"; import * as moment from "moment"; import { ConfigurationService } from "./configuration-service"; var DateService = (function () { function DateService(configService) { this.configService = configService; this.localTimezoneOffset = moment().utcOffset(); } DateService.prototype.createMoment = function (date, utc) { if (utc === void 0) { utc = false; } var m = date ? moment(date) : moment(); if (utc) { m = this.momentToUTC(m); } return m; }; DateService.prototype.createMomentFromString = function (str, format, utc) { if (utc === void 0) { utc = false; } var m = moment(str, format, true); if (utc) { m = this.momentToUTC(m); } return m; }; DateService.prototype.createMomentFromTicks = function (ticks, utc) { if (utc === void 0) { utc = false; } var m = moment(ticks); if (utc) { m = this.momentToUTC(m); } return m; }; DateService.prototype.configure = function () { this.formats = new Map(); var formatArray = this.configService.get("date-service.formats"); for (var _i = 0, formatArray_1 = formatArray; _i < formatArray_1.length; _i++) { var format = formatArray_1[_i]; this.formats.set(format.key, format.format); } }; Object.defineProperty(DateService.prototype, "tomorrow", { get: function () { var tomorrow = this.createMoment().add(1, 'days'); var dtTomorrow = new Date(tomorrow.year(), tomorrow.month(), tomorrow.date()); return dtTomorrow; }, enumerable: true, configurable: true }); Object.defineProperty(DateService.prototype, "today", { get: function () { var today = this.createMoment(); var dtToday = new Date(today.year(), today.month(), today.date()); return dtToday; }, enumerable: true, configurable: true }); Object.defineProperty(DateService.prototype, "utcNow", { get: function () { return this.createMoment(undefined, true).toDate(); }, enumerable: true, configurable: true }); DateService.prototype.translateUtcToLocal = function (d) { return this.createMoment(d).subtract(this.localTimezoneOffset, "minutes").toDate(); }; DateService.prototype.translateLocalToUtc = function (d) { return this.createMoment(d).add(this.localTimezoneOffset, "minutes").toDate(); }; DateService.prototype.convertFormat = function (dateString, paramsFrom, paramsTo) { if (paramsFrom === paramsTo) { return dateString; } return this.createMomentFromString(dateString, this.getSafeParams(paramsFrom).format).format(this.getSafeParams(paramsTo).format); }; DateService.prototype.ticksToString = function (ticks, params) { if (!ticks) { return ""; } var d = this.createMomentFromTicks(ticks).toDate(); return this.toString(d, params); }; DateService.prototype.ticksToDate = function (ticks) { if (!ticks) { return null; } return this.createMomentFromTicks(ticks).toDate(); }; DateService.prototype.dateStringToTicks = function (dtString, params) { if (!dtString) { return 0; } var parms = this.getSafeParams(params); return this.createMomentFromString(dtString, parms.format).valueOf(); }; DateService.prototype.dateToTicks = function (dt) { if (!dt) { return 0; } return this.createMoment(dt).valueOf(); }; DateService.prototype.toString = function (dt, params) { if (!dt) { return null; } var parms = this.getSafeParams(params); return this.createMoment(dt, parms.utc).format(parms.format); }; DateService.prototype.toISOString = function (dt) { if (!dt) { return null; } return this.createMoment(dt).toISOString(); }; DateService.prototype.fromISOString = function (str) { if (!str) { return null; } return this.createMomentFromString(str).toDate(); }; DateService.prototype.nameofDay = function (day) { return moment.weekdays(day); }; DateService.prototype.momentToUTC = function (m) { return m.utc(); }; DateService.prototype.fromString = function (str, params) { if (!str) { return null; } var parms = this.getSafeParams(params); return this.createMomentFromString(str, parms.format).toDate(); }; DateService.prototype.nextInstanceOfDay = function (dayTarget, includeToday) { if (includeToday === void 0) { includeToday = false; } var today = this.today; var dayToday = today.getDay(); if ((dayToday === dayTarget) && includeToday) { return today; } var weeklen = dayTarget > dayToday ? 0 : 7; var nextInstance = this.createMoment(today).add(weeklen + dayTarget - dayToday, "days"); return new Date(nextInstance.year(), nextInstance.month(), nextInstance.date()); }; DateService.prototype.getSafeParams = function (params) { if (!params) { return {}; } if (typeof (params) === "string") { return { format: this.formats.get(params) || params }; } else { var parms = params; var format = parms.format ? this.formats.get(parms.format) || parms.format : undefined; return { utc: parms.utc, format: format }; } }; DateService = __decorate([ autoinject, __metadata("design:paramtypes", [ConfigurationService]) ], DateService); return DateService; }()); export { DateService }; //# sourceMappingURL=date-service.js.map