@blizzard-api/client 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +29 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +15 -9
- package/dist/index.d.ts +15 -9
- package/dist/index.js +29 -1
- package/dist/index.js.map +1 -1
- package/package.json +8 -2
package/dist/index.cjs
CHANGED
|
@@ -34,7 +34,7 @@ __export(src_exports, {
|
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(src_exports);
|
|
36
36
|
|
|
37
|
-
// src/client.ts
|
|
37
|
+
// src/client/index.ts
|
|
38
38
|
var import_node_querystring = require("querystring");
|
|
39
39
|
var import_core = require("@blizzard-api/core");
|
|
40
40
|
var import_axios = __toESM(require("axios"), 1);
|
|
@@ -51,6 +51,34 @@ var BlizzardApiClient = class {
|
|
|
51
51
|
};
|
|
52
52
|
}
|
|
53
53
|
axios = import_axios.default.create();
|
|
54
|
+
getRequestUrl(resource, options) {
|
|
55
|
+
const config = { ...this.defaults, ...options };
|
|
56
|
+
const endpoint = (0, import_core.getEndpoint)(config.origin, config.locale);
|
|
57
|
+
const backslashSeparator = resource.path.startsWith("/") ? "" : "/";
|
|
58
|
+
return `${endpoint.hostname}${backslashSeparator}${resource.path}`;
|
|
59
|
+
}
|
|
60
|
+
getRequestConfig(resource, options, headers) {
|
|
61
|
+
const config = { ...this.defaults, ...options };
|
|
62
|
+
const endpoint = (0, import_core.getEndpoint)(config.origin, config.locale);
|
|
63
|
+
const namespace = resource.namespace ? { "Battlenet-Namespace": `${resource.namespace}-${endpoint.origin}` } : void 0;
|
|
64
|
+
return {
|
|
65
|
+
headers: {
|
|
66
|
+
...headers,
|
|
67
|
+
...namespace,
|
|
68
|
+
"Content-Type": "application/json",
|
|
69
|
+
Authorization: `Bearer ${config.token}`
|
|
70
|
+
},
|
|
71
|
+
params: {
|
|
72
|
+
...resource.params,
|
|
73
|
+
locale: endpoint.locale
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
sendRequest(resource, options, headers) {
|
|
78
|
+
const url = this.getRequestUrl(resource, options);
|
|
79
|
+
const config = this.getRequestConfig(resource, options, headers);
|
|
80
|
+
return this.axios.get(url, config);
|
|
81
|
+
}
|
|
54
82
|
getAccessToken = async (options) => {
|
|
55
83
|
const { key, secret, origin } = { ...this.defaults, ...options };
|
|
56
84
|
return this.axios.post(`https://${origin}.battle.net/oauth/token`, void 0, {
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/client.ts"],"sourcesContent":["export
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/client/index.ts"],"sourcesContent":["export { BlizzardApiClient } from './client/index.js';\r\n","import { stringify } from 'node:querystring';\r\nimport { getEndpoint } from '@blizzard-api/core';\r\nimport type { Origins, Locales, ClientOptions, ResourceResponse, Resource } from '@blizzard-api/core';\r\nimport type { AxiosResponse } from 'axios';\r\nimport axios from 'axios';\r\nimport type {\r\n AccessToken,\r\n AccessTokenRequestArguments,\r\n IBlizzardApiClient,\r\n ValidateAccessTokenArguments,\r\n ValidateAccessTokenResponse,\r\n} from './types';\r\n\r\nexport class BlizzardApiClient implements IBlizzardApiClient {\r\n public defaults: {\r\n key: string;\r\n secret: string;\r\n origin: Origins;\r\n locale: Locales;\r\n token?: string;\r\n };\r\n\r\n constructor(options: ClientOptions) {\r\n const { origin, locale } = getEndpoint(options.origin, options.locale);\r\n this.defaults = {\r\n key: options.key,\r\n secret: options.secret,\r\n token: options.token,\r\n origin: origin,\r\n locale: locale,\r\n };\r\n }\r\n\r\n public axios = axios.create();\r\n\r\n public getRequestUrl<T = unknown>(resource: Resource<T>, options?: Partial<ClientOptions>) {\r\n const config = { ...this.defaults, ...options };\r\n const endpoint = getEndpoint(config.origin, config.locale);\r\n\r\n const backslashSeparator = resource.path.startsWith('/') ? '' : '/';\r\n\r\n return `${endpoint.hostname}${backslashSeparator}${resource.path}`;\r\n }\r\n\r\n public getRequestConfig<T = unknown>(\r\n resource: Resource<T>,\r\n options?: Partial<ClientOptions>,\r\n headers?: Record<string, string>,\r\n ) {\r\n const config = { ...this.defaults, ...options };\r\n const endpoint = getEndpoint(config.origin, config.locale);\r\n\r\n const namespace = resource.namespace\r\n ? { 'Battlenet-Namespace': `${resource.namespace}-${endpoint.origin}` }\r\n : undefined;\r\n\r\n return {\r\n headers: {\r\n ...headers,\r\n ...namespace,\r\n 'Content-Type': 'application/json',\r\n Authorization: `Bearer ${config.token}`,\r\n },\r\n params: {\r\n ...resource.params,\r\n locale: endpoint.locale,\r\n },\r\n };\r\n }\r\n\r\n public sendRequest<T = unknown>(\r\n resource: Resource<T>,\r\n options?: Partial<ClientOptions> & T,\r\n headers?: Record<string, string>,\r\n ): ResourceResponse<AxiosResponse<T>> {\r\n const url = this.getRequestUrl(resource, options);\r\n const config = this.getRequestConfig(resource, options, headers);\r\n\r\n return this.axios.get<T>(url, config);\r\n }\r\n\r\n public getAccessToken = async (options?: AccessTokenRequestArguments): Promise<AxiosResponse<AccessToken>> => {\r\n const { key, secret, origin } = { ...this.defaults, ...options };\r\n return this.axios.post<AccessToken>(`https://${origin}.battle.net/oauth/token`, undefined, {\r\n params: {\r\n grant_type: 'client_credentials',\r\n },\r\n auth: {\r\n username: key,\r\n password: secret,\r\n },\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n });\r\n };\r\n\r\n public setAccessToken = (token: string): void => {\r\n this.defaults.token = token;\r\n };\r\n\r\n public refreshAccessToken = async (options?: AccessTokenRequestArguments): Promise<AxiosResponse<AccessToken>> => {\r\n const response = await this.getAccessToken(options);\r\n this.setAccessToken(response.data.access_token);\r\n return response;\r\n };\r\n\r\n public validateAccessToken = async (\r\n options?: ValidateAccessTokenArguments,\r\n ): Promise<AxiosResponse<ValidateAccessTokenResponse>> => {\r\n const { origin, token } = { ...this.defaults, ...options };\r\n\r\n if (!token) {\r\n throw new Error('No token has been set previously or been passed to the validateAccessToken method.');\r\n }\r\n\r\n return await this.axios.post<ValidateAccessTokenResponse>(\r\n `https://${origin}.battle.net/oauth/check_token`,\r\n stringify({ token }),\r\n {\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded',\r\n },\r\n },\r\n );\r\n };\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,8BAA0B;AAC1B,kBAA4B;AAG5B,mBAAkB;AASX,IAAM,oBAAN,MAAsD;AAAA,EACpD;AAAA,EAQP,YAAY,SAAwB;AAClC,UAAM,EAAE,QAAQ,OAAO,QAAI,yBAAY,QAAQ,QAAQ,QAAQ,MAAM;AACrE,SAAK,WAAW;AAAA,MACd,KAAK,QAAQ;AAAA,MACb,QAAQ,QAAQ;AAAA,MAChB,OAAO,QAAQ;AAAA,MACf;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAEO,QAAQ,aAAAA,QAAM,OAAO;AAAA,EAErB,cAA2B,UAAuB,SAAkC;AACzF,UAAM,SAAS,EAAE,GAAG,KAAK,UAAU,GAAG,QAAQ;AAC9C,UAAM,eAAW,yBAAY,OAAO,QAAQ,OAAO,MAAM;AAEzD,UAAM,qBAAqB,SAAS,KAAK,WAAW,GAAG,IAAI,KAAK;AAEhE,WAAO,GAAG,SAAS,QAAQ,GAAG,kBAAkB,GAAG,SAAS,IAAI;AAAA,EAClE;AAAA,EAEO,iBACL,UACA,SACA,SACA;AACA,UAAM,SAAS,EAAE,GAAG,KAAK,UAAU,GAAG,QAAQ;AAC9C,UAAM,eAAW,yBAAY,OAAO,QAAQ,OAAO,MAAM;AAEzD,UAAM,YAAY,SAAS,YACvB,EAAE,uBAAuB,GAAG,SAAS,SAAS,IAAI,SAAS,MAAM,GAAG,IACpE;AAEJ,WAAO;AAAA,MACL,SAAS;AAAA,QACP,GAAG;AAAA,QACH,GAAG;AAAA,QACH,gBAAgB;AAAA,QAChB,eAAe,UAAU,OAAO,KAAK;AAAA,MACvC;AAAA,MACA,QAAQ;AAAA,QACN,GAAG,SAAS;AAAA,QACZ,QAAQ,SAAS;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAAA,EAEO,YACL,UACA,SACA,SACoC;AACpC,UAAM,MAAM,KAAK,cAAc,UAAU,OAAO;AAChD,UAAM,SAAS,KAAK,iBAAiB,UAAU,SAAS,OAAO;AAE/D,WAAO,KAAK,MAAM,IAAO,KAAK,MAAM;AAAA,EACtC;AAAA,EAEO,iBAAiB,OAAO,YAA+E;AAC5G,UAAM,EAAE,KAAK,QAAQ,OAAO,IAAI,EAAE,GAAG,KAAK,UAAU,GAAG,QAAQ;AAC/D,WAAO,KAAK,MAAM,KAAkB,WAAW,MAAM,2BAA2B,QAAW;AAAA,MACzF,QAAQ;AAAA,QACN,YAAY;AAAA,MACd;AAAA,MACA,MAAM;AAAA,QACJ,UAAU;AAAA,QACV,UAAU;AAAA,MACZ;AAAA,MACA,SAAS;AAAA,QACP,gBAAgB;AAAA,MAClB;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEO,iBAAiB,CAAC,UAAwB;AAC/C,SAAK,SAAS,QAAQ;AAAA,EACxB;AAAA,EAEO,qBAAqB,OAAO,YAA+E;AAChH,UAAM,WAAW,MAAM,KAAK,eAAe,OAAO;AAClD,SAAK,eAAe,SAAS,KAAK,YAAY;AAC9C,WAAO;AAAA,EACT;AAAA,EAEO,sBAAsB,OAC3B,YACwD;AACxD,UAAM,EAAE,QAAQ,MAAM,IAAI,EAAE,GAAG,KAAK,UAAU,GAAG,QAAQ;AAEzD,QAAI,CAAC,OAAO;AACV,YAAM,IAAI,MAAM,oFAAoF;AAAA,IACtG;AAEA,WAAO,MAAM,KAAK,MAAM;AAAA,MACtB,WAAW,MAAM;AAAA,UACjB,mCAAU,EAAE,MAAM,CAAC;AAAA,MACnB;AAAA,QACE,SAAS;AAAA,UACP,gBAAgB;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;","names":["axios"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
import * as axios from 'axios';
|
|
2
2
|
import { AxiosResponse } from 'axios';
|
|
3
|
-
import { Origins, Locales } from '@blizzard-api/core';
|
|
3
|
+
import { Origins, Locales, ClientOptions, Resource, ResourceResponse } from '@blizzard-api/core';
|
|
4
4
|
|
|
5
|
-
interface ClientOptions {
|
|
6
|
-
key: string;
|
|
7
|
-
secret: string;
|
|
8
|
-
origin: Origins;
|
|
9
|
-
locale?: Locales;
|
|
10
|
-
token?: string;
|
|
11
|
-
}
|
|
12
5
|
interface AccessToken {
|
|
13
6
|
access_token: string;
|
|
14
7
|
token_type: 'bearer';
|
|
@@ -38,6 +31,7 @@ interface IBlizzardApiClient {
|
|
|
38
31
|
refreshAccessToken: (options: AccessTokenRequestArguments) => Promise<AxiosResponse<AccessToken>>;
|
|
39
32
|
validateAccessToken: (options: ValidateAccessTokenArguments) => Promise<AxiosResponse<ValidateAccessTokenResponse>>;
|
|
40
33
|
}
|
|
34
|
+
|
|
41
35
|
declare class BlizzardApiClient implements IBlizzardApiClient {
|
|
42
36
|
defaults: {
|
|
43
37
|
key: string;
|
|
@@ -48,10 +42,22 @@ declare class BlizzardApiClient implements IBlizzardApiClient {
|
|
|
48
42
|
};
|
|
49
43
|
constructor(options: ClientOptions);
|
|
50
44
|
axios: axios.AxiosInstance;
|
|
45
|
+
getRequestUrl<T = unknown>(resource: Resource<T>, options?: Partial<ClientOptions>): string;
|
|
46
|
+
getRequestConfig<T = unknown>(resource: Resource<T>, options?: Partial<ClientOptions>, headers?: Record<string, string>): {
|
|
47
|
+
headers: {
|
|
48
|
+
'Content-Type': string;
|
|
49
|
+
Authorization: string;
|
|
50
|
+
'Battlenet-Namespace'?: string | undefined;
|
|
51
|
+
};
|
|
52
|
+
params: {
|
|
53
|
+
locale: "en_US" | "es_MX" | "pt_BR" | "en_GB" | "es_ES" | "fr_FR" | "ru_RU" | "de_DE" | "pt_PT" | "it_IT" | "ko_KR" | "zh_TW" | "multi";
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
sendRequest<T = unknown>(resource: Resource<T>, options?: Partial<ClientOptions> & T, headers?: Record<string, string>): ResourceResponse<AxiosResponse<T>>;
|
|
51
57
|
getAccessToken: (options?: AccessTokenRequestArguments) => Promise<AxiosResponse<AccessToken>>;
|
|
52
58
|
setAccessToken: (token: string) => void;
|
|
53
59
|
refreshAccessToken: (options?: AccessTokenRequestArguments) => Promise<AxiosResponse<AccessToken>>;
|
|
54
60
|
validateAccessToken: (options?: ValidateAccessTokenArguments) => Promise<AxiosResponse<ValidateAccessTokenResponse>>;
|
|
55
61
|
}
|
|
56
62
|
|
|
57
|
-
export { BlizzardApiClient
|
|
63
|
+
export { BlizzardApiClient };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
import * as axios from 'axios';
|
|
2
2
|
import { AxiosResponse } from 'axios';
|
|
3
|
-
import { Origins, Locales } from '@blizzard-api/core';
|
|
3
|
+
import { Origins, Locales, ClientOptions, Resource, ResourceResponse } from '@blizzard-api/core';
|
|
4
4
|
|
|
5
|
-
interface ClientOptions {
|
|
6
|
-
key: string;
|
|
7
|
-
secret: string;
|
|
8
|
-
origin: Origins;
|
|
9
|
-
locale?: Locales;
|
|
10
|
-
token?: string;
|
|
11
|
-
}
|
|
12
5
|
interface AccessToken {
|
|
13
6
|
access_token: string;
|
|
14
7
|
token_type: 'bearer';
|
|
@@ -38,6 +31,7 @@ interface IBlizzardApiClient {
|
|
|
38
31
|
refreshAccessToken: (options: AccessTokenRequestArguments) => Promise<AxiosResponse<AccessToken>>;
|
|
39
32
|
validateAccessToken: (options: ValidateAccessTokenArguments) => Promise<AxiosResponse<ValidateAccessTokenResponse>>;
|
|
40
33
|
}
|
|
34
|
+
|
|
41
35
|
declare class BlizzardApiClient implements IBlizzardApiClient {
|
|
42
36
|
defaults: {
|
|
43
37
|
key: string;
|
|
@@ -48,10 +42,22 @@ declare class BlizzardApiClient implements IBlizzardApiClient {
|
|
|
48
42
|
};
|
|
49
43
|
constructor(options: ClientOptions);
|
|
50
44
|
axios: axios.AxiosInstance;
|
|
45
|
+
getRequestUrl<T = unknown>(resource: Resource<T>, options?: Partial<ClientOptions>): string;
|
|
46
|
+
getRequestConfig<T = unknown>(resource: Resource<T>, options?: Partial<ClientOptions>, headers?: Record<string, string>): {
|
|
47
|
+
headers: {
|
|
48
|
+
'Content-Type': string;
|
|
49
|
+
Authorization: string;
|
|
50
|
+
'Battlenet-Namespace'?: string | undefined;
|
|
51
|
+
};
|
|
52
|
+
params: {
|
|
53
|
+
locale: "en_US" | "es_MX" | "pt_BR" | "en_GB" | "es_ES" | "fr_FR" | "ru_RU" | "de_DE" | "pt_PT" | "it_IT" | "ko_KR" | "zh_TW" | "multi";
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
sendRequest<T = unknown>(resource: Resource<T>, options?: Partial<ClientOptions> & T, headers?: Record<string, string>): ResourceResponse<AxiosResponse<T>>;
|
|
51
57
|
getAccessToken: (options?: AccessTokenRequestArguments) => Promise<AxiosResponse<AccessToken>>;
|
|
52
58
|
setAccessToken: (token: string) => void;
|
|
53
59
|
refreshAccessToken: (options?: AccessTokenRequestArguments) => Promise<AxiosResponse<AccessToken>>;
|
|
54
60
|
validateAccessToken: (options?: ValidateAccessTokenArguments) => Promise<AxiosResponse<ValidateAccessTokenResponse>>;
|
|
55
61
|
}
|
|
56
62
|
|
|
57
|
-
export { BlizzardApiClient
|
|
63
|
+
export { BlizzardApiClient };
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// src/client.ts
|
|
1
|
+
// src/client/index.ts
|
|
2
2
|
import { stringify } from "querystring";
|
|
3
3
|
import { getEndpoint } from "@blizzard-api/core";
|
|
4
4
|
import axios from "axios";
|
|
@@ -15,6 +15,34 @@ var BlizzardApiClient = class {
|
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
axios = axios.create();
|
|
18
|
+
getRequestUrl(resource, options) {
|
|
19
|
+
const config = { ...this.defaults, ...options };
|
|
20
|
+
const endpoint = getEndpoint(config.origin, config.locale);
|
|
21
|
+
const backslashSeparator = resource.path.startsWith("/") ? "" : "/";
|
|
22
|
+
return `${endpoint.hostname}${backslashSeparator}${resource.path}`;
|
|
23
|
+
}
|
|
24
|
+
getRequestConfig(resource, options, headers) {
|
|
25
|
+
const config = { ...this.defaults, ...options };
|
|
26
|
+
const endpoint = getEndpoint(config.origin, config.locale);
|
|
27
|
+
const namespace = resource.namespace ? { "Battlenet-Namespace": `${resource.namespace}-${endpoint.origin}` } : void 0;
|
|
28
|
+
return {
|
|
29
|
+
headers: {
|
|
30
|
+
...headers,
|
|
31
|
+
...namespace,
|
|
32
|
+
"Content-Type": "application/json",
|
|
33
|
+
Authorization: `Bearer ${config.token}`
|
|
34
|
+
},
|
|
35
|
+
params: {
|
|
36
|
+
...resource.params,
|
|
37
|
+
locale: endpoint.locale
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
sendRequest(resource, options, headers) {
|
|
42
|
+
const url = this.getRequestUrl(resource, options);
|
|
43
|
+
const config = this.getRequestConfig(resource, options, headers);
|
|
44
|
+
return this.axios.get(url, config);
|
|
45
|
+
}
|
|
18
46
|
getAccessToken = async (options) => {
|
|
19
47
|
const { key, secret, origin } = { ...this.defaults, ...options };
|
|
20
48
|
return this.axios.post(`https://${origin}.battle.net/oauth/token`, void 0, {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/client.ts"],"sourcesContent":["import { stringify } from 'node:querystring';\r\nimport { getEndpoint } from '@blizzard-api/core';\r\nimport type { Origins, Locales } from '@blizzard-api/core';\r\nimport type { AxiosResponse } from 'axios';\r\nimport axios from 'axios';\r\
|
|
1
|
+
{"version":3,"sources":["../src/client/index.ts"],"sourcesContent":["import { stringify } from 'node:querystring';\r\nimport { getEndpoint } from '@blizzard-api/core';\r\nimport type { Origins, Locales, ClientOptions, ResourceResponse, Resource } from '@blizzard-api/core';\r\nimport type { AxiosResponse } from 'axios';\r\nimport axios from 'axios';\r\nimport type {\r\n AccessToken,\r\n AccessTokenRequestArguments,\r\n IBlizzardApiClient,\r\n ValidateAccessTokenArguments,\r\n ValidateAccessTokenResponse,\r\n} from './types';\r\n\r\nexport class BlizzardApiClient implements IBlizzardApiClient {\r\n public defaults: {\r\n key: string;\r\n secret: string;\r\n origin: Origins;\r\n locale: Locales;\r\n token?: string;\r\n };\r\n\r\n constructor(options: ClientOptions) {\r\n const { origin, locale } = getEndpoint(options.origin, options.locale);\r\n this.defaults = {\r\n key: options.key,\r\n secret: options.secret,\r\n token: options.token,\r\n origin: origin,\r\n locale: locale,\r\n };\r\n }\r\n\r\n public axios = axios.create();\r\n\r\n public getRequestUrl<T = unknown>(resource: Resource<T>, options?: Partial<ClientOptions>) {\r\n const config = { ...this.defaults, ...options };\r\n const endpoint = getEndpoint(config.origin, config.locale);\r\n\r\n const backslashSeparator = resource.path.startsWith('/') ? '' : '/';\r\n\r\n return `${endpoint.hostname}${backslashSeparator}${resource.path}`;\r\n }\r\n\r\n public getRequestConfig<T = unknown>(\r\n resource: Resource<T>,\r\n options?: Partial<ClientOptions>,\r\n headers?: Record<string, string>,\r\n ) {\r\n const config = { ...this.defaults, ...options };\r\n const endpoint = getEndpoint(config.origin, config.locale);\r\n\r\n const namespace = resource.namespace\r\n ? { 'Battlenet-Namespace': `${resource.namespace}-${endpoint.origin}` }\r\n : undefined;\r\n\r\n return {\r\n headers: {\r\n ...headers,\r\n ...namespace,\r\n 'Content-Type': 'application/json',\r\n Authorization: `Bearer ${config.token}`,\r\n },\r\n params: {\r\n ...resource.params,\r\n locale: endpoint.locale,\r\n },\r\n };\r\n }\r\n\r\n public sendRequest<T = unknown>(\r\n resource: Resource<T>,\r\n options?: Partial<ClientOptions> & T,\r\n headers?: Record<string, string>,\r\n ): ResourceResponse<AxiosResponse<T>> {\r\n const url = this.getRequestUrl(resource, options);\r\n const config = this.getRequestConfig(resource, options, headers);\r\n\r\n return this.axios.get<T>(url, config);\r\n }\r\n\r\n public getAccessToken = async (options?: AccessTokenRequestArguments): Promise<AxiosResponse<AccessToken>> => {\r\n const { key, secret, origin } = { ...this.defaults, ...options };\r\n return this.axios.post<AccessToken>(`https://${origin}.battle.net/oauth/token`, undefined, {\r\n params: {\r\n grant_type: 'client_credentials',\r\n },\r\n auth: {\r\n username: key,\r\n password: secret,\r\n },\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n });\r\n };\r\n\r\n public setAccessToken = (token: string): void => {\r\n this.defaults.token = token;\r\n };\r\n\r\n public refreshAccessToken = async (options?: AccessTokenRequestArguments): Promise<AxiosResponse<AccessToken>> => {\r\n const response = await this.getAccessToken(options);\r\n this.setAccessToken(response.data.access_token);\r\n return response;\r\n };\r\n\r\n public validateAccessToken = async (\r\n options?: ValidateAccessTokenArguments,\r\n ): Promise<AxiosResponse<ValidateAccessTokenResponse>> => {\r\n const { origin, token } = { ...this.defaults, ...options };\r\n\r\n if (!token) {\r\n throw new Error('No token has been set previously or been passed to the validateAccessToken method.');\r\n }\r\n\r\n return await this.axios.post<ValidateAccessTokenResponse>(\r\n `https://${origin}.battle.net/oauth/check_token`,\r\n stringify({ token }),\r\n {\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded',\r\n },\r\n },\r\n );\r\n };\r\n}\r\n"],"mappings":";AAAA,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAG5B,OAAO,WAAW;AASX,IAAM,oBAAN,MAAsD;AAAA,EACpD;AAAA,EAQP,YAAY,SAAwB;AAClC,UAAM,EAAE,QAAQ,OAAO,IAAI,YAAY,QAAQ,QAAQ,QAAQ,MAAM;AACrE,SAAK,WAAW;AAAA,MACd,KAAK,QAAQ;AAAA,MACb,QAAQ,QAAQ;AAAA,MAChB,OAAO,QAAQ;AAAA,MACf;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAEO,QAAQ,MAAM,OAAO;AAAA,EAErB,cAA2B,UAAuB,SAAkC;AACzF,UAAM,SAAS,EAAE,GAAG,KAAK,UAAU,GAAG,QAAQ;AAC9C,UAAM,WAAW,YAAY,OAAO,QAAQ,OAAO,MAAM;AAEzD,UAAM,qBAAqB,SAAS,KAAK,WAAW,GAAG,IAAI,KAAK;AAEhE,WAAO,GAAG,SAAS,QAAQ,GAAG,kBAAkB,GAAG,SAAS,IAAI;AAAA,EAClE;AAAA,EAEO,iBACL,UACA,SACA,SACA;AACA,UAAM,SAAS,EAAE,GAAG,KAAK,UAAU,GAAG,QAAQ;AAC9C,UAAM,WAAW,YAAY,OAAO,QAAQ,OAAO,MAAM;AAEzD,UAAM,YAAY,SAAS,YACvB,EAAE,uBAAuB,GAAG,SAAS,SAAS,IAAI,SAAS,MAAM,GAAG,IACpE;AAEJ,WAAO;AAAA,MACL,SAAS;AAAA,QACP,GAAG;AAAA,QACH,GAAG;AAAA,QACH,gBAAgB;AAAA,QAChB,eAAe,UAAU,OAAO,KAAK;AAAA,MACvC;AAAA,MACA,QAAQ;AAAA,QACN,GAAG,SAAS;AAAA,QACZ,QAAQ,SAAS;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAAA,EAEO,YACL,UACA,SACA,SACoC;AACpC,UAAM,MAAM,KAAK,cAAc,UAAU,OAAO;AAChD,UAAM,SAAS,KAAK,iBAAiB,UAAU,SAAS,OAAO;AAE/D,WAAO,KAAK,MAAM,IAAO,KAAK,MAAM;AAAA,EACtC;AAAA,EAEO,iBAAiB,OAAO,YAA+E;AAC5G,UAAM,EAAE,KAAK,QAAQ,OAAO,IAAI,EAAE,GAAG,KAAK,UAAU,GAAG,QAAQ;AAC/D,WAAO,KAAK,MAAM,KAAkB,WAAW,MAAM,2BAA2B,QAAW;AAAA,MACzF,QAAQ;AAAA,QACN,YAAY;AAAA,MACd;AAAA,MACA,MAAM;AAAA,QACJ,UAAU;AAAA,QACV,UAAU;AAAA,MACZ;AAAA,MACA,SAAS;AAAA,QACP,gBAAgB;AAAA,MAClB;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEO,iBAAiB,CAAC,UAAwB;AAC/C,SAAK,SAAS,QAAQ;AAAA,EACxB;AAAA,EAEO,qBAAqB,OAAO,YAA+E;AAChH,UAAM,WAAW,MAAM,KAAK,eAAe,OAAO;AAClD,SAAK,eAAe,SAAS,KAAK,YAAY;AAC9C,WAAO;AAAA,EACT;AAAA,EAEO,sBAAsB,OAC3B,YACwD;AACxD,UAAM,EAAE,QAAQ,MAAM,IAAI,EAAE,GAAG,KAAK,UAAU,GAAG,QAAQ;AAEzD,QAAI,CAAC,OAAO;AACV,YAAM,IAAI,MAAM,oFAAoF;AAAA,IACtG;AAEA,WAAO,MAAM,KAAK,MAAM;AAAA,MACtB,WAAW,MAAM;AAAA,MACjB,UAAU,EAAE,MAAM,CAAC;AAAA,MACnB;AAAA,QACE,SAAS;AAAA,UACP,gBAAgB;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blizzard-api/client",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Putro",
|
|
6
6
|
"description": "A node.js axios client to integrate with the blizzard battle.net api.",
|
|
@@ -44,9 +44,15 @@
|
|
|
44
44
|
"overwatch"
|
|
45
45
|
],
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@blizzard-api/core": "^0.0.1",
|
|
48
47
|
"axios": "1.6.8"
|
|
49
48
|
},
|
|
49
|
+
"peerDependencies": {
|
|
50
|
+
"@blizzard-api/core": "0.0.3"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@blizzard-api/core": "0.0.3",
|
|
54
|
+
"@blizzard-api/wow": "0.0.1"
|
|
55
|
+
},
|
|
50
56
|
"scripts": {
|
|
51
57
|
"build": "tsup",
|
|
52
58
|
"debv": "tsup --watch",
|