package Ġme . s arg un vo h ra . lib . poke kotlin . model Ċ Ċ private Ġfun Ġurl To Id ( url : ĠString ): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġ"/ - ?[ 0 - 9 ]+ /$ ". to Regex (). find ( url ) !!. value . filter Ġ{ Ġit . is Digit () Ġ|| Ġit Ġ== Ġ'-' Ġ}. toInt () Ċ } Ċ Ċ private Ġfun Ġurl To Cat ( url : ĠString ): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġ"/ [ a - z \\ - ]+ /- ?[ 0 - 9 ]+ /$ ". to Regex (). find ( url ) !!. value . filter Ġ{ Ġit . is Letter () Ġ|| Ġit Ġ== Ġ'-' Ġ} Ċ } Ċ Ċ private Ġfun Ġresource Url ( id : ĠInt , Ġcategory : ĠString ): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġ"/ api / v 2 /$ category /$ id /" Ċ } Ċ Ċ interface ĠResource Summary Ġ{ ĊĠĠĠ Ġval Ġid : ĠInt ĊĠĠĠ Ġval Ġcategory : ĠString Ċ } Ċ Ċ data Ġclass ĠApi Resource ( ĊĠĠĠ Ġval Ġurl : ĠString Ċ ) Ġ: ĠResource Summary Ġ{ ĊĠĠĠ Ġconstructor ( category : ĠString , Ġid : ĠInt ) Ġ: Ġthis ( resource Url ( id , Ġcategory )) ĊĊĠĠĠ Ġoverride Ġval Ġcategory Ġby Ġlazy Ġ{ Ġurl To Cat ( url ) Ġ} ĊĠĠĠ Ġoverride Ġval Ġid Ġby Ġlazy Ġ{ Ġurl To Id ( url ) Ġ} Ċ } Ċ Ċ data Ġclass ĠNamed Api Resource ( ĊĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠ Ġval Ġurl : ĠString Ċ ) Ġ: ĠResource Summary Ġ{ ĊĠĠĠ Ġconstructor ( name : ĠString , Ġcategory : ĠString , Ġid : ĠInt ) Ġ: Ġthis ( name , Ġresource Url ( id , Ġcategory )) ĊĊĠĠĠ Ġoverride Ġval Ġcategory Ġby Ġlazy Ġ{ Ġurl To Cat ( url ) Ġ} ĊĠĠĠ Ġoverride Ġval Ġid Ġby Ġlazy Ġ{ Ġurl To Id ( url ) Ġ} Ċ } Ċ Ċ interface ĠResource Summary List < out ĠT Ġ: ĠResource Summary > Ġ{ ĊĠĠĠ Ġval Ġcount : ĠInt ĊĠĠĠ Ġval Ġnext : ĠString ? ĊĠĠĠ Ġval Ġprevious : ĠString ? ĊĠĠĠ Ġval Ġresults : ĠList < T > Ċ } Ċ Ċ data Ġclass ĠApi Resource List ( ĊĠĠĠ Ġoverride Ġval Ġcount : ĠInt , ĊĠĠĠ Ġoverride Ġval Ġnext : ĠString ?, ĊĠĠĠ Ġoverride Ġval Ġprevious : ĠString ?, ĊĠĠĠ Ġoverride Ġval Ġresults : ĠList < Api Resource > Ċ ) Ġ: ĠResource Summary List < Api Resource > Ċ Ċ data Ġclass ĠNamed Api Resource List ( ĊĠĠĠ Ġoverride Ġval Ġcount : ĠInt , ĊĠĠĠ Ġoverride Ġval Ġnext : ĠString ?, ĊĠĠĠ Ġoverride Ġval Ġprevious : ĠString ?, ĊĠĠĠ Ġoverride Ġval Ġresults : ĠList < Named Api Resource > Ċ ) Ġ: ĠResource Summary List < Named Api Resource > Ċ