package Ġpt . um . le i . mas b . agent . data . apis Ċ Ċ import Ġio . ktor . client . HttpClient Ċ import Ġio . ktor . client . request . get Ċ import Ġpt . um . le i . mas b . agent . data . DataSource Ċ import Ġpt . um . le i . mas b . blockchain . Transaction Ċ Ċ open Ġclass ĠDark Sky Adapter Ġ: ĠApi Adapter Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsource : ĠDataSource ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġquery ( client : ĠHttpClient , ĠdataSource : ĠDataSource ): ĠApi Iterator Ġ= ĊĠĠĠĠĠĠĠ ĠDark Sky Iterator ( client . get ( dataSource . uri . toString ())) ĊĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Check ĠDataSource Ġsupplied Ġmatches ĠAPI ĊĠĠĠĠĠĠĠ Ġif Ġ(! source . uri . host . contains ( r )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIn compatible Adapter Exception () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠDark Sky Iterator ( val Ġjson : ĠDark Sky JSON ) Ġ: ĠApi Iterator Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġtransactions : ĠCollection < Transaction > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= ĠTODO (" not Ġimplemented ") Ġ// To Ġchange Ġbody Ġof Ġcreated Ġfunctions Ġuse ĠFile Ġ| ĠSettings Ġ| ĠFile ĠTemplates . ĊĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġhas Next (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTODO (" not Ġimplemented ") Ġ// To Ġchange Ġbody Ġof Ġcreated Ġfunctions Ġuse ĠFile Ġ| ĠSettings Ġ| ĠFile ĠTemplates . ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġnext (): ĠTransaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTODO (" not Ġimplemented ") Ġ// To Ġchange Ġbody Ġof Ġcreated Ġfunctions Ġuse ĠFile Ġ| ĠSettings Ġ| ĠFile ĠTemplates . ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠDark Sky JSON ĊĊĊĠĠĠ Ġclass ĠIn compatible Adapter Exception Ġ: ĠThrowable ( message Ġ= Ġ" Source Ġis Ġnot ĠDark Sky !") ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġr : ĠRegex Ġ= ĠRegex . from Literal (" dar sky . net ") ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ