layout: PresentationLayout,
ptoken: &'r RawTokenVal,
debug_js_inject: Arc<String>,
- movehistlens: JsonString<&'r [usize]>,
+ movehist_lens: JsonString<&'r [usize]>,
+ movehist_len_i: usize,
+ movehist_len_max: usize,
}
#[get("/")]
#[throws(OER)]
game: g.name.to_string(),
ptoken: &ia.raw_token,
debug_js_inject: config().debug_js_inject.clone(),
- movehistlens: JsonString(MOVEHIST_LENS),
+ movehist_lens: JsonString(MOVEHIST_LENS),
+ movehist_len_i: MOVEHIST_LEN_DEF_I,
+ movehist_len_max: MOVEHIST_LEN_MAX,
layout,
};
Template::render("loading", &c)
use super::*; // we are otter::updates::movehist
-pub const MOVEHIST_LENS: &[usize] = &[ 1, 3, 10, 0];
+pub const MOVEHIST_LENS: &[usize] = &[ 0, 1, 3, 10 ];
pub const MOVEHIST_LEN_MAX: usize = 10;
+pub const MOVEHIST_LEN_DEF_I: usize = 1;
#[test]
-fn movehist_len_max() { assert_eq!(
- MOVEHIST_LENS.iter().max(),
- Some(&MOVEHIST_LEN_MAX),
-) }
+fn movehist_lens() {
+ assert_eq!(
+ MOVEHIST_LENS.iter().max(),
+ Some(&MOVEHIST_LEN_MAX),
+ );
+ assert!( MOVEHIST_LENS.get(MOVEHIST_LEN_DEF_I).is_some() );
+ assert_eq!( MOVEHIST_LENS.iter().cloned().fold(None, |b, i| {
+ let i = Some(i);
+ assert!(i > b);
+ i
+ }),
+ Some(MOVEHIST_LEN_MAX) );
+}
#[derive(Debug,Copy,Clone,Serialize,Deserialize)]
pub struct MoveHistPosx { // usual variable: posx
pub use crate::updates::*;
pub use crate::updates::movehist::{self, GMoveHeld, GMoveHist, MoveHistEnt};
pub use crate::updates::movehist::{MOVEHIST_LENS, MOVEHIST_LEN_MAX};
+pub use crate::updates::movehist::{MOVEHIST_LEN_DEF_I};
pub use crate::utils::*;
pub use crate::ui::*;
<script src="/_/wasm.js" defer></script>
<script id="global-info" data-layout="{{ layout }}"></script>
<script>
- movehistlens={{ movehistlens }};
+ movehist_lens ={{ movehist_lens }};
+ movehist_len_i ={{ movehist_len_i }};
+ movehist_len_max={{ movehist_len_max }};
</script>
<script src="/_/script.js" defer></script>
</head>
=> boolean;
interface DispatchTable<H> { [key: string]: H };
+// from header
+var movehist_len_i: number;
+var movehist_len_max: number;
+var movehist_lens: number[];
+
// todo turn all var into let
// todo any exceptions should have otter in them or something
var globalinfo_elem : HTMLElement;