/** * 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. * * OpenAPI spec version: 2.18.0 * Contact: support@bungie.com * * OODestiny Version: 2.0.9 * NOTE: This class is auto generated by the oodestiny code generator program * Repository: {@link https://github.com/owensimpson/oodestiny} * Adapted from {@link https://github.com/DestinyItemManager/bungie-api-ts} * Do not edit these files manually. */ import { ItemBindStatus } from '../../ItemBindStatus'; import { ItemLocation } from '../../ItemLocation'; import { TransferStatuses } from '../../TransferStatuses'; import { ItemState } from '../../ItemState'; import { DestinyObjectiveProgress } from '../../Quests/DestinyObjectiveProgress'; /** * The base item component, filled with properties that are generally useful to * know in any item request or that don't feel worthwhile to put in their own * component. * @see {@link https://bungie-net.github.io/#/components/schemas/Destiny.Entities.Items.DestinyItemComponent} */ export interface DestinyItemComponent { /** * The identifier for the item's definition, which is where most of the useful * static information for the item can be found. Mapped to * DestinyInventoryItemDefinition in the manifest. */ readonly itemHash: number; /** * If the item is instanced, it will have an instance ID. Lack of an instance ID * implies that the item has no distinct local qualities aside from stack size. */ readonly itemInstanceId?: string; /** * The quantity of the item in this stack. Note that Instanced items cannot stack. * If an instanced item, this value will always be 1 (as the stack has exactly one * item in it) */ readonly quantity: number; /** If the item is bound to a location, it will be specified in this enum. */ readonly bindStatus: ItemBindStatus; /** * An easy reference for where the item is located. Redundant if you got the item * from an Inventory, but useful when making detail calls on specific items. */ readonly location: ItemLocation; /** * The hash identifier for the specific inventory bucket in which the item is * located. Mapped to DestinyInventoryBucketDefinition in the manifest. */ readonly bucketHash: number; /** * If there is a known error state that would cause this item to not be * transferable, this Flags enum will indicate all of those error states. Otherwise, * it will be 0 (CanTransfer). This enum represents a set of flags - use bitwise * operators to check which of these match your value. */ readonly transferStatus: TransferStatuses; /** If the item can be locked, this will indicate that state. */ readonly lockable: boolean; /** * A flags enumeration indicating the transient/custom states of the item that * affect how it is rendered: whether it's tracked or locked for example, or * whether it has a masterwork plug inserted. This enum represents a set of flags - * use bitwise operators to check which of these match your value. */ readonly state: ItemState; /** * If populated, this is the hash of the item whose icon (and other secondary * styles, but *not* the human readable strings) should override whatever icons/ * styles are on the item being sold. * * If you don't do this, certain items whose styles are being overridden by * socketed items - such as the "Recycle Shader" item - would show whatever their * default icon/style is, and it wouldn't be pretty or look accurate. Mapped to * DestinyInventoryItemDefinition in the manifest. */ readonly overrideStyleItemHash?: number; /** If the item can expire, this is the date at which it will/did expire. */ readonly expirationDate?: string; /** * If this is true, the object is actually a "wrapper" of the object it's * representing. This means that it's not the actual item itself, but rather an * item that must be "opened" in game before you have and can use the item. * * Wrappers are an evolution of "bundles", which give an easy way to let you * preview the contents of what you purchased while still letting you get a refund * before you "open" it. */ readonly isWrapper: boolean; /** * If this is populated, it is a list of indexes into * DestinyInventoryItemDefinition.tooltipNotifications for any special tooltip * messages that need to be shown for this item. */ readonly tooltipNotificationIndexes: number[]; /** * The identifier for the currently-selected metric definition, to be displayed on * the emblem nameplate. Mapped to DestinyMetricDefinition in the manifest. */ readonly metricHash?: number; /** * The objective progress for the currently-selected metric definition, to be * displayed on the emblem nameplate. */ readonly metricObjective: DestinyObjectiveProgress; /** * The version of this item, used to index into the versions list in the item * definition quality block. */ readonly versionNumber?: number; /** * If available, a list that describes which item values (rewards) should be shown ( * true) or hidden (false). */ readonly itemValueVisibility: boolean[]; }