@blizzard-api/classic-wow
Version:
A series of helpers to interact with the World of Warcraft Classic Blizzard API
83 lines (82 loc) • 2.4 kB
JavaScript
import { wowBasePath, wowMediaBasePath, wowSearchBasePath } from "@blizzard-api/core";
//#region src/item/index.ts
/**
* Get an item by ID.
* @param namespace The namespace to use. See {@link BlizzardNamespaces}.
* @param itemId The item ID.
* @returns The item. See {@link ItemResponse}.
*/
function item(namespace, itemId) {
return {
namespace,
path: `${wowBasePath}/item/${itemId}`
};
}
/**
* Get an item class by ID.
* @param namespace The namespace to use. See {@link BlizzardNamespaces}.
* @param itemClassId The item class ID.
* @returns The item class. See {@link ItemClassResponse}.
*/
function itemClass(namespace, itemClassId) {
return {
namespace,
path: `${wowBasePath}/item-class/${itemClassId}`
};
}
/**
* Get an item class index.
* @param namespace The namespace to use. See {@link BlizzardNamespaces}.
* @returns The item class index. See {@link ItemClassIndexResponse}.
*/
function itemClassIndex(namespace) {
return {
namespace,
path: `${wowBasePath}/item-class/index`
};
}
/**
* Get item media by ID.
* @param namespace The namespace to use. See {@link BlizzardNamespaces}.
* @param itemId The item ID.
* @returns The item media. See {@link ItemMediaResponse}.
*/
function itemMedia(namespace, itemId) {
return {
namespace,
path: `${wowMediaBasePath}/item/${itemId}`
};
}
/**
* Search for items.
* @param namespace The namespace to use. See {@link BlizzardNamespaces}.
* @param options The search parameters. See {@link ItemSearchParameters}.
* @returns The search results. See {@link ItemSearchResponse}.
*/
function itemSearch(namespace, options) {
return {
namespace,
parameters: {
_page: options._page,
[`name.${options.locale}`]: options.name,
orderby: Array.isArray(options.orderby) ? options.orderby.join(",") : options.orderby
},
path: `${wowSearchBasePath}/item`
};
}
/**
* Get an item subclass by ID.
* @param namespace The namespace to use. See {@link BlizzardNamespaces}.
* @param itemClassId The item class ID.
* @param itemSubclassId The item subclass ID.
* @returns The item subclass. See {@link ItemSubClassResponse}.
*/
function itemSubClass(namespace, itemClassId, itemSubclassId) {
return {
namespace,
path: `${wowBasePath}/item-class/${itemClassId}/item-subclass/${itemSubclassId}`
};
}
//#endregion
export { item, itemClass, itemClassIndex, itemMedia, itemSearch, itemSubClass };
//# sourceMappingURL=index.js.map