@asi-ngtools/lib
Version:
This project is a little components library, simple to use, which will help you to simplify your project.
102 lines (101 loc) • 7.15 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
import moment from 'moment';
export class AsiMomentService {
constructor() {
}
/**
* @param {?} date
* @param {?} dayNumber
* @return {?}
*/
addDays(date, dayNumber) {
if (date != null && dayNumber != null) {
return moment(date).add(dayNumber, 'days').toDate();
}
else {
return null;
}
}
/**
* @param {?} date
* @param {?} monthNumber
* @return {?}
*/
addMonths(date, monthNumber) {
if (date != null && monthNumber != null) {
return moment(date).add(monthNumber, 'months').toDate();
}
else {
return null;
}
}
/**
* @param {?} date
* @return {?}
*/
formatToLocalDate(date) {
return this.format(date, 'YYYY-MM-DD', 'YYYY-MM-DD');
}
/**
* @param {?} date
* @param {?=} pattern
* @return {?}
*/
formatDate(date, pattern) {
return this.format(date, 'YYYY-MM-DD', pattern);
}
/**
* @param {?} date
* @param {?=} pattern
* @return {?}
*/
formatDateTime(date, pattern) {
return this.format(date, 'YYYY-MM-DDTHH:mm:ss:SSSZ', pattern);
}
/**
* @param {?} date
* @param {?} baseFormat
* @param {?=} pattern
* @return {?}
*/
format(date, baseFormat, pattern) {
if (!date) {
return '';
}
if (!pattern) {
pattern = 'DD/MM/YYYY';
}
/** @type {?} */
let aDate = date;
if (typeof aDate === 'string') {
/** @type {?} */
let amoment = moment(aDate, baseFormat);
return amoment.format(pattern);
}
return moment(date).format(pattern);
}
/**
* @param {?} dateString
* @param {?=} pattern
* @return {?}
*/
parse(dateString, pattern) {
if (dateString == null) {
return null;
}
if (pattern == null) {
return moment(dateString);
}
return moment(dateString, pattern);
}
}
AsiMomentService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
AsiMomentService.ctorParameters = () => [];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNpLW1vbWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFzaS1uZ3Rvb2xzL2xpYi8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9hc2ktbW9tZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRzVCLE1BQU07SUFFSjtLQUNDOzs7Ozs7SUFFRCxPQUFPLENBQUMsSUFBVSxFQUFFLFNBQWlCO1FBQ25DLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3JEO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixNQUFNLENBQUMsSUFBSSxDQUFDO1NBQ2I7S0FDRjs7Ozs7O0lBRUQsU0FBUyxDQUFDLElBQVUsRUFBRSxXQUFtQjtRQUN2QyxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLFdBQVcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUN6RDtRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ04sTUFBTSxDQUFDLElBQUksQ0FBQztTQUNiO0tBQ0Y7Ozs7O0lBRUQsaUJBQWlCLENBQUMsSUFBUztRQUN6QixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO0tBQ3REOzs7Ozs7SUFFRCxVQUFVLENBQUMsSUFBUyxFQUFFLE9BQWdCO1FBQ3BDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDakQ7Ozs7OztJQUVELGNBQWMsQ0FBQyxJQUFTLEVBQUUsT0FBZ0I7UUFDeEMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLDBCQUEwQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQy9EOzs7Ozs7O0lBRUQsTUFBTSxDQUFDLElBQVMsRUFBRSxVQUFrQixFQUFFLE9BQWdCO1FBQ3BELEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNWLE1BQU0sQ0FBQyxFQUFFLENBQUM7U0FDWDtRQUNELEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNiLE9BQU8sR0FBRyxZQUFZLENBQUE7U0FDdkI7O1FBQ0QsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLEVBQUUsQ0FBQyxDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7O1lBQzlCLElBQUksT0FBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDeEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDaEM7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUNyQzs7Ozs7O0lBRUQsS0FBSyxDQUFDLFVBQWtCLEVBQUUsT0FBZ0I7UUFDeEMsRUFBRSxDQUFDLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDdkIsTUFBTSxDQUFDLElBQUksQ0FBQztTQUNiO1FBQ0QsRUFBRSxDQUFDLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDcEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMzQjtRQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQ3BDOzs7WUF6REYsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFzaU1vbWVudFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcblxyXG4gIGFkZERheXMoZGF0ZTogRGF0ZSwgZGF5TnVtYmVyOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIGlmIChkYXRlICE9IG51bGwgJiYgZGF5TnVtYmVyICE9IG51bGwpIHtcclxuICAgICAgcmV0dXJuIG1vbWVudChkYXRlKS5hZGQoZGF5TnVtYmVyLCAnZGF5cycpLnRvRGF0ZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGRNb250aHMoZGF0ZTogRGF0ZSwgbW9udGhOdW1iZXI6IG51bWJlcik6IERhdGUge1xyXG4gICAgaWYgKGRhdGUgIT0gbnVsbCAmJiBtb250aE51bWJlciAhPSBudWxsKSB7XHJcbiAgICAgIHJldHVybiBtb21lbnQoZGF0ZSkuYWRkKG1vbnRoTnVtYmVyLCAnbW9udGhzJykudG9EYXRlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvcm1hdFRvTG9jYWxEYXRlKGRhdGU6IGFueSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtYXQoZGF0ZSwgJ1lZWVktTU0tREQnLCAnWVlZWS1NTS1ERCcpO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0RGF0ZShkYXRlOiBhbnksIHBhdHRlcm4/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0KGRhdGUsICdZWVlZLU1NLUREJywgcGF0dGVybik7XHJcbiAgfVxyXG5cclxuICBmb3JtYXREYXRlVGltZShkYXRlOiBhbnksIHBhdHRlcm4/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0KGRhdGUsICdZWVlZLU1NLUREVEhIOm1tOnNzOlNTU1onLCBwYXR0ZXJuKTtcclxuICB9XHJcblxyXG4gIGZvcm1hdChkYXRlOiBhbnksIGJhc2VGb3JtYXQ6IHN0cmluZywgcGF0dGVybj86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAoIWRhdGUpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gICAgaWYgKCFwYXR0ZXJuKSB7XHJcbiAgICAgIHBhdHRlcm4gPSAnREQvTU0vWVlZWSdcclxuICAgIH1cclxuICAgIGxldCBhRGF0ZSA9IGRhdGU7XHJcbiAgICBpZiAodHlwZW9mIGFEYXRlID09PSAnc3RyaW5nJykge1xyXG4gICAgICBsZXQgYW1vbWVudCA9IG1vbWVudChhRGF0ZSwgYmFzZUZvcm1hdCk7XHJcbiAgICAgIHJldHVybiBhbW9tZW50LmZvcm1hdChwYXR0ZXJuKTtcclxuICAgIH1cclxuICAgIHJldHVybiBtb21lbnQoZGF0ZSkuZm9ybWF0KHBhdHRlcm4pO1xyXG4gIH1cclxuXHJcbiAgcGFyc2UoZGF0ZVN0cmluZzogc3RyaW5nLCBwYXR0ZXJuPzogc3RyaW5nKTogYW55IHtcclxuICAgIGlmIChkYXRlU3RyaW5nID09IG51bGwpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBpZiAocGF0dGVybiA9PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiBtb21lbnQoZGF0ZVN0cmluZyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbW9tZW50KGRhdGVTdHJpbmcsIHBhdHRlcm4pO1xyXG4gIH1cclxufVxyXG4iXX0=