@alauda-fe/common
Version:
Alauda frontend team common codes.
45 lines • 4.96 kB
JavaScript
/**
* @packageDocumentation
* @module utils
*/
import { Injectable, Injector } from '@angular/core';
import dayjs from 'dayjs';
import relativeTime from 'dayjs/plugin/relativeTime';
import timezone from 'dayjs/plugin/timezone';
import utc from 'dayjs/plugin/utc';
import 'dayjs/locale/zh-cn.js'; // 中文包
import { TranslateService } from '../../translate/public-api';
import { DATE_TIME_FORMAT } from '../constants/public-api';
import * as i0 from "@angular/core";
dayjs.extend(relativeTime);
dayjs.extend(timezone);
dayjs.extend(utc);
export class TimeService {
get currTz() {
return dayjs.tz.guess();
}
constructor(injector) {
this.injector = injector;
}
now(utc) {
const now = dayjs();
return utc ? now.utc() : now;
}
format(date, dateFormat = DATE_TIME_FORMAT) {
return dayjs(date).format(dateFormat);
}
distance(date, baseDate) {
return dayjs(date)
.locale(this.injector.get(TranslateService).locale === 'zh' ? 'zh-cn' : 'en')
.from(baseDate);
}
static { this.ɵfac = function TimeService_Factory(t) { return new (t || TimeService)(i0.ɵɵinject(i0.Injector)); }; }
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TimeService, factory: TimeService.ɵfac, providedIn: 'root' }); }
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimeService, [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}], () => [{ type: i0.Injector }], null); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvc2VydmljZXMvdGltZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sS0FBcUIsTUFBTSxPQUFPLENBQUM7QUFDMUMsT0FBTyxZQUFZLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxRQUFRLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxHQUFHLE1BQU0sa0JBQWtCLENBQUM7QUFDbkMsT0FBTyx1QkFBdUIsQ0FBQyxDQUFDLE1BQU07QUFFdEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRTNELEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDM0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN2QixLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBS2xCLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLElBQUksTUFBTTtRQUNSLE9BQU8sS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsWUFBNkIsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7SUFFbkQsR0FBRyxDQUFDLEdBQWE7UUFDZixNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsQ0FBQztRQUNwQixPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDL0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFpQixFQUFFLFVBQVUsR0FBRyxnQkFBZ0I7UUFDckQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBZ0IsRUFBRSxRQUFxQjtRQUM5QyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUM7YUFDZixNQUFNLENBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDckU7YUFDQSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEIsQ0FBQzs0RUF0QlUsV0FBVzt1RUFBWCxXQUFXLFdBQVgsV0FBVyxtQkFGVixNQUFNOztpRkFFUCxXQUFXO2NBSHZCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIHV0aWxzXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBkYXlqcywgeyBDb25maWdUeXBlIH0gZnJvbSAnZGF5anMnO1xuaW1wb3J0IHJlbGF0aXZlVGltZSBmcm9tICdkYXlqcy9wbHVnaW4vcmVsYXRpdmVUaW1lJztcbmltcG9ydCB0aW1lem9uZSBmcm9tICdkYXlqcy9wbHVnaW4vdGltZXpvbmUnO1xuaW1wb3J0IHV0YyBmcm9tICdkYXlqcy9wbHVnaW4vdXRjJztcbmltcG9ydCAnZGF5anMvbG9jYWxlL3poLWNuLmpzJzsgLy8g5Lit5paH5YyFXG5cbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBEQVRFX1RJTUVfRk9STUFUIH0gZnJvbSAnLi4vY29uc3RhbnRzL3B1YmxpYy1hcGknO1xuXG5kYXlqcy5leHRlbmQocmVsYXRpdmVUaW1lKTtcbmRheWpzLmV4dGVuZCh0aW1lem9uZSk7XG5kYXlqcy5leHRlbmQodXRjKTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVTZXJ2aWNlIHtcbiAgZ2V0IGN1cnJUeigpIHtcbiAgICByZXR1cm4gZGF5anMudHouZ3Vlc3MoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gIG5vdyh1dGM/OiBib29sZWFuKSB7XG4gICAgY29uc3Qgbm93ID0gZGF5anMoKTtcbiAgICByZXR1cm4gdXRjID8gbm93LnV0YygpIDogbm93O1xuICB9XG5cbiAgZm9ybWF0KGRhdGU/OiBDb25maWdUeXBlLCBkYXRlRm9ybWF0ID0gREFURV9USU1FX0ZPUk1BVCkge1xuICAgIHJldHVybiBkYXlqcyhkYXRlKS5mb3JtYXQoZGF0ZUZvcm1hdCk7XG4gIH1cblxuICBkaXN0YW5jZShkYXRlOiBDb25maWdUeXBlLCBiYXNlRGF0ZT86IENvbmZpZ1R5cGUpIHtcbiAgICByZXR1cm4gZGF5anMoZGF0ZSlcbiAgICAgIC5sb2NhbGUoXG4gICAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KFRyYW5zbGF0ZVNlcnZpY2UpLmxvY2FsZSA9PT0gJ3poJyA/ICd6aC1jbicgOiAnZW4nLFxuICAgICAgKVxuICAgICAgLmZyb20oYmFzZURhdGUpO1xuICB9XG59XG4iXX0=