UNPKG

ngx-timeago

Version:

Live updating timestamps in Angular 6+.

31 lines 4 kB
import { Injectable } from '@angular/core'; import { of, empty, timer } from 'rxjs'; import { expand, skip } from 'rxjs/operators'; import { MINUTE, HOUR, DAY } from './util'; import * as i0 from "@angular/core"; export class TimeagoClock { } class TimeagoDefaultClock extends TimeagoClock { tick(then) { return of(0) .pipe(expand(() => { const now = Date.now(); const seconds = Math.round(Math.abs(now - then) / 1000); const period = seconds < MINUTE ? 1000 : seconds < HOUR ? 1000 * MINUTE : seconds < DAY ? 1000 * HOUR : 0; return period ? timer(period) : empty(); }), skip(1)); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: TimeagoDefaultClock, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: TimeagoDefaultClock }); } } export { TimeagoDefaultClock }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: TimeagoDefaultClock, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWFnby5jbG9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zcmMvdGltZWFnby5jbG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7QUFFM0MsTUFBTSxPQUFnQixZQUFZO0NBRWpDO0FBRUQsTUFDYSxtQkFBb0IsU0FBUSxZQUFZO0lBQ25ELElBQUksQ0FBQyxJQUFZO1FBQ2YsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ1QsSUFBSSxDQUNILE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDdkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUV4RCxNQUFNLE1BQU0sR0FDVixPQUFPLEdBQUcsTUFBTTtnQkFDZCxDQUFDLENBQUMsSUFBSTtnQkFDTixDQUFDLENBQUMsT0FBTyxHQUFHLElBQUk7b0JBQ2QsQ0FBQyxDQUFDLElBQUksR0FBRyxNQUFNO29CQUNmLENBQUMsQ0FBQyxPQUFPLEdBQUcsR0FBRzt3QkFDYixDQUFDLENBQUMsSUFBSSxHQUFHLElBQUk7d0JBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVaLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFDLENBQUMsQ0FBQyxFQUNGLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDUixDQUFDO0lBQ04sQ0FBQzs4R0FyQlUsbUJBQW1CO2tIQUFuQixtQkFBbUI7O1NBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIGVtcHR5LCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZXhwYW5kLCBza2lwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTUlOVVRFLCBIT1VSLCBEQVkgfSBmcm9tICcuL3V0aWwnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGltZWFnb0Nsb2NrIHtcbiAgYWJzdHJhY3QgdGljayh0aGVuOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT47XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUaW1lYWdvRGVmYXVsdENsb2NrIGV4dGVuZHMgVGltZWFnb0Nsb2NrIHtcbiAgdGljayh0aGVuOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBvZigwKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGV4cGFuZCgoKSA9PiB7XG4gICAgICAgICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgICBjb25zdCBzZWNvbmRzID0gTWF0aC5yb3VuZChNYXRoLmFicyhub3cgLSB0aGVuKSAvIDEwMDApO1xuXG4gICAgICAgICAgY29uc3QgcGVyaW9kID1cbiAgICAgICAgICAgIHNlY29uZHMgPCBNSU5VVEVcbiAgICAgICAgICAgICAgPyAxMDAwXG4gICAgICAgICAgICAgIDogc2Vjb25kcyA8IEhPVVJcbiAgICAgICAgICAgICAgICA/IDEwMDAgKiBNSU5VVEVcbiAgICAgICAgICAgICAgICA6IHNlY29uZHMgPCBEQVlcbiAgICAgICAgICAgICAgICAgID8gMTAwMCAqIEhPVVJcbiAgICAgICAgICAgICAgICAgIDogMDtcblxuICAgICAgICAgIHJldHVybiBwZXJpb2QgPyB0aW1lcihwZXJpb2QpIDogZW1wdHkoKTtcbiAgICAgICAgfSksXG4gICAgICAgIHNraXAoMSlcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==