ect-date-formatter 1.20.0 → 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # ECT Date Formatter
2
2
 
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 20.0.4.
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 21.0.1.
4
4
 
5
5
  ## Description
6
6
 
@@ -300,10 +300,10 @@ class EctDateFormatterService {
300
300
  return new Date(input);
301
301
  return input;
302
302
  }
303
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: EctDateFormatterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
304
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: EctDateFormatterService, providedIn: 'root' });
303
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: EctDateFormatterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
304
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: EctDateFormatterService, providedIn: 'root' });
305
305
  }
306
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: EctDateFormatterService, decorators: [{
306
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: EctDateFormatterService, decorators: [{
307
307
  type: Injectable,
308
308
  args: [{
309
309
  providedIn: 'root'
@@ -1 +1 @@
1
- {"version":3,"file":"ect-date-formatter.mjs","sources":["../../../projects/ect-date-formatter/src/lib/ect-date-formatter.service.ts","../../../projects/ect-date-formatter/src/public-api.ts","../../../projects/ect-date-formatter/src/ect-date-formatter.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\nexport interface IDateTimeFormatSections {\r\n parts: string[];\r\n divider: string;\r\n}\r\n\r\nexport interface IEctDateFormatterService {\r\n getISO8601DateFormat(date: Date): string;\r\n getISO8601TimeFormat(date: Date): string;\r\n getISO8601DateAndTimeFormat(date: Date): string;\r\n formatDate(date: Date, format: string): string;\r\n formatTime(date: Date, format: string): string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EctDateFormatterService implements IEctDateFormatterService {\r\n\r\n getISO8601DateFormat(date: Date): string {\r\n return this.get4DigitYear(date) + '-' + this.get2DigitMonth(date) + '-' + this.get2DigitDay(date);\r\n }\r\n\r\n getISO8601TimeFormat(date: Date): string {\r\n return this.get2Digit24Hours(date) + ':' + this.get2DigitMinutes(date) + ':' + this.get2DigitSeconds(date);\r\n }\r\n\r\n getISO8601DateAndTimeFormat(date: Date): string {\r\n return this.getISO8601DateFormat(date) + 'T' + this.getISO8601TimeFormat(date);\r\n }\r\n\r\n private getFormatPartsByDivider(input: string): IDateTimeFormatSections {\r\n if (input.indexOf(' ') > 0) {\r\n return {\r\n parts: input.split(' '),\r\n divider: ' '\r\n } as IDateTimeFormatSections;\r\n }\r\n if (input.indexOf('/') > 0) {\r\n return {\r\n parts: input.split('/'),\r\n divider: '/'\r\n } as IDateTimeFormatSections;\r\n }\r\n if (input.indexOf(':') > 0) {\r\n return {\r\n parts: input.split(':'),\r\n divider: ':'\r\n } as IDateTimeFormatSections;\r\n }\r\n if (input.indexOf(';') > 0) {\r\n return {\r\n parts: input.split(';'),\r\n divider: ';'\r\n } as IDateTimeFormatSections;\r\n }\r\n if (input.indexOf('.') > 0) {\r\n return {\r\n parts: input.split('.'),\r\n divider: '.'\r\n } as IDateTimeFormatSections;\r\n }\r\n if (input.indexOf(',') > 0) {\r\n return {\r\n parts: input.split(','),\r\n divider: ','\r\n } as IDateTimeFormatSections;\r\n }\r\n if (input.indexOf('-') > 0) {\r\n return {\r\n parts: input.split('-'),\r\n divider: '-'\r\n } as IDateTimeFormatSections;\r\n }\r\n if (input.indexOf('_') > 0) {\r\n return {\r\n parts: input.split('_'),\r\n divider: '_'\r\n } as IDateTimeFormatSections;\r\n }\r\n\r\n return { parts: [], divider: ''} as IDateTimeFormatSections;\r\n }\r\n\r\n\r\n /*\r\n Date Formatting Rules\r\n\r\n yy/YY – two-digit year, e.g. 21\r\n yyyy/YYYY – four-digit year, e.g. 2021\r\n m/M – one-digit month for months below 10, e.g. 3\r\n mm/MM – two-digit month, e.g. 03\r\n mmm/MMM – three-letter abbreviation for month, e.g. Mar\r\n mmmm/MMMM – month spelled out in full, e.g. March\r\n d/D – one-digit day of the month for days below 10, e.g. 2\r\n dd/DD – two-digit day of the month, e.g. 02\r\n ddd/DDD – three-letter abbreviation for day of the week, e.g. Fri\r\n dddd/DDDD – day of the week spelled out in full, e.g. Friday\r\n\r\n */\r\n formatDate(date: Date, format: string): string {\r\n const formatPartsAndDivider = this.getFormatPartsByDivider(format);\r\n let dateValue = '';\r\n formatPartsAndDivider.parts.forEach(part => {\r\n if (dateValue !== '')\r\n dateValue += formatPartsAndDivider.divider;\r\n switch(part) {\r\n case 'yy':\r\n case 'YY':\r\n dateValue += this.get2DigitYear(date);\r\n break;\r\n case 'yyyy':\r\n case 'YYYY':\r\n dateValue += this.get4DigitYear(date);\r\n break;\r\n case 'm':\r\n case 'M':\r\n dateValue += this.get1DigitMonth(date);\r\n break;\r\n case 'mm':\r\n case 'MM':\r\n dateValue += this.get2DigitMonth(date);\r\n break;\r\n case 'mmm':\r\n case 'MMM':\r\n dateValue += this.get3DigitMonth(date);\r\n break;\r\n case 'mmmm':\r\n case 'MMMM':\r\n dateValue += this.get4DigitMonth(date);\r\n break;\r\n case 'd':\r\n case 'D':\r\n dateValue += this.get1DigitDay(date);\r\n break;\r\n case 'dd':\r\n case 'DD':\r\n dateValue += this.get2DigitDay(date);\r\n break;\r\n case 'ddd':\r\n case 'DDD':\r\n dateValue += this.get3DigitDay(date);\r\n break;\r\n case 'dddd':\r\n case 'DDDD':\r\n dateValue += this.get4DigitDay(date);\r\n break;\r\n }\r\n });\r\n return dateValue;\r\n }\r\n\r\n /*\r\n Time Formatting Rules\r\n\r\n h - hour to 1 digit on 12 hour clock - without leading 0\r\n hh - hour to 2 digits on 12 hour clock - with leading 0\r\n H - hour to 1 digit on 24 hour clock - without leading 0\r\n HH - hour to 2 digits on 24 hour clock - with leading 0\r\n m - minute to 1 digit - without leading 0\r\n mm/mi/MI - minute to 2 digits - with leading 0\r\n s/S - second to 1 digit - without leading 0\r\n ss/SS - second to 2 digits - with leading 0\r\n f/F - tenth of a second e.g. 2009-06-15T13:45:30.6170000 -> 6\r\n ff/FF - hundredths of a second e.g. 2009-06-15T13:45:30.6170000 -> 61\r\n fff/FFF - milliseconds e.g. 6/15/2009 13:45:30.617 -> 617\r\n ffff/FFFF - ten thousandths of a second e.g. 2009-06-15T13:45:30.6175000 -> 6175\r\n fffff/FFFFF - hundred thousandths of a second e.g. 2009-06-15T13:45:30.6175400 -> 61754\r\n ffffff/FFFFFF - millionths of a second e.g. 2009-06-15T13:45:30.6175420 -> 617542\r\n t/T - first character of AM/PM\r\n tt/TT - both characters of AM/PM\r\n\r\n */\r\n formatTime(date: Date, format: string): string {\r\n const formatPartsAndDivider = this.getFormatPartsByDivider(format);\r\n let timeValue = '';\r\n formatPartsAndDivider.parts.forEach(part => {\r\n if (timeValue !== '')\r\n timeValue += formatPartsAndDivider.divider;\r\n switch(part) {\r\n case 'h':\r\n timeValue += this.get1Digit12Hours(date);\r\n break;\r\n case 'hh':\r\n timeValue += this.get2Digit12Hours(date);\r\n break;\r\n case 'H':\r\n timeValue += this.get1Digit24Hours(date);\r\n break;\r\n case 'HH':\r\n timeValue += this.get2Digit24Hours(date);\r\n break;\r\n case 'm':\r\n timeValue += this.get1DigitMinutes(date);\r\n break;\r\n case 'mi':\r\n case 'mm':\r\n case 'MI':\r\n timeValue += this.get2DigitMinutes(date);\r\n break;\r\n case 's':\r\n case 'S':\r\n timeValue += this.get1DigitSeconds(date);\r\n break;\r\n case 'ss':\r\n case 'SS':\r\n timeValue += this.get2DigitSeconds(date);\r\n break;\r\n case 't':\r\n case 'T':\r\n timeValue += this.get1DigitAmPm(date);\r\n break;\r\n case 'tt':\r\n case 'TT':\r\n timeValue += this.get2DigitAmPm(date);\r\n break;\r\n case 'f':\r\n case 'F':\r\n timeValue += this.getXDigitMillisecond(date, 'f');\r\n break;\r\n case 'ff':\r\n case 'FF':\r\n timeValue += this.getXDigitMillisecond(date, 'fff');\r\n break;\r\n case 'fff':\r\n case 'FFF':\r\n timeValue += this.getXDigitMillisecond(date, 'fff');\r\n break;\r\n case 'ffff':\r\n case 'FFFF':\r\n timeValue += this.getXDigitMillisecond(date, 'ffff');\r\n break;\r\n case 'fffff':\r\n case 'FFFFF':\r\n timeValue += this.getXDigitMillisecond(date, 'fffff');\r\n break;\r\n case 'ffffff':\r\n case 'FFFFFF':\r\n timeValue += this.getXDigitMillisecond(date, 'ffffff');\r\n break;\r\n }\r\n });\r\n return timeValue;\r\n }\r\n\r\n private get1DigitDay(date: Date): string {\r\n const day = this.convertToDateIfRequired(date).getDate();\r\n return '' + day;\r\n }\r\n\r\n private get2DigitDay(date: Date): string {\r\n const day = this.convertToDateIfRequired(date).getDate();\r\n return this.padDateElement(day);\r\n }\r\n\r\n private get3DigitDay(date: Date): string {\r\n return this.convertToDateIfRequired(date).toLocaleString('default', { weekday: 'short' });\r\n }\r\n\r\n private get4DigitDay(date: Date): string {\r\n return this.convertToDateIfRequired(date).toLocaleString('default', { weekday: 'long' });\r\n }\r\n\r\n private get1DigitMonth(date: Date): string {\r\n const month = this.convertToDateIfRequired(date).getMonth() + 1;\r\n return '' + month;\r\n }\r\n\r\n private get2DigitMonth(date: Date): string {\r\n const month = this.convertToDateIfRequired(date).getMonth() + 1;\r\n return this.padDateElement(month);\r\n }\r\n\r\n private get3DigitMonth(date: Date): string {\r\n return this.convertToDateIfRequired(date).toLocaleString('default', { month: 'long' }).substring(0,3);\r\n }\r\n\r\n private get4DigitMonth(date: Date): string {\r\n return this.convertToDateIfRequired(date).toLocaleString('default', { month: 'long' });\r\n }\r\n\r\n private get2DigitYear(date: Date): string {\r\n const fullYear = '' + this.convertToDateIfRequired(date).getFullYear();\r\n return fullYear[2];\r\n }\r\n\r\n private get4DigitYear(date: Date): string {\r\n return this.convertToDateIfRequired(date).getFullYear().toString();\r\n }\r\n\r\n private get1Digit12Hours(date: Date): string {\r\n return this.convertToDateIfRequired(date).getHours().toString();\r\n }\r\n\r\n private get2Digit12Hours(date: Date): string {\r\n const hours = this.convertToDateIfRequired(date).getHours();\r\n return this.padDateElement(hours);\r\n }\r\n\r\n private get1Digit24Hours(date: Date): string {\r\n return this.convertToDateIfRequired(date).getHours().toString();\r\n }\r\n\r\n private get2Digit24Hours(date: Date): string {\r\n const hours = this.convertToDateIfRequired(date).getHours();\r\n return this.padDateElement(hours);\r\n }\r\n\r\n private get1DigitMinutes(date: Date): string {\r\n return this.convertToDateIfRequired(date).getMinutes().toString();\r\n }\r\n\r\n private get2DigitMinutes(date: Date): string {\r\n const minutes = this.convertToDateIfRequired(date).getMinutes();\r\n return this.padDateElement(minutes);\r\n }\r\n\r\n private get1DigitSeconds(date: Date): string {\r\n return this.convertToDateIfRequired(date).getSeconds().toString();\r\n }\r\n\r\n private get2DigitSeconds(date: Date): string {\r\n const seconds = this.convertToDateIfRequired(date).getSeconds();\r\n return this.padDateElement(seconds);\r\n }\r\n\r\n private get1DigitAmPm(date: Date): string {\r\n return this.convertToDateIfRequired(date).toLocaleDateString('t');\r\n }\r\n\r\n private get2DigitAmPm(date: Date): string {\r\n return this.convertToDateIfRequired(date).toLocaleDateString('tt');\r\n }\r\n\r\n private getXDigitMillisecond(date: Date, format): string {\r\n return this.convertToDateIfRequired(date).toLocaleDateString(format);\r\n }\r\n\r\n private padDateElement(value: number): string {\r\n return (value < 10) ? '0' + value : '' + value;\r\n }\r\n\r\n private convertToDateIfRequired(input: Date | string): Date {\r\n if (typeof(input) === 'string')\r\n return new Date(input);\r\n return input;\r\n }\r\n\r\n}\r\n","/*\r\n Copyright (c) 2025 Exodus Cloud Technology Solutions Ltd\r\n\r\n The licence agreement can be found at:\r\n https://angular-grid.net/assets/licence/licence_agreement.txt\r\n\r\n*/\r\n\r\nexport * from './lib/ect-date-formatter.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ect-date-formatter.mjs","sources":["../../../projects/ect-date-formatter/src/lib/ect-date-formatter.service.ts","../../../projects/ect-date-formatter/src/public-api.ts","../../../projects/ect-date-formatter/src/ect-date-formatter.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\nexport interface IDateTimeFormatSections {\r\n parts: string[];\r\n divider: string;\r\n}\r\n\r\nexport interface IEctDateFormatterService {\r\n getISO8601DateFormat(date: Date): string;\r\n getISO8601TimeFormat(date: Date): string;\r\n getISO8601DateAndTimeFormat(date: Date): string;\r\n formatDate(date: Date, format: string): string;\r\n formatTime(date: Date, format: string): string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EctDateFormatterService implements IEctDateFormatterService {\r\n\r\n getISO8601DateFormat(date: Date): string {\r\n return this.get4DigitYear(date) + '-' + this.get2DigitMonth(date) + '-' + this.get2DigitDay(date);\r\n }\r\n\r\n getISO8601TimeFormat(date: Date): string {\r\n return this.get2Digit24Hours(date) + ':' + this.get2DigitMinutes(date) + ':' + this.get2DigitSeconds(date);\r\n }\r\n\r\n getISO8601DateAndTimeFormat(date: Date): string {\r\n return this.getISO8601DateFormat(date) + 'T' + this.getISO8601TimeFormat(date);\r\n }\r\n\r\n private getFormatPartsByDivider(input: string): IDateTimeFormatSections {\r\n if (input.indexOf(' ') > 0) {\r\n return {\r\n parts: input.split(' '),\r\n divider: ' '\r\n } as IDateTimeFormatSections;\r\n }\r\n if (input.indexOf('/') > 0) {\r\n return {\r\n parts: input.split('/'),\r\n divider: '/'\r\n } as IDateTimeFormatSections;\r\n }\r\n if (input.indexOf(':') > 0) {\r\n return {\r\n parts: input.split(':'),\r\n divider: ':'\r\n } as IDateTimeFormatSections;\r\n }\r\n if (input.indexOf(';') > 0) {\r\n return {\r\n parts: input.split(';'),\r\n divider: ';'\r\n } as IDateTimeFormatSections;\r\n }\r\n if (input.indexOf('.') > 0) {\r\n return {\r\n parts: input.split('.'),\r\n divider: '.'\r\n } as IDateTimeFormatSections;\r\n }\r\n if (input.indexOf(',') > 0) {\r\n return {\r\n parts: input.split(','),\r\n divider: ','\r\n } as IDateTimeFormatSections;\r\n }\r\n if (input.indexOf('-') > 0) {\r\n return {\r\n parts: input.split('-'),\r\n divider: '-'\r\n } as IDateTimeFormatSections;\r\n }\r\n if (input.indexOf('_') > 0) {\r\n return {\r\n parts: input.split('_'),\r\n divider: '_'\r\n } as IDateTimeFormatSections;\r\n }\r\n\r\n return { parts: [], divider: ''} as IDateTimeFormatSections;\r\n }\r\n\r\n\r\n /*\r\n Date Formatting Rules\r\n\r\n yy/YY – two-digit year, e.g. 21\r\n yyyy/YYYY – four-digit year, e.g. 2021\r\n m/M – one-digit month for months below 10, e.g. 3\r\n mm/MM – two-digit month, e.g. 03\r\n mmm/MMM – three-letter abbreviation for month, e.g. Mar\r\n mmmm/MMMM – month spelled out in full, e.g. March\r\n d/D – one-digit day of the month for days below 10, e.g. 2\r\n dd/DD – two-digit day of the month, e.g. 02\r\n ddd/DDD – three-letter abbreviation for day of the week, e.g. Fri\r\n dddd/DDDD – day of the week spelled out in full, e.g. Friday\r\n\r\n */\r\n formatDate(date: Date, format: string): string {\r\n const formatPartsAndDivider = this.getFormatPartsByDivider(format);\r\n let dateValue = '';\r\n formatPartsAndDivider.parts.forEach(part => {\r\n if (dateValue !== '')\r\n dateValue += formatPartsAndDivider.divider;\r\n switch(part) {\r\n case 'yy':\r\n case 'YY':\r\n dateValue += this.get2DigitYear(date);\r\n break;\r\n case 'yyyy':\r\n case 'YYYY':\r\n dateValue += this.get4DigitYear(date);\r\n break;\r\n case 'm':\r\n case 'M':\r\n dateValue += this.get1DigitMonth(date);\r\n break;\r\n case 'mm':\r\n case 'MM':\r\n dateValue += this.get2DigitMonth(date);\r\n break;\r\n case 'mmm':\r\n case 'MMM':\r\n dateValue += this.get3DigitMonth(date);\r\n break;\r\n case 'mmmm':\r\n case 'MMMM':\r\n dateValue += this.get4DigitMonth(date);\r\n break;\r\n case 'd':\r\n case 'D':\r\n dateValue += this.get1DigitDay(date);\r\n break;\r\n case 'dd':\r\n case 'DD':\r\n dateValue += this.get2DigitDay(date);\r\n break;\r\n case 'ddd':\r\n case 'DDD':\r\n dateValue += this.get3DigitDay(date);\r\n break;\r\n case 'dddd':\r\n case 'DDDD':\r\n dateValue += this.get4DigitDay(date);\r\n break;\r\n }\r\n });\r\n return dateValue;\r\n }\r\n\r\n /*\r\n Time Formatting Rules\r\n\r\n h - hour to 1 digit on 12 hour clock - without leading 0\r\n hh - hour to 2 digits on 12 hour clock - with leading 0\r\n H - hour to 1 digit on 24 hour clock - without leading 0\r\n HH - hour to 2 digits on 24 hour clock - with leading 0\r\n m - minute to 1 digit - without leading 0\r\n mm/mi/MI - minute to 2 digits - with leading 0\r\n s/S - second to 1 digit - without leading 0\r\n ss/SS - second to 2 digits - with leading 0\r\n f/F - tenth of a second e.g. 2009-06-15T13:45:30.6170000 -> 6\r\n ff/FF - hundredths of a second e.g. 2009-06-15T13:45:30.6170000 -> 61\r\n fff/FFF - milliseconds e.g. 6/15/2009 13:45:30.617 -> 617\r\n ffff/FFFF - ten thousandths of a second e.g. 2009-06-15T13:45:30.6175000 -> 6175\r\n fffff/FFFFF - hundred thousandths of a second e.g. 2009-06-15T13:45:30.6175400 -> 61754\r\n ffffff/FFFFFF - millionths of a second e.g. 2009-06-15T13:45:30.6175420 -> 617542\r\n t/T - first character of AM/PM\r\n tt/TT - both characters of AM/PM\r\n\r\n */\r\n formatTime(date: Date, format: string): string {\r\n const formatPartsAndDivider = this.getFormatPartsByDivider(format);\r\n let timeValue = '';\r\n formatPartsAndDivider.parts.forEach(part => {\r\n if (timeValue !== '')\r\n timeValue += formatPartsAndDivider.divider;\r\n switch(part) {\r\n case 'h':\r\n timeValue += this.get1Digit12Hours(date);\r\n break;\r\n case 'hh':\r\n timeValue += this.get2Digit12Hours(date);\r\n break;\r\n case 'H':\r\n timeValue += this.get1Digit24Hours(date);\r\n break;\r\n case 'HH':\r\n timeValue += this.get2Digit24Hours(date);\r\n break;\r\n case 'm':\r\n timeValue += this.get1DigitMinutes(date);\r\n break;\r\n case 'mi':\r\n case 'mm':\r\n case 'MI':\r\n timeValue += this.get2DigitMinutes(date);\r\n break;\r\n case 's':\r\n case 'S':\r\n timeValue += this.get1DigitSeconds(date);\r\n break;\r\n case 'ss':\r\n case 'SS':\r\n timeValue += this.get2DigitSeconds(date);\r\n break;\r\n case 't':\r\n case 'T':\r\n timeValue += this.get1DigitAmPm(date);\r\n break;\r\n case 'tt':\r\n case 'TT':\r\n timeValue += this.get2DigitAmPm(date);\r\n break;\r\n case 'f':\r\n case 'F':\r\n timeValue += this.getXDigitMillisecond(date, 'f');\r\n break;\r\n case 'ff':\r\n case 'FF':\r\n timeValue += this.getXDigitMillisecond(date, 'fff');\r\n break;\r\n case 'fff':\r\n case 'FFF':\r\n timeValue += this.getXDigitMillisecond(date, 'fff');\r\n break;\r\n case 'ffff':\r\n case 'FFFF':\r\n timeValue += this.getXDigitMillisecond(date, 'ffff');\r\n break;\r\n case 'fffff':\r\n case 'FFFFF':\r\n timeValue += this.getXDigitMillisecond(date, 'fffff');\r\n break;\r\n case 'ffffff':\r\n case 'FFFFFF':\r\n timeValue += this.getXDigitMillisecond(date, 'ffffff');\r\n break;\r\n }\r\n });\r\n return timeValue;\r\n }\r\n\r\n private get1DigitDay(date: Date): string {\r\n const day = this.convertToDateIfRequired(date).getDate();\r\n return '' + day;\r\n }\r\n\r\n private get2DigitDay(date: Date): string {\r\n const day = this.convertToDateIfRequired(date).getDate();\r\n return this.padDateElement(day);\r\n }\r\n\r\n private get3DigitDay(date: Date): string {\r\n return this.convertToDateIfRequired(date).toLocaleString('default', { weekday: 'short' });\r\n }\r\n\r\n private get4DigitDay(date: Date): string {\r\n return this.convertToDateIfRequired(date).toLocaleString('default', { weekday: 'long' });\r\n }\r\n\r\n private get1DigitMonth(date: Date): string {\r\n const month = this.convertToDateIfRequired(date).getMonth() + 1;\r\n return '' + month;\r\n }\r\n\r\n private get2DigitMonth(date: Date): string {\r\n const month = this.convertToDateIfRequired(date).getMonth() + 1;\r\n return this.padDateElement(month);\r\n }\r\n\r\n private get3DigitMonth(date: Date): string {\r\n return this.convertToDateIfRequired(date).toLocaleString('default', { month: 'long' }).substring(0,3);\r\n }\r\n\r\n private get4DigitMonth(date: Date): string {\r\n return this.convertToDateIfRequired(date).toLocaleString('default', { month: 'long' });\r\n }\r\n\r\n private get2DigitYear(date: Date): string {\r\n const fullYear = '' + this.convertToDateIfRequired(date).getFullYear();\r\n return fullYear[2];\r\n }\r\n\r\n private get4DigitYear(date: Date): string {\r\n return this.convertToDateIfRequired(date).getFullYear().toString();\r\n }\r\n\r\n private get1Digit12Hours(date: Date): string {\r\n return this.convertToDateIfRequired(date).getHours().toString();\r\n }\r\n\r\n private get2Digit12Hours(date: Date): string {\r\n const hours = this.convertToDateIfRequired(date).getHours();\r\n return this.padDateElement(hours);\r\n }\r\n\r\n private get1Digit24Hours(date: Date): string {\r\n return this.convertToDateIfRequired(date).getHours().toString();\r\n }\r\n\r\n private get2Digit24Hours(date: Date): string {\r\n const hours = this.convertToDateIfRequired(date).getHours();\r\n return this.padDateElement(hours);\r\n }\r\n\r\n private get1DigitMinutes(date: Date): string {\r\n return this.convertToDateIfRequired(date).getMinutes().toString();\r\n }\r\n\r\n private get2DigitMinutes(date: Date): string {\r\n const minutes = this.convertToDateIfRequired(date).getMinutes();\r\n return this.padDateElement(minutes);\r\n }\r\n\r\n private get1DigitSeconds(date: Date): string {\r\n return this.convertToDateIfRequired(date).getSeconds().toString();\r\n }\r\n\r\n private get2DigitSeconds(date: Date): string {\r\n const seconds = this.convertToDateIfRequired(date).getSeconds();\r\n return this.padDateElement(seconds);\r\n }\r\n\r\n private get1DigitAmPm(date: Date): string {\r\n return this.convertToDateIfRequired(date).toLocaleDateString('t');\r\n }\r\n\r\n private get2DigitAmPm(date: Date): string {\r\n return this.convertToDateIfRequired(date).toLocaleDateString('tt');\r\n }\r\n\r\n private getXDigitMillisecond(date: Date, format): string {\r\n return this.convertToDateIfRequired(date).toLocaleDateString(format);\r\n }\r\n\r\n private padDateElement(value: number): string {\r\n return (value < 10) ? '0' + value : '' + value;\r\n }\r\n\r\n private convertToDateIfRequired(input: Date | string): Date {\r\n if (typeof(input) === 'string')\r\n return new Date(input);\r\n return input;\r\n }\r\n\r\n}\r\n","/*\r\n Copyright (c) 2025 Exodus Cloud Technology Solutions Ltd\r\n\r\n The licence agreement can be found at:\r\n https://angular-grid.net/assets/licence/licence_agreement.txt\r\n\r\n*/\r\n\r\nexport * from './lib/ect-date-formatter.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ect-date-formatter",
3
- "version": "1.20.0",
3
+ "version": "1.21.0",
4
4
  "description": "An Ivy compiled package for formatting dates",
5
5
  "keywords": [
6
6
  "angular",
@@ -17,20 +17,20 @@
17
17
  "type": "git"
18
18
  },
19
19
  "peerDependencies": {
20
- "@angular/common": "^20.0.4",
21
- "@angular/core": "^20.0.4"
20
+ "@angular/common": "^21.0.1",
21
+ "@angular/core": "^21.0.1"
22
22
  },
23
23
  "dependencies": {
24
24
  "tslib": "^2.5.0"
25
25
  },
26
26
  "module": "fesm2022/ect-date-formatter.mjs",
27
- "typings": "index.d.ts",
27
+ "typings": "types/ect-date-formatter.d.ts",
28
28
  "exports": {
29
29
  "./package.json": {
30
30
  "default": "./package.json"
31
31
  },
32
32
  ".": {
33
- "types": "./index.d.ts",
33
+ "types": "./types/ect-date-formatter.d.ts",
34
34
  "default": "./fesm2022/ect-date-formatter.mjs"
35
35
  }
36
36
  },
File without changes