#[repr(transparent)]pub struct DynDataResolver<'dynosaur_struct> {
ptr: dyn ErasedDataResolver + 'dynosaur_struct,
}Fields§
§ptr: dyn ErasedDataResolver + 'dynosaur_structImplementations§
Source§impl<'dynosaur_struct> DynDataResolver<'dynosaur_struct>
impl<'dynosaur_struct> DynDataResolver<'dynosaur_struct>
pub fn new_box( value: impl DataResolver + 'dynosaur_struct, ) -> Box<DynDataResolver<'dynosaur_struct>>
pub fn new_arc( value: impl DataResolver + 'dynosaur_struct, ) -> Arc<DynDataResolver<'dynosaur_struct>>
pub fn new_rc( value: impl DataResolver + 'dynosaur_struct, ) -> Rc<DynDataResolver<'dynosaur_struct>>
pub const fn from_box( value: Box<impl DataResolver + 'dynosaur_struct>, ) -> Box<DynDataResolver<'dynosaur_struct>>
pub const fn from_ref( value: &(impl DataResolver + 'dynosaur_struct), ) -> &DynDataResolver<'dynosaur_struct>
pub const fn from_mut( value: &mut (impl DataResolver + 'dynosaur_struct), ) -> &mut DynDataResolver<'dynosaur_struct>
Trait Implementations§
Source§impl<'dynosaur_struct> DataResolver for &DynDataResolver<'dynosaur_struct>where
Self: ResolverSyncBound + Send,
impl<'dynosaur_struct> DataResolver for &DynDataResolver<'dynosaur_struct>where
Self: ResolverSyncBound + Send,
fn get_spell( &self, spell_id: SpellId, ) -> impl Future<Output = Result<SpellDataFlat, ResolverError>> + Send
fn get_spells( &self, spell_ids: &[SpellId], ) -> impl Future<Output = Result<Vec<SpellDataFlat>, ResolverError>> + Send
Source§fn get_spell_effect(
&self,
spell_id: SpellId,
effect_index: u8,
) -> impl Future<Output = Result<SpellEffect, ResolverError>> + Send
fn get_spell_effect( &self, spell_id: SpellId, effect_index: u8, ) -> impl Future<Output = Result<SpellEffect, ResolverError>> + Send
effect_index is 1-based (author-facing).fn get_spell_effects( &self, spell_id: SpellId, ) -> impl Future<Output = Result<Vec<SpellEffect>, ResolverError>> + Send
fn get_item( &self, item_id: i32, ) -> impl Future<Output = Result<ItemDataFlat, ResolverError>> + Send
fn get_scaling_data( &self, ) -> impl Future<Output = Result<Arc<ItemScalingData>, ResolverError>> + Send
fn get_power_types( &self, ) -> impl Future<Output = Result<Vec<PowerTypeFlat>, ResolverError>> + Send
fn get_spec( &self, spec_id: i32, ) -> impl Future<Output = Result<SpecDataFlat, ResolverError>> + Send
fn get_trait_tree( &self, spec_id: i32, ) -> impl Future<Output = Result<TraitTreeFlat, ResolverError>> + Send
Source§fn get_expansion_trait_tree(
&self,
expansion_id: i32,
system: &str,
) -> impl Future<Output = Result<ExpansionTraitTreeFlat, ResolverError>> + Send
fn get_expansion_trait_tree( &self, expansion_id: i32, system: &str, ) -> impl Future<Output = Result<ExpansionTraitTreeFlat, ResolverError>> + Send
Fetch a class-agnostic expansion progression tree, such as Midnight’s Omnium Folio.
fn get_rotation_script( &self, rotation_id: &str, ) -> impl Future<Output = Result<String, ResolverError>> + Send
Source§fn get_spell_overrides(
&self,
spec_id: i32,
) -> impl Future<Output = Result<Vec<(SpellId, SpellId)>, ResolverError>> + Send
fn get_spell_overrides( &self, spec_id: i32, ) -> impl Future<Output = Result<Vec<(SpellId, SpellId)>, ResolverError>> + Send
Required for resolver parity: a backend with no override table returns
Ok(vec![]).Source§fn get_specialization_spells(
&self,
spec_id: i32,
) -> impl Future<Output = Result<Vec<SpellId>, ResolverError>> + Send
fn get_specialization_spells( &self, spec_id: i32, ) -> impl Future<Output = Result<Vec<SpellId>, ResolverError>> + Send
Every spell id assigned to the spec in
SpecializationSpells; a backend with no table returns Ok(vec![]).Source§fn get_racial_spells(
&self,
race_id: i32,
class_id: i32,
) -> impl Future<Output = Result<Vec<SpellId>, ResolverError>> + Send
fn get_racial_spells( &self, race_id: i32, class_id: i32, ) -> impl Future<Output = Result<Vec<SpellId>, ResolverError>> + Send
Every racial ability the race grants the class; a backend with no table returns
Ok(vec![]). Read moreSource§fn get_expected_stats(
&self,
expansion_id: i32,
lvl: i32,
) -> impl Future<Output = Result<ExpectedStatFlat, ResolverError>> + Send
fn get_expected_stats( &self, expansion_id: i32, lvl: i32, ) -> impl Future<Output = Result<ExpectedStatFlat, ResolverError>> + Send
Required for resolver parity: return
ExpectedStatsNotFound when a backend cannot source it.Source§fn get_item_damage_scaling(
&self,
item_level: i32,
weapon_type: &str,
) -> impl Future<Output = Result<ItemDamageScalingFlat, ResolverError>> + Send
fn get_item_damage_scaling( &self, item_level: i32, weapon_type: &str, ) -> impl Future<Output = Result<ItemDamageScalingFlat, ResolverError>> + Send
Required for resolver parity: return
ItemDamageScalingNotFound when a backend cannot source it.Source§fn search_spells(
&self,
query: &str,
limit: u32,
) -> impl Future<Output = Result<Vec<SpellSearchResult>, ResolverError>> + Send
fn search_spells( &self, query: &str, limit: u32, ) -> impl Future<Output = Result<Vec<SpellSearchResult>, ResolverError>> + Send
Defaults to
Unsupported; a backend with no search index fails loud rather than returning empty.Source§fn find_consumable_items(
&self,
name_token: &str,
subclass: i32,
) -> impl Future<Output = Result<Vec<ItemDataFlat>, ResolverError>> + Send
fn find_consumable_items( &self, name_token: &str, subclass: i32, ) -> impl Future<Output = Result<Vec<ItemDataFlat>, ResolverError>> + Send
Finds consumable items whose tokenized names contain
name_token.Source§fn get_enchantment(
&self,
enchantment_id: i32,
) -> impl Future<Output = Result<EnchantmentRow, ResolverError>> + Send
fn get_enchantment( &self, enchantment_id: i32, ) -> impl Future<Output = Result<EnchantmentRow, ResolverError>> + Send
Required for resolver parity: return
EnchantmentNotFound when a backend cannot source it.Source§fn find_permanent_enchant(
&self,
query: &PermanentEnchantQuery,
) -> impl Future<Output = Result<Option<PermanentEnchantFlat>, ResolverError>> + Send
fn find_permanent_enchant( &self, query: &PermanentEnchantQuery, ) -> impl Future<Output = Result<Option<PermanentEnchantFlat>, ResolverError>> + Send
Resolves a named permanent enchant through the profession-derived
SimC index.Source§fn get_creature(
&self,
creature_id: i32,
) -> impl Future<Output = Result<CreatureFlat, ResolverError>> + Send
fn get_creature( &self, creature_id: i32, ) -> impl Future<Output = Result<CreatureFlat, ResolverError>> + Send
Creature identity row (
Creature table) by NPC ID; defaults to Unsupported until a backend implements enemy resolution.Source§fn get_creature_difficulties(
&self,
creature_id: i32,
) -> impl Future<Output = Result<Vec<CreatureDifficultyFlat>, ResolverError>> + Send
fn get_creature_difficulties( &self, creature_id: i32, ) -> impl Future<Output = Result<Vec<CreatureDifficultyFlat>, ResolverError>> + Send
Every
CreatureDifficulty variant for a creature; defaults to Unsupported until a backend implements enemy resolution.Source§fn get_content_tuning(
&self,
content_tuning_id: i32,
) -> impl Future<Output = Result<ContentTuningFlat, ResolverError>> + Send
fn get_content_tuning( &self, content_tuning_id: i32, ) -> impl Future<Output = Result<ContentTuningFlat, ResolverError>> + Send
ContentTuning row by ID; defaults to Unsupported until a backend implements enemy resolution.Source§fn get_content_tuning_x_difficulty(
&self,
content_tuning_id: i32,
) -> impl Future<Output = Result<Vec<ContentTuningXDifficultyFlat>, ResolverError>> + Send
fn get_content_tuning_x_difficulty( &self, content_tuning_id: i32, ) -> impl Future<Output = Result<Vec<ContentTuningXDifficultyFlat>, ResolverError>> + Send
Every
ContentTuningXDifficulty mapping for a content tuning; defaults to Unsupported until a backend implements enemy resolution.Source§fn get_content_tuning_x_expected(
&self,
content_tuning_id: i32,
) -> impl Future<Output = Result<Vec<ContentTuningXExpectedFlat>, ResolverError>> + Send
fn get_content_tuning_x_expected( &self, content_tuning_id: i32, ) -> impl Future<Output = Result<Vec<ContentTuningXExpectedFlat>, ResolverError>> + Send
Every
ContentTuningXExpected mapping; row selection stays in the application layer.Source§fn get_expected_stat_mod(
&self,
expected_stat_mod_id: i32,
) -> impl Future<Output = Result<ExpectedStatModFlat, ResolverError>> + Send
fn get_expected_stat_mod( &self, expected_stat_mod_id: i32, ) -> impl Future<Output = Result<ExpectedStatModFlat, ResolverError>> + Send
ExpectedStatMod multiplier row by ID.Source§fn get_challenge_mode_health(
&self,
keystone_level: i32,
) -> impl Future<Output = Result<ChallengeModeHealthFlat, ResolverError>> + Send
fn get_challenge_mode_health( &self, keystone_level: i32, ) -> impl Future<Output = Result<ChallengeModeHealthFlat, ResolverError>> + Send
ChallengeModeHealth GameTable scalar by keystone level.Source§fn decode_traits(
&self,
spec_id: i32,
trait_string: &str,
) -> impl Future<Output = Result<TraitTreeWithSelections, ResolverError>> + Send
fn decode_traits( &self, spec_id: i32, trait_string: &str, ) -> impl Future<Output = Result<TraitTreeWithSelections, ResolverError>> + Send
Decode a loadout string against this spec’s tree into a raw selected tree; talent-tree interpretation is the caller’s job.
Source§impl<'dynosaur_struct> DataResolver for &mut DynDataResolver<'dynosaur_struct>where
Self: ResolverSyncBound + Send,
impl<'dynosaur_struct> DataResolver for &mut DynDataResolver<'dynosaur_struct>where
Self: ResolverSyncBound + Send,
fn get_spell( &self, spell_id: SpellId, ) -> impl Future<Output = Result<SpellDataFlat, ResolverError>> + Send
fn get_spells( &self, spell_ids: &[SpellId], ) -> impl Future<Output = Result<Vec<SpellDataFlat>, ResolverError>> + Send
Source§fn get_spell_effect(
&self,
spell_id: SpellId,
effect_index: u8,
) -> impl Future<Output = Result<SpellEffect, ResolverError>> + Send
fn get_spell_effect( &self, spell_id: SpellId, effect_index: u8, ) -> impl Future<Output = Result<SpellEffect, ResolverError>> + Send
effect_index is 1-based (author-facing).fn get_spell_effects( &self, spell_id: SpellId, ) -> impl Future<Output = Result<Vec<SpellEffect>, ResolverError>> + Send
fn get_item( &self, item_id: i32, ) -> impl Future<Output = Result<ItemDataFlat, ResolverError>> + Send
fn get_scaling_data( &self, ) -> impl Future<Output = Result<Arc<ItemScalingData>, ResolverError>> + Send
fn get_power_types( &self, ) -> impl Future<Output = Result<Vec<PowerTypeFlat>, ResolverError>> + Send
fn get_spec( &self, spec_id: i32, ) -> impl Future<Output = Result<SpecDataFlat, ResolverError>> + Send
fn get_trait_tree( &self, spec_id: i32, ) -> impl Future<Output = Result<TraitTreeFlat, ResolverError>> + Send
Source§fn get_expansion_trait_tree(
&self,
expansion_id: i32,
system: &str,
) -> impl Future<Output = Result<ExpansionTraitTreeFlat, ResolverError>> + Send
fn get_expansion_trait_tree( &self, expansion_id: i32, system: &str, ) -> impl Future<Output = Result<ExpansionTraitTreeFlat, ResolverError>> + Send
Fetch a class-agnostic expansion progression tree, such as Midnight’s Omnium Folio.
fn get_rotation_script( &self, rotation_id: &str, ) -> impl Future<Output = Result<String, ResolverError>> + Send
Source§fn get_spell_overrides(
&self,
spec_id: i32,
) -> impl Future<Output = Result<Vec<(SpellId, SpellId)>, ResolverError>> + Send
fn get_spell_overrides( &self, spec_id: i32, ) -> impl Future<Output = Result<Vec<(SpellId, SpellId)>, ResolverError>> + Send
Required for resolver parity: a backend with no override table returns
Ok(vec![]).Source§fn get_specialization_spells(
&self,
spec_id: i32,
) -> impl Future<Output = Result<Vec<SpellId>, ResolverError>> + Send
fn get_specialization_spells( &self, spec_id: i32, ) -> impl Future<Output = Result<Vec<SpellId>, ResolverError>> + Send
Every spell id assigned to the spec in
SpecializationSpells; a backend with no table returns Ok(vec![]).Source§fn get_racial_spells(
&self,
race_id: i32,
class_id: i32,
) -> impl Future<Output = Result<Vec<SpellId>, ResolverError>> + Send
fn get_racial_spells( &self, race_id: i32, class_id: i32, ) -> impl Future<Output = Result<Vec<SpellId>, ResolverError>> + Send
Every racial ability the race grants the class; a backend with no table returns
Ok(vec![]). Read moreSource§fn get_expected_stats(
&self,
expansion_id: i32,
lvl: i32,
) -> impl Future<Output = Result<ExpectedStatFlat, ResolverError>> + Send
fn get_expected_stats( &self, expansion_id: i32, lvl: i32, ) -> impl Future<Output = Result<ExpectedStatFlat, ResolverError>> + Send
Required for resolver parity: return
ExpectedStatsNotFound when a backend cannot source it.Source§fn get_item_damage_scaling(
&self,
item_level: i32,
weapon_type: &str,
) -> impl Future<Output = Result<ItemDamageScalingFlat, ResolverError>> + Send
fn get_item_damage_scaling( &self, item_level: i32, weapon_type: &str, ) -> impl Future<Output = Result<ItemDamageScalingFlat, ResolverError>> + Send
Required for resolver parity: return
ItemDamageScalingNotFound when a backend cannot source it.Source§fn search_spells(
&self,
query: &str,
limit: u32,
) -> impl Future<Output = Result<Vec<SpellSearchResult>, ResolverError>> + Send
fn search_spells( &self, query: &str, limit: u32, ) -> impl Future<Output = Result<Vec<SpellSearchResult>, ResolverError>> + Send
Defaults to
Unsupported; a backend with no search index fails loud rather than returning empty.Source§fn find_consumable_items(
&self,
name_token: &str,
subclass: i32,
) -> impl Future<Output = Result<Vec<ItemDataFlat>, ResolverError>> + Send
fn find_consumable_items( &self, name_token: &str, subclass: i32, ) -> impl Future<Output = Result<Vec<ItemDataFlat>, ResolverError>> + Send
Finds consumable items whose tokenized names contain
name_token.Source§fn get_enchantment(
&self,
enchantment_id: i32,
) -> impl Future<Output = Result<EnchantmentRow, ResolverError>> + Send
fn get_enchantment( &self, enchantment_id: i32, ) -> impl Future<Output = Result<EnchantmentRow, ResolverError>> + Send
Required for resolver parity: return
EnchantmentNotFound when a backend cannot source it.Source§fn find_permanent_enchant(
&self,
query: &PermanentEnchantQuery,
) -> impl Future<Output = Result<Option<PermanentEnchantFlat>, ResolverError>> + Send
fn find_permanent_enchant( &self, query: &PermanentEnchantQuery, ) -> impl Future<Output = Result<Option<PermanentEnchantFlat>, ResolverError>> + Send
Resolves a named permanent enchant through the profession-derived
SimC index.Source§fn get_creature(
&self,
creature_id: i32,
) -> impl Future<Output = Result<CreatureFlat, ResolverError>> + Send
fn get_creature( &self, creature_id: i32, ) -> impl Future<Output = Result<CreatureFlat, ResolverError>> + Send
Creature identity row (
Creature table) by NPC ID; defaults to Unsupported until a backend implements enemy resolution.Source§fn get_creature_difficulties(
&self,
creature_id: i32,
) -> impl Future<Output = Result<Vec<CreatureDifficultyFlat>, ResolverError>> + Send
fn get_creature_difficulties( &self, creature_id: i32, ) -> impl Future<Output = Result<Vec<CreatureDifficultyFlat>, ResolverError>> + Send
Every
CreatureDifficulty variant for a creature; defaults to Unsupported until a backend implements enemy resolution.Source§fn get_content_tuning(
&self,
content_tuning_id: i32,
) -> impl Future<Output = Result<ContentTuningFlat, ResolverError>> + Send
fn get_content_tuning( &self, content_tuning_id: i32, ) -> impl Future<Output = Result<ContentTuningFlat, ResolverError>> + Send
ContentTuning row by ID; defaults to Unsupported until a backend implements enemy resolution.Source§fn get_content_tuning_x_difficulty(
&self,
content_tuning_id: i32,
) -> impl Future<Output = Result<Vec<ContentTuningXDifficultyFlat>, ResolverError>> + Send
fn get_content_tuning_x_difficulty( &self, content_tuning_id: i32, ) -> impl Future<Output = Result<Vec<ContentTuningXDifficultyFlat>, ResolverError>> + Send
Every
ContentTuningXDifficulty mapping for a content tuning; defaults to Unsupported until a backend implements enemy resolution.Source§fn get_content_tuning_x_expected(
&self,
content_tuning_id: i32,
) -> impl Future<Output = Result<Vec<ContentTuningXExpectedFlat>, ResolverError>> + Send
fn get_content_tuning_x_expected( &self, content_tuning_id: i32, ) -> impl Future<Output = Result<Vec<ContentTuningXExpectedFlat>, ResolverError>> + Send
Every
ContentTuningXExpected mapping; row selection stays in the application layer.Source§fn get_expected_stat_mod(
&self,
expected_stat_mod_id: i32,
) -> impl Future<Output = Result<ExpectedStatModFlat, ResolverError>> + Send
fn get_expected_stat_mod( &self, expected_stat_mod_id: i32, ) -> impl Future<Output = Result<ExpectedStatModFlat, ResolverError>> + Send
ExpectedStatMod multiplier row by ID.Source§fn get_challenge_mode_health(
&self,
keystone_level: i32,
) -> impl Future<Output = Result<ChallengeModeHealthFlat, ResolverError>> + Send
fn get_challenge_mode_health( &self, keystone_level: i32, ) -> impl Future<Output = Result<ChallengeModeHealthFlat, ResolverError>> + Send
ChallengeModeHealth GameTable scalar by keystone level.Source§fn decode_traits(
&self,
spec_id: i32,
trait_string: &str,
) -> impl Future<Output = Result<TraitTreeWithSelections, ResolverError>> + Send
fn decode_traits( &self, spec_id: i32, trait_string: &str, ) -> impl Future<Output = Result<TraitTreeWithSelections, ResolverError>> + Send
Decode a loadout string against this spec’s tree into a raw selected tree; talent-tree interpretation is the caller’s job.
Source§impl<'dynosaur_struct> DataResolver for Box<DynDataResolver<'dynosaur_struct>>where
Self: ResolverSyncBound + Send,
impl<'dynosaur_struct> DataResolver for Box<DynDataResolver<'dynosaur_struct>>where
Self: ResolverSyncBound + Send,
fn get_spell( &self, spell_id: SpellId, ) -> impl Future<Output = Result<SpellDataFlat, ResolverError>> + Send
fn get_spells( &self, spell_ids: &[SpellId], ) -> impl Future<Output = Result<Vec<SpellDataFlat>, ResolverError>> + Send
Source§fn get_spell_effect(
&self,
spell_id: SpellId,
effect_index: u8,
) -> impl Future<Output = Result<SpellEffect, ResolverError>> + Send
fn get_spell_effect( &self, spell_id: SpellId, effect_index: u8, ) -> impl Future<Output = Result<SpellEffect, ResolverError>> + Send
effect_index is 1-based (author-facing).fn get_spell_effects( &self, spell_id: SpellId, ) -> impl Future<Output = Result<Vec<SpellEffect>, ResolverError>> + Send
fn get_item( &self, item_id: i32, ) -> impl Future<Output = Result<ItemDataFlat, ResolverError>> + Send
fn get_scaling_data( &self, ) -> impl Future<Output = Result<Arc<ItemScalingData>, ResolverError>> + Send
fn get_power_types( &self, ) -> impl Future<Output = Result<Vec<PowerTypeFlat>, ResolverError>> + Send
fn get_spec( &self, spec_id: i32, ) -> impl Future<Output = Result<SpecDataFlat, ResolverError>> + Send
fn get_trait_tree( &self, spec_id: i32, ) -> impl Future<Output = Result<TraitTreeFlat, ResolverError>> + Send
Source§fn get_expansion_trait_tree(
&self,
expansion_id: i32,
system: &str,
) -> impl Future<Output = Result<ExpansionTraitTreeFlat, ResolverError>> + Send
fn get_expansion_trait_tree( &self, expansion_id: i32, system: &str, ) -> impl Future<Output = Result<ExpansionTraitTreeFlat, ResolverError>> + Send
Fetch a class-agnostic expansion progression tree, such as Midnight’s Omnium Folio.
fn get_rotation_script( &self, rotation_id: &str, ) -> impl Future<Output = Result<String, ResolverError>> + Send
Source§fn get_spell_overrides(
&self,
spec_id: i32,
) -> impl Future<Output = Result<Vec<(SpellId, SpellId)>, ResolverError>> + Send
fn get_spell_overrides( &self, spec_id: i32, ) -> impl Future<Output = Result<Vec<(SpellId, SpellId)>, ResolverError>> + Send
Required for resolver parity: a backend with no override table returns
Ok(vec![]).Source§fn get_specialization_spells(
&self,
spec_id: i32,
) -> impl Future<Output = Result<Vec<SpellId>, ResolverError>> + Send
fn get_specialization_spells( &self, spec_id: i32, ) -> impl Future<Output = Result<Vec<SpellId>, ResolverError>> + Send
Every spell id assigned to the spec in
SpecializationSpells; a backend with no table returns Ok(vec![]).Source§fn get_racial_spells(
&self,
race_id: i32,
class_id: i32,
) -> impl Future<Output = Result<Vec<SpellId>, ResolverError>> + Send
fn get_racial_spells( &self, race_id: i32, class_id: i32, ) -> impl Future<Output = Result<Vec<SpellId>, ResolverError>> + Send
Every racial ability the race grants the class; a backend with no table returns
Ok(vec![]). Read moreSource§fn get_expected_stats(
&self,
expansion_id: i32,
lvl: i32,
) -> impl Future<Output = Result<ExpectedStatFlat, ResolverError>> + Send
fn get_expected_stats( &self, expansion_id: i32, lvl: i32, ) -> impl Future<Output = Result<ExpectedStatFlat, ResolverError>> + Send
Required for resolver parity: return
ExpectedStatsNotFound when a backend cannot source it.Source§fn get_item_damage_scaling(
&self,
item_level: i32,
weapon_type: &str,
) -> impl Future<Output = Result<ItemDamageScalingFlat, ResolverError>> + Send
fn get_item_damage_scaling( &self, item_level: i32, weapon_type: &str, ) -> impl Future<Output = Result<ItemDamageScalingFlat, ResolverError>> + Send
Required for resolver parity: return
ItemDamageScalingNotFound when a backend cannot source it.Source§fn search_spells(
&self,
query: &str,
limit: u32,
) -> impl Future<Output = Result<Vec<SpellSearchResult>, ResolverError>> + Send
fn search_spells( &self, query: &str, limit: u32, ) -> impl Future<Output = Result<Vec<SpellSearchResult>, ResolverError>> + Send
Defaults to
Unsupported; a backend with no search index fails loud rather than returning empty.Source§fn find_consumable_items(
&self,
name_token: &str,
subclass: i32,
) -> impl Future<Output = Result<Vec<ItemDataFlat>, ResolverError>> + Send
fn find_consumable_items( &self, name_token: &str, subclass: i32, ) -> impl Future<Output = Result<Vec<ItemDataFlat>, ResolverError>> + Send
Finds consumable items whose tokenized names contain
name_token.Source§fn get_enchantment(
&self,
enchantment_id: i32,
) -> impl Future<Output = Result<EnchantmentRow, ResolverError>> + Send
fn get_enchantment( &self, enchantment_id: i32, ) -> impl Future<Output = Result<EnchantmentRow, ResolverError>> + Send
Required for resolver parity: return
EnchantmentNotFound when a backend cannot source it.Source§fn find_permanent_enchant(
&self,
query: &PermanentEnchantQuery,
) -> impl Future<Output = Result<Option<PermanentEnchantFlat>, ResolverError>> + Send
fn find_permanent_enchant( &self, query: &PermanentEnchantQuery, ) -> impl Future<Output = Result<Option<PermanentEnchantFlat>, ResolverError>> + Send
Resolves a named permanent enchant through the profession-derived
SimC index.Source§fn get_creature(
&self,
creature_id: i32,
) -> impl Future<Output = Result<CreatureFlat, ResolverError>> + Send
fn get_creature( &self, creature_id: i32, ) -> impl Future<Output = Result<CreatureFlat, ResolverError>> + Send
Creature identity row (
Creature table) by NPC ID; defaults to Unsupported until a backend implements enemy resolution.Source§fn get_creature_difficulties(
&self,
creature_id: i32,
) -> impl Future<Output = Result<Vec<CreatureDifficultyFlat>, ResolverError>> + Send
fn get_creature_difficulties( &self, creature_id: i32, ) -> impl Future<Output = Result<Vec<CreatureDifficultyFlat>, ResolverError>> + Send
Every
CreatureDifficulty variant for a creature; defaults to Unsupported until a backend implements enemy resolution.Source§fn get_content_tuning(
&self,
content_tuning_id: i32,
) -> impl Future<Output = Result<ContentTuningFlat, ResolverError>> + Send
fn get_content_tuning( &self, content_tuning_id: i32, ) -> impl Future<Output = Result<ContentTuningFlat, ResolverError>> + Send
ContentTuning row by ID; defaults to Unsupported until a backend implements enemy resolution.Source§fn get_content_tuning_x_difficulty(
&self,
content_tuning_id: i32,
) -> impl Future<Output = Result<Vec<ContentTuningXDifficultyFlat>, ResolverError>> + Send
fn get_content_tuning_x_difficulty( &self, content_tuning_id: i32, ) -> impl Future<Output = Result<Vec<ContentTuningXDifficultyFlat>, ResolverError>> + Send
Every
ContentTuningXDifficulty mapping for a content tuning; defaults to Unsupported until a backend implements enemy resolution.Source§fn get_content_tuning_x_expected(
&self,
content_tuning_id: i32,
) -> impl Future<Output = Result<Vec<ContentTuningXExpectedFlat>, ResolverError>> + Send
fn get_content_tuning_x_expected( &self, content_tuning_id: i32, ) -> impl Future<Output = Result<Vec<ContentTuningXExpectedFlat>, ResolverError>> + Send
Every
ContentTuningXExpected mapping; row selection stays in the application layer.Source§fn get_expected_stat_mod(
&self,
expected_stat_mod_id: i32,
) -> impl Future<Output = Result<ExpectedStatModFlat, ResolverError>> + Send
fn get_expected_stat_mod( &self, expected_stat_mod_id: i32, ) -> impl Future<Output = Result<ExpectedStatModFlat, ResolverError>> + Send
ExpectedStatMod multiplier row by ID.Source§fn get_challenge_mode_health(
&self,
keystone_level: i32,
) -> impl Future<Output = Result<ChallengeModeHealthFlat, ResolverError>> + Send
fn get_challenge_mode_health( &self, keystone_level: i32, ) -> impl Future<Output = Result<ChallengeModeHealthFlat, ResolverError>> + Send
ChallengeModeHealth GameTable scalar by keystone level.Source§fn decode_traits(
&self,
spec_id: i32,
trait_string: &str,
) -> impl Future<Output = Result<TraitTreeWithSelections, ResolverError>> + Send
fn decode_traits( &self, spec_id: i32, trait_string: &str, ) -> impl Future<Output = Result<TraitTreeWithSelections, ResolverError>> + Send
Decode a loadout string against this spec’s tree into a raw selected tree; talent-tree interpretation is the caller’s job.
Source§impl<'dynosaur_struct> DataResolver for DynDataResolver<'dynosaur_struct>
impl<'dynosaur_struct> DataResolver for DynDataResolver<'dynosaur_struct>
fn get_spell( &self, spell_id: SpellId, ) -> impl Future<Output = Result<SpellDataFlat, ResolverError>> + Send
fn get_spells( &self, spell_ids: &[SpellId], ) -> impl Future<Output = Result<Vec<SpellDataFlat>, ResolverError>> + Send
Source§fn get_spell_effect(
&self,
spell_id: SpellId,
effect_index: u8,
) -> impl Future<Output = Result<SpellEffect, ResolverError>> + Send
fn get_spell_effect( &self, spell_id: SpellId, effect_index: u8, ) -> impl Future<Output = Result<SpellEffect, ResolverError>> + Send
effect_index is 1-based (author-facing).fn get_spell_effects( &self, spell_id: SpellId, ) -> impl Future<Output = Result<Vec<SpellEffect>, ResolverError>> + Send
fn get_item( &self, item_id: i32, ) -> impl Future<Output = Result<ItemDataFlat, ResolverError>> + Send
fn get_scaling_data( &self, ) -> impl Future<Output = Result<Arc<ItemScalingData>, ResolverError>> + Send
fn get_power_types( &self, ) -> impl Future<Output = Result<Vec<PowerTypeFlat>, ResolverError>> + Send
fn get_spec( &self, spec_id: i32, ) -> impl Future<Output = Result<SpecDataFlat, ResolverError>> + Send
fn get_trait_tree( &self, spec_id: i32, ) -> impl Future<Output = Result<TraitTreeFlat, ResolverError>> + Send
Source§fn get_expansion_trait_tree(
&self,
expansion_id: i32,
system: &str,
) -> impl Future<Output = Result<ExpansionTraitTreeFlat, ResolverError>> + Send
fn get_expansion_trait_tree( &self, expansion_id: i32, system: &str, ) -> impl Future<Output = Result<ExpansionTraitTreeFlat, ResolverError>> + Send
Fetch a class-agnostic expansion progression tree, such as Midnight’s Omnium Folio.
fn get_rotation_script( &self, rotation_id: &str, ) -> impl Future<Output = Result<String, ResolverError>> + Send
Source§fn get_spell_overrides(
&self,
spec_id: i32,
) -> impl Future<Output = Result<Vec<(SpellId, SpellId)>, ResolverError>> + Send
fn get_spell_overrides( &self, spec_id: i32, ) -> impl Future<Output = Result<Vec<(SpellId, SpellId)>, ResolverError>> + Send
Required for resolver parity: a backend with no override table returns
Ok(vec![]).Source§fn get_specialization_spells(
&self,
spec_id: i32,
) -> impl Future<Output = Result<Vec<SpellId>, ResolverError>> + Send
fn get_specialization_spells( &self, spec_id: i32, ) -> impl Future<Output = Result<Vec<SpellId>, ResolverError>> + Send
Every spell id assigned to the spec in
SpecializationSpells; a backend with no table returns Ok(vec![]).Source§fn get_racial_spells(
&self,
race_id: i32,
class_id: i32,
) -> impl Future<Output = Result<Vec<SpellId>, ResolverError>> + Send
fn get_racial_spells( &self, race_id: i32, class_id: i32, ) -> impl Future<Output = Result<Vec<SpellId>, ResolverError>> + Send
Every racial ability the race grants the class; a backend with no table returns
Ok(vec![]). Read moreSource§fn get_expected_stats(
&self,
expansion_id: i32,
lvl: i32,
) -> impl Future<Output = Result<ExpectedStatFlat, ResolverError>> + Send
fn get_expected_stats( &self, expansion_id: i32, lvl: i32, ) -> impl Future<Output = Result<ExpectedStatFlat, ResolverError>> + Send
Required for resolver parity: return
ExpectedStatsNotFound when a backend cannot source it.Source§fn get_item_damage_scaling(
&self,
item_level: i32,
weapon_type: &str,
) -> impl Future<Output = Result<ItemDamageScalingFlat, ResolverError>> + Send
fn get_item_damage_scaling( &self, item_level: i32, weapon_type: &str, ) -> impl Future<Output = Result<ItemDamageScalingFlat, ResolverError>> + Send
Required for resolver parity: return
ItemDamageScalingNotFound when a backend cannot source it.Source§fn search_spells(
&self,
query: &str,
limit: u32,
) -> impl Future<Output = Result<Vec<SpellSearchResult>, ResolverError>> + Send
fn search_spells( &self, query: &str, limit: u32, ) -> impl Future<Output = Result<Vec<SpellSearchResult>, ResolverError>> + Send
Defaults to
Unsupported; a backend with no search index fails loud rather than returning empty.Source§fn find_consumable_items(
&self,
name_token: &str,
subclass: i32,
) -> impl Future<Output = Result<Vec<ItemDataFlat>, ResolverError>> + Send
fn find_consumable_items( &self, name_token: &str, subclass: i32, ) -> impl Future<Output = Result<Vec<ItemDataFlat>, ResolverError>> + Send
Finds consumable items whose tokenized names contain
name_token.Source§fn get_enchantment(
&self,
enchantment_id: i32,
) -> impl Future<Output = Result<EnchantmentRow, ResolverError>> + Send
fn get_enchantment( &self, enchantment_id: i32, ) -> impl Future<Output = Result<EnchantmentRow, ResolverError>> + Send
Required for resolver parity: return
EnchantmentNotFound when a backend cannot source it.Source§fn find_permanent_enchant(
&self,
query: &PermanentEnchantQuery,
) -> impl Future<Output = Result<Option<PermanentEnchantFlat>, ResolverError>> + Send
fn find_permanent_enchant( &self, query: &PermanentEnchantQuery, ) -> impl Future<Output = Result<Option<PermanentEnchantFlat>, ResolverError>> + Send
Resolves a named permanent enchant through the profession-derived
SimC index.Source§fn get_creature(
&self,
creature_id: i32,
) -> impl Future<Output = Result<CreatureFlat, ResolverError>> + Send
fn get_creature( &self, creature_id: i32, ) -> impl Future<Output = Result<CreatureFlat, ResolverError>> + Send
Creature identity row (
Creature table) by NPC ID; defaults to Unsupported until a backend implements enemy resolution.Source§fn get_creature_difficulties(
&self,
creature_id: i32,
) -> impl Future<Output = Result<Vec<CreatureDifficultyFlat>, ResolverError>> + Send
fn get_creature_difficulties( &self, creature_id: i32, ) -> impl Future<Output = Result<Vec<CreatureDifficultyFlat>, ResolverError>> + Send
Every
CreatureDifficulty variant for a creature; defaults to Unsupported until a backend implements enemy resolution.Source§fn get_content_tuning(
&self,
content_tuning_id: i32,
) -> impl Future<Output = Result<ContentTuningFlat, ResolverError>> + Send
fn get_content_tuning( &self, content_tuning_id: i32, ) -> impl Future<Output = Result<ContentTuningFlat, ResolverError>> + Send
ContentTuning row by ID; defaults to Unsupported until a backend implements enemy resolution.Source§fn get_content_tuning_x_difficulty(
&self,
content_tuning_id: i32,
) -> impl Future<Output = Result<Vec<ContentTuningXDifficultyFlat>, ResolverError>> + Send
fn get_content_tuning_x_difficulty( &self, content_tuning_id: i32, ) -> impl Future<Output = Result<Vec<ContentTuningXDifficultyFlat>, ResolverError>> + Send
Every
ContentTuningXDifficulty mapping for a content tuning; defaults to Unsupported until a backend implements enemy resolution.Source§fn get_content_tuning_x_expected(
&self,
content_tuning_id: i32,
) -> impl Future<Output = Result<Vec<ContentTuningXExpectedFlat>, ResolverError>> + Send
fn get_content_tuning_x_expected( &self, content_tuning_id: i32, ) -> impl Future<Output = Result<Vec<ContentTuningXExpectedFlat>, ResolverError>> + Send
Every
ContentTuningXExpected mapping; row selection stays in the application layer.Source§fn get_expected_stat_mod(
&self,
expected_stat_mod_id: i32,
) -> impl Future<Output = Result<ExpectedStatModFlat, ResolverError>> + Send
fn get_expected_stat_mod( &self, expected_stat_mod_id: i32, ) -> impl Future<Output = Result<ExpectedStatModFlat, ResolverError>> + Send
ExpectedStatMod multiplier row by ID.Source§fn get_challenge_mode_health(
&self,
keystone_level: i32,
) -> impl Future<Output = Result<ChallengeModeHealthFlat, ResolverError>> + Send
fn get_challenge_mode_health( &self, keystone_level: i32, ) -> impl Future<Output = Result<ChallengeModeHealthFlat, ResolverError>> + Send
ChallengeModeHealth GameTable scalar by keystone level.Source§fn decode_traits(
&self,
spec_id: i32,
trait_string: &str,
) -> impl Future<Output = Result<TraitTreeWithSelections, ResolverError>> + Send
fn decode_traits( &self, spec_id: i32, trait_string: &str, ) -> impl Future<Output = Result<TraitTreeWithSelections, ResolverError>> + Send
Decode a loadout string against this spec’s tree into a raw selected tree; talent-tree interpretation is the caller’s job.
Auto Trait Implementations§
impl<'dynosaur_struct> !Freeze for DynDataResolver<'dynosaur_struct>
impl<'dynosaur_struct> !RefUnwindSafe for DynDataResolver<'dynosaur_struct>
impl<'dynosaur_struct> Send for DynDataResolver<'dynosaur_struct>
impl<'dynosaur_struct> !Sized for DynDataResolver<'dynosaur_struct>
impl<'dynosaur_struct> Sync for DynDataResolver<'dynosaur_struct>
impl<'dynosaur_struct> !Unpin for DynDataResolver<'dynosaur_struct>
impl<'dynosaur_struct> !UnsafeUnpin for DynDataResolver<'dynosaur_struct>
impl<'dynosaur_struct> !UnwindSafe for DynDataResolver<'dynosaur_struct>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more