UNPKG

@jsverse/transloco-locale

Version:

The localization (l10n) library plugin for Transloco

43 lines 5.56 kB
import { inject, Pipe } from '@angular/core'; import { isNil } from '@jsverse/transloco'; 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: "17.0.9", ngImport: i0, type: TranslocoDatePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: TranslocoDatePipe, isStandalone: true, name: "translocoDate", pure: false }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoDatePipe, decorators: [{ type: Pipe, args: [{ name: 'translocoDate', pure: false, standalone: true, }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLWRhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdHJhbnNsb2NvLWxvY2FsZS9zcmMvbGliL3BpcGVzL3RyYW5zbG9jby1kYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFRckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQU9wRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsY0FBYztJQUMzQyxZQUFZLEdBQWlCLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBRXJFOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCxTQUFTLENBQUMsSUFBZSxFQUFFLFVBQTZCLEVBQUUsRUFBRSxNQUFlO1FBQ3pFLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzNCLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWhDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUNuRCxHQUFHLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUN2RCxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQXpCVSxpQkFBaUI7cUdBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFMN0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZUFBZTtvQkFDckIsSUFBSSxFQUFFLEtBQUs7b0JBQ1gsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XG5cbmltcG9ydCB7IGdldERlZmF1bHRPcHRpb25zIH0gZnJvbSAnLi4vc2hhcmVkJztcbmltcG9ydCB7IFRSQU5TTE9DT19MT0NBTEVfQ09ORklHIH0gZnJvbSAnLi4vdHJhbnNsb2NvLWxvY2FsZS5jb25maWcnO1xuaW1wb3J0IHtcbiAgRGF0ZUZvcm1hdE9wdGlvbnMsXG4gIExvY2FsZSxcbiAgTG9jYWxlQ29uZmlnLFxuICBWYWxpZERhdGUsXG59IGZyb20gJy4uL3RyYW5zbG9jby1sb2NhbGUudHlwZXMnO1xuXG5pbXBvcnQgeyBCYXNlTG9jYWxlUGlwZSB9IGZyb20gJy4vYmFzZS1sb2NhbGUucGlwZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3RyYW5zbG9jb0RhdGUnLFxuICBwdXJlOiBmYWxzZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsb2NvRGF0ZVBpcGUgZXh0ZW5kcyBCYXNlTG9jYWxlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwcml2YXRlIGxvY2FsZUNvbmZpZzogTG9jYWxlQ29uZmlnID0gaW5qZWN0KFRSQU5TTE9DT19MT0NBTEVfQ09ORklHKTtcblxuICAvKipcbiAgICogVHJhbnNmb3JtIGEgZGF0ZSBpbnRvIHRoZSBsb2NhbGUncyBkYXRlIGZvcm1hdC5cbiAgICpcbiAgICogVGhlIGRhdGUgZXhwcmVzc2lvbjogYSBgRGF0ZWAgb2JqZWN0LCAgYSBudW1iZXJcbiAgICogKG1pbGxpc2Vjb25kcyBzaW5jZSBVVEMgZXBvY2gpLCBvciBhbiBJU08gc3RyaW5nIChodHRwczovL3d3dy53My5vcmcvVFIvTk9URS1kYXRldGltZSkuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqXG4gICAqIGRhdGUgfCB0cmFuc2xvY29EYXRlOiB7fSA6IGVuLVVTIC8vIDkvMTAvMjAxOVxuICAgKiBkYXRlIHwgdHJhbnNsb2NvRGF0ZTogeyBkYXRlU3R5bGU6ICdtZWRpdW0nLCB0aW1lU3R5bGU6ICdtZWRpdW0nIH0gOiBlbi1VUyAvLyBTZXAgMTAsIDIwMTksIDEwOjQ2OjEyIFBNXG4gICAqIGRhdGUgfCB0cmFuc2xvY29EYXRlOiB7IHRpbWVab25lOiAnVVRDJywgdGltZVN0eWxlOiAnZnVsbCcgfSA6IGVuLVVTIC8vIDc6NDA6MzIgUE0gQ29vcmRpbmF0ZWQgVW5pdmVyc2FsIFRpbWVcbiAgICogMSB8IHRyYW5zbG9jb0RhdGU6IHsgZGF0ZVN0eWxlOiAnbWVkaXVtJyB9IC8vIEphbiAxLCAxOTcwXG4gICAqICcyMDE5LTAyLTA4JyB8IHRyYW5zbG9jb0RhdGU6IHsgZGF0ZVN0eWxlOiAnbWVkaXVtJyB9IC8vIEZlYiA4LCAyMDE5XG4gICAqL1xuICB0cmFuc2Zvcm0oZGF0ZTogVmFsaWREYXRlLCBvcHRpb25zOiBEYXRlRm9ybWF0T3B0aW9ucyA9IHt9LCBsb2NhbGU/OiBMb2NhbGUpIHtcbiAgICBpZiAoaXNOaWwoZGF0ZSkpIHJldHVybiAnJztcbiAgICBsb2NhbGUgPSB0aGlzLmdldExvY2FsZShsb2NhbGUpO1xuXG4gICAgcmV0dXJuIHRoaXMubG9jYWxlU2VydmljZS5sb2NhbGl6ZURhdGUoZGF0ZSwgbG9jYWxlLCB7XG4gICAgICAuLi5nZXREZWZhdWx0T3B0aW9ucyhsb2NhbGUsICdkYXRlJywgdGhpcy5sb2NhbGVDb25maWcpLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxufVxuIl19