UNPKG

ngx-pretty-date

Version:

Angular js pipe for facebook, twitter like date time format, supports angular 8

92 lines (86 loc) 3.99 kB
import * as i0 from '@angular/core'; import { Pipe, NgModule } from '@angular/core'; class PrettyDate { transform(time, dateFormat) { var date; if (time instanceof Date) { date = time; } else { var temp = (time || "").replace(/-/g, "/").replace(/[T]/g, " ").split(" "); var time = temp[1] ? temp[1] : ''; var dateTemp = temp[0]; if (dateFormat != undefined) { dateTemp = dateTemp.split('/'); switch (dateFormat) { case 'dd/mm/yyyy': dateTemp = dateTemp[2] + '/' + dateTemp[1] + '/' + dateTemp[0] + ' ' + time; break; case 'mm/dd/yyyy': dateTemp = dateTemp[2] + '/' + dateTemp[0] + '/' + dateTemp[1] + ' ' + time; break; case 'yyyy/mm/dd': dateTemp = dateTemp[0] + '/' + dateTemp[1] + '/' + dateTemp[2] + ' ' + time; break; case 'yyyy/dd/mm': dateTemp = dateTemp[0] + '/' + dateTemp[2] + '/' + dateTemp[1] + ' ' + time; break; default: break; } } date = new Date(dateTemp); } try { var diff = (((new Date()).getTime() - date.getTime()) / 1000); var day_diff = Math.floor(diff / 86400); } catch (e) { return "Invalid Date"; } if (isNaN(day_diff) || day_diff < 0) return "Invalid Date"; return day_diff == 0 && (diff < 60 && "just now" || diff < 120 && "1 minute ago" || diff < 3600 && Math.floor(diff / 60) + " minutes ago" || diff < 7200 && "1 hour ago" || diff < 86400 && Math.floor(diff / 3600) + " hours ago") || day_diff == 1 && "Yesterday" || day_diff < 7 && day_diff + " days ago" || day_diff == 7 && "1 week ago" || day_diff < 31 && Math.ceil(day_diff / 7) + " weeks ago" || day_diff < 365 && Math.ceil(day_diff / 30) + " months ago" || day_diff >= 365 && " more than a year ago"; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: PrettyDate, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); } static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.3", ngImport: i0, type: PrettyDate, name: "prettyDate" }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: PrettyDate, decorators: [{ type: Pipe, args: [{ name: 'prettyDate' }] }] }); class NgxPrettyDateModule { static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: NgxPrettyDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); } static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.3", ngImport: i0, type: NgxPrettyDateModule, declarations: [PrettyDate], exports: [PrettyDate] }); } static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: NgxPrettyDateModule }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.3", ngImport: i0, type: NgxPrettyDateModule, decorators: [{ type: NgModule, args: [{ declarations: [ PrettyDate ], imports: [], exports: [ PrettyDate ] }] }] }); /* * Public API Surface of ngx-pretty-date */ /** * Generated bundle index. Do not edit. */ export { NgxPrettyDateModule, PrettyDate }; //# sourceMappingURL=ngx-pretty-date.mjs.map