UNPKG

@jsverse/transloco-locale

Version:

The localization (l10n) library plugin for Transloco

43 lines 5.55 kB
import { inject, Pipe } from '@angular/core'; import { isNil } from '@jsverse/utils'; import { getDefaultOptions } from '../shared'; import { TRANSLOCO_LOCALE_CONFIG } from '../transloco-locale.config'; import { BaseLocalePipe } from './base-locale.pipe'; import * as i0 from "@angular/core"; export class TranslocoDatePipe extends BaseLocalePipe { localeConfig = inject(TRANSLOCO_LOCALE_CONFIG); /** * Transform a date into the locale's date format. * * The date expression: a `Date` object, a number * (milliseconds since UTC epoch), or an ISO string (https://www.w3.org/TR/NOTE-datetime). * * @example * * date | translocoDate: {} : en-US // 9/10/2019 * date | translocoDate: { dateStyle: 'medium', timeStyle: 'medium' } : en-US // Sep 10, 2019, 10:46:12 PM * date | translocoDate: { timeZone: 'UTC', timeStyle: 'full' } : en-US // 7:40:32 PM Coordinated Universal Time * 1 | translocoDate: { dateStyle: 'medium' } // Jan 1, 1970 * '2019-02-08' | translocoDate: { dateStyle: 'medium' } // Feb 8, 2019 */ transform(date, options = {}, locale) { if (isNil(date)) return ''; locale = this.getLocale(locale); return this.localeService.localizeDate(date, locale, { ...getDefaultOptions(locale, 'date', this.localeConfig), ...options, }); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TranslocoDatePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: TranslocoDatePipe, isStandalone: true, name: "translocoDate", pure: false }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TranslocoDatePipe, decorators: [{ type: Pipe, args: [{ name: 'translocoDate', pure: false, standalone: true, }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLWRhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdHJhbnNsb2NvLWxvY2FsZS9zcmMvbGliL3BpcGVzL3RyYW5zbG9jby1kYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFRckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQU9wRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsY0FBYztJQUMzQyxZQUFZLEdBQWlCLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBRXJFOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCxTQUFTLENBQUMsSUFBZSxFQUFFLFVBQTZCLEVBQUUsRUFBRSxNQUFlO1FBQ3pFLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzNCLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWhDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUNuRCxHQUFHLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUN2RCxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQXpCVSxpQkFBaUI7cUdBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFMN0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZUFBZTtvQkFDckIsSUFBSSxFQUFFLEtBQUs7b0JBQ1gsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJ0Bqc3ZlcnNlL3V0aWxzJztcblxuaW1wb3J0IHsgZ2V0RGVmYXVsdE9wdGlvbnMgfSBmcm9tICcuLi9zaGFyZWQnO1xuaW1wb3J0IHsgVFJBTlNMT0NPX0xPQ0FMRV9DT05GSUcgfSBmcm9tICcuLi90cmFuc2xvY28tbG9jYWxlLmNvbmZpZyc7XG5pbXBvcnQge1xuICBEYXRlRm9ybWF0T3B0aW9ucyxcbiAgTG9jYWxlLFxuICBMb2NhbGVDb25maWcsXG4gIFZhbGlkRGF0ZSxcbn0gZnJvbSAnLi4vdHJhbnNsb2NvLWxvY2FsZS50eXBlcyc7XG5cbmltcG9ydCB7IEJhc2VMb2NhbGVQaXBlIH0gZnJvbSAnLi9iYXNlLWxvY2FsZS5waXBlJztcblxuQFBpcGUoe1xuICBuYW1lOiAndHJhbnNsb2NvRGF0ZScsXG4gIHB1cmU6IGZhbHNlLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xvY29EYXRlUGlwZSBleHRlbmRzIEJhc2VMb2NhbGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHByaXZhdGUgbG9jYWxlQ29uZmlnOiBMb2NhbGVDb25maWcgPSBpbmplY3QoVFJBTlNMT0NPX0xPQ0FMRV9DT05GSUcpO1xuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gYSBkYXRlIGludG8gdGhlIGxvY2FsZSdzIGRhdGUgZm9ybWF0LlxuICAgKlxuICAgKiBUaGUgZGF0ZSBleHByZXNzaW9uOiBhIGBEYXRlYCBvYmplY3QsICBhIG51bWJlclxuICAgKiAobWlsbGlzZWNvbmRzIHNpbmNlIFVUQyBlcG9jaCksIG9yIGFuIElTTyBzdHJpbmcgKGh0dHBzOi8vd3d3LnczLm9yZy9UUi9OT1RFLWRhdGV0aW1lKS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICpcbiAgICogZGF0ZSB8IHRyYW5zbG9jb0RhdGU6IHt9IDogZW4tVVMgLy8gOS8xMC8yMDE5XG4gICAqIGRhdGUgfCB0cmFuc2xvY29EYXRlOiB7IGRhdGVTdHlsZTogJ21lZGl1bScsIHRpbWVTdHlsZTogJ21lZGl1bScgfSA6IGVuLVVTIC8vIFNlcCAxMCwgMjAxOSwgMTA6NDY6MTIgUE1cbiAgICogZGF0ZSB8IHRyYW5zbG9jb0RhdGU6IHsgdGltZVpvbmU6ICdVVEMnLCB0aW1lU3R5bGU6ICdmdWxsJyB9IDogZW4tVVMgLy8gNzo0MDozMiBQTSBDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZVxuICAgKiAxIHwgdHJhbnNsb2NvRGF0ZTogeyBkYXRlU3R5bGU6ICdtZWRpdW0nIH0gLy8gSmFuIDEsIDE5NzBcbiAgICogJzIwMTktMDItMDgnIHwgdHJhbnNsb2NvRGF0ZTogeyBkYXRlU3R5bGU6ICdtZWRpdW0nIH0gLy8gRmViIDgsIDIwMTlcbiAgICovXG4gIHRyYW5zZm9ybShkYXRlOiBWYWxpZERhdGUsIG9wdGlvbnM6IERhdGVGb3JtYXRPcHRpb25zID0ge30sIGxvY2FsZT86IExvY2FsZSkge1xuICAgIGlmIChpc05pbChkYXRlKSkgcmV0dXJuICcnO1xuICAgIGxvY2FsZSA9IHRoaXMuZ2V0TG9jYWxlKGxvY2FsZSk7XG5cbiAgICByZXR1cm4gdGhpcy5sb2NhbGVTZXJ2aWNlLmxvY2FsaXplRGF0ZShkYXRlLCBsb2NhbGUsIHtcbiAgICAgIC4uLmdldERlZmF1bHRPcHRpb25zKGxvY2FsZSwgJ2RhdGUnLCB0aGlzLmxvY2FsZUNvbmZpZyksXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICB9XG59XG4iXX0=