@ 暴风雪- api/ wow
这个软件包旨在方便您与"Blizzard Battle.net API"集成,专为"World of Warcraft".
安装
npm i @blizzard-api/core @blizzard-api/wow
使用量
您可以通过调用它来获取特定终点的路径、 命名空间、 参数和更多 wow 输出.
import { wow } from "@blizzard-api/wow"
//or
import wow from "@blizzard-api/wow"
const achievement = wow.achievement(123);
^ { path: string, namespace?: string, parameters?: Record<string, never> }
如果您不想使用导出的 Wow 对象, 您也可以直接访问函数 :
import { achievement } from "@blizzard-api/wow"
const achi = achievement(123);
^ { path: string, namespace?: string, parameters?: Record<string, never> }
类型
如果您需要响应类型,它们也会被以"Response"作为附件导出,因此要从上述代码中获取响应类型,可以这样导入:
import type { AchievementResponse } from '@blizzard-api/wow';
如果您只是想要使用已有对象, 您可以使用帮助器, ExtractResourceType从 @blizzard-api/core 像这样:
import type { ExtractResourceType } from "@blizzard-api/core";
import { wow } from "@blizzard-api/wow"
const achievement = wow.achievement(123);
^ { path: string, namespace?: string, parameters?: Record<string, never> }
type AchievementResponse = ExtractResourceType<typeof achievement>;
对 @ 暴风雪- api/ classic- wow 的区别
这个套件是专为"战地(英语:World of Warcraft (tail or modern))"设计的,因此,端点和响应与经典变体不同. 如果你正在寻找经典的"战地世界",你应该使用 @blizzard-api/classic-wow 换句话说.
关于类型的说明
这些类型是使用 Blizzard API 文档手动创建的,并且尽可能精确,每个端点都进行烟雾测试. 然而,没有人是完美的,因此有可能存在某些差异。 如果您遇到来自此软件包类型的问题, 请打开一个问题或拉请求 .
客户端
虽然这个软件包是靠它自己运行的,但如果与 @blizzard-api/client 其中您可以轻松地请求合并两个库的数据.
import { createBlizzardApiClient } from '@blizzard-api/client';
import { wow } from '@blizzard-api/wow';
const client = await createBlizzardApiClient({
key: 'environment.blizzardClientId',
secret: 'environment.blizzardClientSecret',
origin: 'eu',
});
//Response will automatically be typed with the appropriate values.
//It resolves to `AuctionHouseCommoditiesResponse | undefined`, since some endpoints
//legitimately return an empty body.
const response = await client.sendRequest(wow.commodities());
console.log(response);
^ typeof AuctionHouseCommoditiesResponse | undefined