@blizzard-api/classic-wow
Version:
A series of helpers to interact with the World of Warcraft Classic Blizzard API
105 lines (104 loc) • 3.4 kB
JavaScript
import { wowBasePath, wowMediaBasePath, wowSearchBasePath } from "@blizzard-api/core";
//#region src/creature/index.ts
/**
* Returns a creature by ID.
* @param namespace The namespace to use. See {@link BlizzardNamespaces}.
* @param creatureId The creature ID.
* @returns The creature. See {@link CreatureResponse}.
*/
function creature(namespace, creatureId) {
return {
namespace,
path: `${wowBasePath}/creature/${creatureId}`
};
}
/**
* Returns media for a creature display by ID.
* @param namespace The namespace to use. See {@link BlizzardNamespaces}.
* @param creatureDisplayId The creature display ID.
* @returns The creature display media. See {@link CreatureDisplayMediaResponse}.
*/
function creatureDisplayMedia(namespace, creatureDisplayId) {
return {
namespace,
path: `${wowMediaBasePath}/creature-display/${creatureDisplayId}`
};
}
/**
* Returns a creature family by ID.
* @param namespace The namespace to use. See {@link BlizzardNamespaces}.
* @param creatureFamilyId The creature family ID.
* @returns The creature family. See {@link CreatureFamilyResponse}.
*/
function creatureFamily(namespace, creatureFamilyId) {
return {
namespace,
path: `${wowBasePath}/creature-family/${creatureFamilyId}`
};
}
/**
* Returns an index of creature families.
* @param namespace The namespace to use. See {@link BlizzardNamespaces}.
* @returns The creature family index. See {@link CreatureFamilyIndexResponse}.
*/
function creatureFamilyIndex(namespace) {
return {
namespace,
path: `${wowBasePath}/creature-family/index`
};
}
/**
* Returns media for a creature family by ID.
* @param namespace The namespace to use. See {@link BlizzardNamespaces}.
* @param creatureFamilyId The creature family ID.
* @returns The creature family media. See {@link CreatureFamilyMediaResponse}.
*/
function creatureFamilyMedia(namespace, creatureFamilyId) {
return {
namespace,
path: `${wowMediaBasePath}/creature-family/${creatureFamilyId}`
};
}
/**
* Performs a search of creatures.
* @param namespace The namespace to use. See {@link BlizzardNamespaces}.
* @param options The creature search parameters. See {@link CreatureSearchParameters}.
* @returns The creature search results. See {@link CreatureSearchResponse}.
*/
function creatureSearch(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}/creature`
};
}
/**
* Returns a creature type by ID.
* @param namespace The namespace to use. See {@link BlizzardNamespaces}.
* @param creatureTypeId The creature type ID.
* @returns The creature type. See {@link CreatureTypeResponse}.
*/
function creatureType(namespace, creatureTypeId) {
return {
namespace,
path: `${wowBasePath}/creature-type/${creatureTypeId}`
};
}
/**
* Returns an index of creature types.
* @param namespace The namespace to use. See {@link BlizzardNamespaces}.
* @returns The creature type index. See {@link CreatureTypeIndexResponse}.
*/
function creatureTypeIndex(namespace) {
return {
namespace,
path: `${wowBasePath}/creature-type/index`
};
}
//#endregion
export { creature, creatureDisplayMedia, creatureFamily, creatureFamilyIndex, creatureFamilyMedia, creatureSearch, creatureType, creatureTypeIndex };
//# sourceMappingURL=index.js.map