bungie-net-core
Version:
An easy way to interact with the Bungie.net API
106 lines (105 loc) • 5.04 kB
TypeScript
/**
* Bungie.Net API
* These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.
*
* Contact: support@bungie.com
*
* NOTE: This class is auto generated by the bungie-net-core code generator program
* Repository: {@link https://github.com/owens1127/bungie-net-core}
* Do not edit these files manually.
*/
import { DestinyComponentType } from '../DestinyComponentType';
import { SingleComponentResponse } from '../../../interfaces/SingleComponentResponse';
import { DestinyItemComponent } from '../Entities/Items/DestinyItemComponent';
import { DestinyItemInstanceComponent } from '../Entities/Items/DestinyItemInstanceComponent';
import { DestinyItemObjectivesComponent } from '../Entities/Items/DestinyItemObjectivesComponent';
import { DestinyItemPerksComponent } from '../Entities/Items/DestinyItemPerksComponent';
import { DestinyItemRenderComponent } from '../Entities/Items/DestinyItemRenderComponent';
import { DestinyItemStatsComponent } from '../Entities/Items/DestinyItemStatsComponent';
import { DestinyItemTalentGridComponent } from '../Entities/Items/DestinyItemTalentGridComponent';
import { DestinyItemSocketsComponent } from '../Entities/Items/DestinyItemSocketsComponent';
import { DestinyItemReusablePlugsComponent } from '../Components/Items/DestinyItemReusablePlugsComponent';
import { DestinyItemPlugObjectivesComponent } from '../Components/Items/DestinyItemPlugObjectivesComponent';
/**
* The response object for retrieving an individual instanced item. None of these
* components are relevant for an item that doesn't have an "itemInstanceId": for
* those, get your information from the DestinyInventoryDefinition.
* @see {@link https://bungie-net.github.io/#/components/schemas/Destiny.Responses.DestinyItemResponse}
*/
export interface DestinyItemResponse<T extends readonly DestinyComponentType[]> {
/**
* If the item is on a character, this will return the ID of the character that is
* holding the item.
*/
readonly characterId?: string;
/**
* Common data for the item relevant to its non-instanced properties.
*
* COMPONENT TYPE: ItemCommonData
*/
readonly item: SingleComponentResponse<DestinyItemComponent, 'ItemCommonData', T>;
/**
* Basic instance data for the item.
*
* COMPONENT TYPE: ItemInstances
*/
readonly instance: SingleComponentResponse<DestinyItemInstanceComponent, 'ItemInstances', T>;
/**
* Information specifically about the item's objectives.
*
* COMPONENT TYPE: ItemObjectives
*/
readonly objectives: SingleComponentResponse<DestinyItemObjectivesComponent, 'ItemObjectives', T>;
/**
* Information specifically about the perks currently active on the item.
*
* COMPONENT TYPE: ItemPerks
*/
readonly perks: SingleComponentResponse<DestinyItemPerksComponent, 'ItemPerks', T>;
/**
* Information about how to render the item in 3D.
*
* COMPONENT TYPE: ItemRenderData
*/
readonly renderData: SingleComponentResponse<DestinyItemRenderComponent, 'ItemRenderData', T>;
/**
* Information about the computed stats of the item: power, defense, etc...
*
* COMPONENT TYPE: ItemStats
*/
readonly stats: SingleComponentResponse<DestinyItemStatsComponent, 'ItemStats', T>;
/**
* Information about the talent grid attached to the item. Talent nodes can provide
* a variety of benefits and abilities, and in Destiny 2 are used almost
* exclusively for the character's "Builds".
*
* COMPONENT TYPE: ItemTalentGrids
*/
readonly talentGrid: SingleComponentResponse<DestinyItemTalentGridComponent, 'ItemTalentGrids', T>;
/**
* Information about the sockets of the item: which are currently active, what
* potential sockets you could have and the stats/abilities/perks you can gain from
* them.
*
* COMPONENT TYPE: ItemSockets
*/
readonly sockets: SingleComponentResponse<DestinyItemSocketsComponent, 'ItemSockets', T>;
/**
* Information about the Reusable Plugs for sockets on an item. These are plugs
* that you can insert into the given socket regardless of if you actually own an
* instance of that plug: they are logic-driven plugs rather than inventory-driven.
*
* These may need to be combined with Plug Set component data to get a full
* picture of available plugs on a given socket.
*
* COMPONENT TYPE: ItemReusablePlugs
*/
readonly reusablePlugs: SingleComponentResponse<DestinyItemReusablePlugsComponent, 'ItemReusablePlugs', T>;
/**
* Information about objectives on Plugs for a given item. See the component's
* documentation for more info.
*
* COMPONENT TYPE: ItemPlugObjectives
*/
readonly plugObjectives: SingleComponentResponse<DestinyItemPlugObjectivesComponent, 'ItemPlugObjectives', T>;
}