let gpc = gs.pieces.byid_mut(piece)?;
let held = gpc.held;
let gpl = gs.players.byid(player)?;
- let state: &mut State = gpc.xdata_mut_exp()
- .map_err(|e| APOE::ReportViaResponse(e.into()))?;
+ let state: &mut State = gpc.xdata_mut_exp()?;
let get_user = || opname.chars().next_back().unwrap().try_into().unwrap();
enum Howish {
};
state.do_start_or_stop(piece, was_current, was_implied_running,
- held, &self.spec, ig)
- .map_err(|e| APOE::ReportViaResponse(e.into()))?;
+ held, &self.spec, ig)?;
let log = log_did_to_piece(ioccults,&gs.occults, gpl, gpc, ipc, &did)
.unwrap_or_else(|e| {
dbgc!("ui op k entry", &opname);
- let err_via_response =
- |ie:IE| ApiPieceOpError::ReportViaResponse(ie.into());
-
- let old_state = self.state(gpc, &goccults).map_err(err_via_response)?;
+ let old_state = self.state(gpc, &goccults)?;
let (new_state, did) = match opname {
"activate" => (Enabled, hformat!("enabled {}", CORE_DESC)),
let views = UniformOccultationView(new_view).views()?;
Ok::<_,IE>((region, views))
})
- .transpose().map_err(err_via_response)?;
+ .transpose()?;
let mut xupdates = vec![];
xupdates.extend(
remove_occultation(&mut gen.unique_gen(),
gplayers, gpieces, goccults, ipieces, ioccults,
- to_recalculate, piece)
- .map_err(|ie| ApiPieceOpError::ReportViaResponse(ie.into()))?
+ to_recalculate, piece)?
);
}
ApiPieceOpError::ReportViaResponse(x.into())
}
}
+impl From<InternalError> for ApiPieceOpError {
+ fn from(x: InternalError) -> ApiPieceOpError {
+ ApiPieceOpError::ReportViaResponse(x.into())
+ }
+}
#[derive(Error,Debug,Serialize,Clone)]
pub enum ErrorSignaledViaUpdate<POEPU: Debug> {
let goccults = &mut gs.occults;
let gpc = gpieces.byid_mut(piece)?;
- let xdata = gpc.xdata.get_mut::<HandState,_>(default)
- .map_err(|e| APOE::ReportViaResponse(e.into()))?;
+ let xdata = gpc.xdata.get_mut::<HandState,_>(default)?;
let old_desc = self.sort.describe_html_inner(Some(xdata));
let old_player = xdata.player();
}.views()?;
dbgc!("claiming got region", ®ion, &views);
Ok::<_,IE>((region, views))
- })().map_err(|ie| ApiPieceOpError::ReportViaResponse(ie.into()))?;
+ })()?;
// actually do things:
dbgc!("creating occ");
Some(_) =>
remove_occultation(&mut gen.unique_gen(),
gplayers, gpieces, goccults, ipieces, ioccults,
- to_recalculate, piece)
- .map_err(|ie| ApiPieceOpError::ReportViaResponse(ie.into()))?,
+ to_recalculate, piece)?,
};
(None, xupdates, hformat!("deactivated {}", &old_desc))
}