@@ -46,7 +46,7 @@ export interface FormatterPluginOptions {
4646}
4747
4848export abstract class FormatterPlugin {
49- [ key : string ] : ( d : DateLike , options : FormatterPluginOptions , compiledObj : CompiledObject ) => string ;
49+ [ key : string ] : ( ( d : DateLike , options : FormatterPluginOptions , compiledObj : CompiledObject ) => string ) | undefined ;
5050}
5151
5252export interface FormatterOptions extends Partial < FormatterPluginOptions > {
@@ -59,15 +59,15 @@ const getFullYear = (d: DateLike, calendar: 'buddhist' | 'gregory') => {
5959
6060class DefaultFormatter extends FormatterPlugin {
6161 YYYY ( d : DateLike , options : FormatterPluginOptions ) {
62- return `000${ getFullYear ( d , options . calendar ) } ` . slice ( - 4 ) ;
62+ return `000${ String ( getFullYear ( d , options . calendar ) ) } ` . slice ( - 4 ) ;
6363 }
6464
6565 YY ( d : DateLike , options : FormatterPluginOptions ) {
66- return `0${ getFullYear ( d , options . calendar ) } ` . slice ( - 2 ) ;
66+ return `0${ String ( getFullYear ( d , options . calendar ) ) } ` . slice ( - 2 ) ;
6767 }
6868
6969 Y ( d : DateLike , options : FormatterPluginOptions ) {
70- return ` ${ getFullYear ( d , options . calendar ) } ` ;
70+ return String ( getFullYear ( d , options . calendar ) ) ;
7171 }
7272
7373 MMMM ( d : DateLike , options : FormatterPluginOptions , compiledObj : CompiledObject ) {
@@ -81,27 +81,27 @@ class DefaultFormatter extends FormatterPlugin {
8181 }
8282
8383 MM ( d : DateLike ) {
84- return `0${ d . getMonth ( ) + 1 } ` . slice ( - 2 ) ;
84+ return `0${ String ( d . getMonth ( ) + 1 ) } ` . slice ( - 2 ) ;
8585 }
8686
8787 M ( d : DateLike ) {
88- return ` ${ d . getMonth ( ) + 1 } ` ;
88+ return String ( d . getMonth ( ) + 1 ) ;
8989 }
9090
9191 DD ( d : DateLike ) {
92- return `0${ d . getDate ( ) } ` . slice ( - 2 ) ;
92+ return `0${ String ( d . getDate ( ) ) } ` . slice ( - 2 ) ;
9393 }
9494
9595 D ( d : DateLike ) {
96- return ` ${ d . getDate ( ) } ` ;
96+ return String ( d . getDate ( ) ) ;
9797 }
9898
9999 HH ( d : DateLike , options : FormatterPluginOptions ) {
100- return `0${ d . getHours ( ) || ( options . hour24 === 'h24' ? 24 : 0 ) } ` . slice ( - 2 ) ;
100+ return `0${ String ( d . getHours ( ) || ( options . hour24 === 'h24' ? 24 : 0 ) ) } ` . slice ( - 2 ) ;
101101 }
102102
103103 H ( d : DateLike , options : FormatterPluginOptions ) {
104- return ` ${ d . getHours ( ) || ( options . hour24 === 'h24' ? 24 : 0 ) } ` ;
104+ return String ( d . getHours ( ) || ( options . hour24 === 'h24' ? 24 : 0 ) ) ;
105105 }
106106
107107 AA ( d : DateLike , options : FormatterPluginOptions , compiledObj : CompiledObject ) {
@@ -125,39 +125,39 @@ class DefaultFormatter extends FormatterPlugin {
125125 }
126126
127127 hh ( d : DateLike , options : FormatterPluginOptions ) {
128- return `0${ d . getHours ( ) % 12 || ( options . hour12 === 'h12' ? 12 : 0 ) } ` . slice ( - 2 ) ;
128+ return `0${ String ( d . getHours ( ) % 12 || ( options . hour12 === 'h12' ? 12 : 0 ) ) } ` . slice ( - 2 ) ;
129129 }
130130
131131 h ( d : DateLike , options : FormatterPluginOptions ) {
132- return ` ${ d . getHours ( ) % 12 || ( options . hour12 === 'h12' ? 12 : 0 ) } ` ;
132+ return String ( d . getHours ( ) % 12 || ( options . hour12 === 'h12' ? 12 : 0 ) ) ;
133133 }
134134
135135 mm ( d : DateLike ) {
136- return `0${ d . getMinutes ( ) } ` . slice ( - 2 ) ;
136+ return `0${ String ( d . getMinutes ( ) ) } ` . slice ( - 2 ) ;
137137 }
138138
139139 m ( d : DateLike ) {
140- return ` ${ d . getMinutes ( ) } ` ;
140+ return String ( d . getMinutes ( ) ) ;
141141 }
142142
143143 ss ( d : DateLike ) {
144- return `0${ d . getSeconds ( ) } ` . slice ( - 2 ) ;
144+ return `0${ String ( d . getSeconds ( ) ) } ` . slice ( - 2 ) ;
145145 }
146146
147147 s ( d : DateLike ) {
148- return ` ${ d . getSeconds ( ) } ` ;
148+ return String ( d . getSeconds ( ) ) ;
149149 }
150150
151151 SSS ( d : DateLike ) {
152- return `00${ d . getMilliseconds ( ) } ` . slice ( - 3 ) ;
152+ return `00${ String ( d . getMilliseconds ( ) ) } ` . slice ( - 3 ) ;
153153 }
154154
155155 SS ( d : DateLike ) {
156- return `00${ d . getMilliseconds ( ) } ` . slice ( - 3 , - 1 ) ;
156+ return `00${ String ( d . getMilliseconds ( ) ) } ` . slice ( - 3 , - 1 ) ;
157157 }
158158
159159 S ( d : DateLike ) {
160- return `00${ d . getMilliseconds ( ) } ` . slice ( - 3 , - 2 ) ;
160+ return `00${ String ( d . getMilliseconds ( ) ) } ` . slice ( - 3 , - 2 ) ;
161161 }
162162
163163 dddd ( d : DateLike , options : FormatterPluginOptions , compiledObj : CompiledObject ) {
@@ -178,13 +178,13 @@ class DefaultFormatter extends FormatterPlugin {
178178 Z ( d : DateLike ) {
179179 const offset = d . getTimezoneOffset ( ) ;
180180 const absOffset = Math . abs ( offset ) ;
181- return `${ offset > 0 ? '-' : '+' } ${ `0${ absOffset / 60 | 0 } ` . slice ( - 2 ) } ${ `0${ absOffset % 60 } ` . slice ( - 2 ) } ` ;
181+ return `${ offset > 0 ? '-' : '+' } ${ `0${ String ( absOffset / 60 | 0 ) } ` . slice ( - 2 ) } ${ `0${ String ( absOffset % 60 ) } ` . slice ( - 2 ) } ` ;
182182 }
183183
184184 ZZ ( d : DateLike ) {
185185 const offset = d . getTimezoneOffset ( ) ;
186186 const absOffset = Math . abs ( offset ) ;
187- return `${ offset > 0 ? '-' : '+' } ${ `0${ absOffset / 60 | 0 } ` . slice ( - 2 ) } :${ `0${ absOffset % 60 } ` . slice ( - 2 ) } ` ;
187+ return `${ offset > 0 ? '-' : '+' } ${ `0${ String ( absOffset / 60 | 0 ) } ` . slice ( - 2 ) } :${ `0${ String ( absOffset % 60 ) } ` . slice ( - 2 ) } ` ;
188188 }
189189}
190190
0 commit comments