Skip to content

Commit 82205c5

Browse files
committed
feat(internationalization): enhance date formatting options with named formats
1 parent 80a3575 commit 82205c5

2 files changed

Lines changed: 14 additions & 3 deletions

File tree

.hintrc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
"default",
88
{
99
"ignore": [
10-
"user-select"
10+
"user-select",
11+
"-webkit-font-feature-settings"
1112
]
1213
}
1314
]

src/services/internationalization.service.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,21 @@
22
* Internationalization service for handling translations and locale-specific formatting
33
* Follows the Singleton pattern to ensure consistent language across the application
44
*/
5+
6+
// Define a custom type for our named format options
7+
interface DateFormatOptions {
8+
short: Intl.DateTimeFormatOptions;
9+
medium: Intl.DateTimeFormatOptions;
10+
long: Intl.DateTimeFormatOptions;
11+
full: Intl.DateTimeFormatOptions;
12+
[key: string]: Intl.DateTimeFormatOptions;
13+
}
14+
515
export class InternationalizationService {
616
private static instance: InternationalizationService;
717
private _locale: string;
818
private _translations: Record<string, Record<string, string>> = {};
9-
private _dateTimeFormats: Record<string, Intl.DateTimeFormatOptions> = {};
19+
private _dateTimeFormats: Record<string, DateFormatOptions> = {};
1020

1121
/**
1222
* Private constructor to enforce the Singleton pattern
@@ -138,7 +148,7 @@ export class InternationalizationService {
138148
*/
139149
public setDateTimeFormat(locale: string, formatName: string, formatOptions: Intl.DateTimeFormatOptions): void {
140150
if (!this._dateTimeFormats[locale]) {
141-
this._dateTimeFormats[locale] = {};
151+
this._dateTimeFormats[locale] = {} as DateFormatOptions;
142152
}
143153
this._dateTimeFormats[locale][formatName] = formatOptions;
144154
}

0 commit comments

Comments
 (0)