UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

45 lines 4.96 kB
/** * @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=