Skip to main content

wowlab_wasm/
scaling.rs

1use wasm_bindgen::prelude::*;
2use wowlab_types::{
3    data::{ItemDataFlat, ItemScalingData, ResolvedItem},
4    wasm::{WasmCommonError, from_js},
5};
6
7#[wasm_bindgen(js_name = resolveItem)]
8pub fn wasm_resolve_item(
9    base_item: &ItemDataFlat,
10    bonus_ids: JsValue,
11    scaling_data: &ItemScalingData,
12    player_level: Option<i32>,
13    drop_level: Option<i32>,
14) -> Result<ResolvedItem, WasmCommonError> {
15    let bonus_ids: Vec<i32> = from_js(bonus_ids)?;
16
17    let result = wowlab_parsers::resolve_item(
18        base_item,
19        &bonus_ids,
20        scaling_data,
21        player_level,
22        drop_level,
23        None,
24    );
25
26    Ok(result)
27}