package Ġio . kon if ar . card input helper Ċ Ċ import Ġio . kon if ar . card input helper . ext . digits Ċ import Ġio . kon if ar . card input helper . formatter . Card Month Year Formatter Ċ import Ġio . kon if ar . card input helper . formatter . Card Month Year Formatter . SL ASH Ċ Ċ data Ġclass ĠCard Month Year ( ĊĠĠĠ Ġval Ġmonth : ĠString , ĊĠĠĠ Ġval Ġyear : ĠString Ċ ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmonth Year : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmonth Zero Padding : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyear Full Digits : ĠBoolean Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ): ĠCard Month Year Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġmonth Year . split ( Card Month Year Formatter . SL ASH ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠMonth ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġmonth Ġ= Ġif Ġ( list . isEmpty ()) Ġ"" Ġelse Ġlist . first (). digits () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmonth Ġ= Ġif Ġ( month . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( month Zero Padding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( month . toInt () Ġin Ġ 1 .. 9 ) Ġ" 0 ${ month . toInt () }" Ġelse Ġmonth ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmonth . toInt (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠYear ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġyear Ġ= Ġif Ġ( list . size Ġ< Ġ 2 ) Ġ"" Ġelse Ġlist [ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyear Ġ= Ġif Ġ( year Full Digits Ġ&& Ġyear . length Ġ== Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 2 0 $ year " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġyear ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠCard Month Year ( month , Ġyear ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġformat Text () Ġ= Ġif Ġ( month . isEmpty () Ġ&& Ġyear . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġ"$ month $ SL ASH $ year " ĊĠĠĠ Ġ} Ċ }