@jsverse/transloco-locale
Version:
The localization (l10n) library plugin for Transloco
43 lines • 5.55 kB
JavaScript
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=