package Ġcom . github . ai . aut ok pass . domain . use cases Ċ Ċ import Ġcom . github . ai . aut ok pass . domain . Errors . FAILED _ TO _ DE TERM INE _ AUT OT YPE _ EXECUT OR _ TYPE Ċ import Ġcom . github . ai . aut ok pass . domain . exception . Aut ok pass Exception Ċ import Ġcom . github . ai . aut ok pass . model . Aut otype Executor Type Ċ import Ġcom . github . ai . aut ok pass . model . OS Type Ċ import Ġcom . github . ai . aut ok pass . model . Result Ċ Ċ class ĠDetermine Aut otype Executor Type UseCase Ġ{ ĊĊĠĠĠ Ġfun Ġget Aut otype Executor Type ( ĊĠĠĠĠĠĠĠ Ġos Type : ĠOS Type ?, ĊĠĠĠĠĠĠĠ Ġaut otype From Args : ĠAut otype Executor Type ? ĊĠĠĠ Ġ): ĠResult < Aut otype Executor Type > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaut otype From Args Ġ!= Ġnull Ġ-> ĠResult . Success ( aut otype From Args ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġos Type Ġ!= Ġnull Ġ-> ĠResult . Success ( get Executor Type By Os Type ( os Type )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠResult . Error ( Aut ok pass Exception ( FAILED _ TO _ DE TERM INE _ AUT OT YPE _ EXECUT OR _ TYPE )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Executor Type By Os Type ( os Type : ĠOS Type ): ĠAut otype Executor Type Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( os Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOS Type . LINUX Ġ-> ĠAut otype Executor Type . X DOT O OL ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOS Type . MAC _ OS Ġ-> ĠAut otype Executor Type . CL IC LIC K ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }