@blizzard-api/d3
TypeScript icon, indicating that this package has built-in type declarations

0.1.0 • Public • Published

@blizzard-api/d3

This package aims to make it easier for you to integrate with the Blizzard Battle.net API, specifically for Diablo 3.

Installation

npm i @blizzard-api/core @blizzard-api/d3

Usage

You can get paths, namespaces, parameters and more for a specific endpoint by calling it from the d3 export.

import { d3 } from "@blizzard-api/d3"

const achievement = d3.achievement(123);
        ^ { path: string, namespace: string }

If you need the response types, they are also exported with "Response" appended, so to get the response type from the above code, you can import it like this:

import type { AchievementResponse } from '@blizzard-api/d3';

If you simply want to use the existing object, you can use the helper from @blizzard-api/core like so:

import { d3 } from "@blizzard-api/d3"

const achievement = d3.achievement(123);
        ^ { path: string, namespace: string }
type AchievementResponse = ExtractResourceType<typeof achievement>;

If you don't want to use the exported d3 object, you can also access the functions directly:

import { achievement } from "@blizzard-api/d3"

const achi = achievement(123);
        ^ { path: string, namespace: string }
type AchievementResponse = ExtractResourceType<typeof achi>;

Types

The types are manually created from using the Blizzard API documentation, and are as accurate as possible with smoke testing each endpoint. However, no-one is perfect so there is likely be some discrepancies. If you encounter any issues with the types from this package, please open an issue or a pull request.

Client

While this package is made to function on it's own, it performs even better when combined with @blizzard-api/client where you can easily request data combining the two libraries.

import { createBlizzardApiClient } from '@blizzard-api/client';
import { d3 } from '@blizzard-api/d3';

const client = await createBlizzardApiClient({
  key: 'environment.blizzardClientId',
  secret: 'environment.blizzardClientSecret',
  origin: 'eu',
});

//Response will automatically be typed with the appropriate values
const response = await client.sendRequest(d3.commodities());

console.log(response.data);
                      ^ typeof AuctionHouseCommoditiesResponse

Package Sidebar

Install

npm i @blizzard-api/d3

Weekly Downloads

1

Version

0.1.0

License

MIT

Unpacked Size

61.8 kB

Total Files

8

Last publish

Collaborators

  • laustsf