curseforge-js 1.0.0 → 1.1.1
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/README.md +7 -1
- package/dist/client/curseforge.d.ts +2 -0
- package/dist/client/curseforge.d.ts.map +1 -1
- package/dist/client/curseforge.js +3 -0
- package/dist/client/curseforge.js.map +1 -1
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/users.d.ts +13 -0
- package/dist/client/users.d.ts.map +1 -0
- package/dist/client/users.js +16 -0
- package/dist/client/users.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/types/games.d.ts +54 -5
- package/dist/types/games.d.ts.map +1 -1
- package/dist/types/games.js +45 -0
- package/dist/types/games.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/users.d.ts +14 -0
- package/dist/types/users.d.ts.map +1 -0
- package/dist/types/users.js +2 -0
- package/dist/types/users.js.map +1 -0
- package/dist/utils/avatar.d.ts +9 -0
- package/dist/utils/avatar.d.ts.map +1 -0
- package/dist/utils/avatar.js +12 -0
- package/dist/utils/avatar.js.map +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# curseforge-js
|
|
2
2
|
|
|
3
|
-
A framework-agnostic JavaScript client for the [CurseForge API](https://docs.curseforge.com).
|
|
3
|
+
A framework-agnostic fully typed JavaScript client for the [CurseForge API](https://docs.curseforge.com/rest-api/).
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/curseforge-js)
|
|
6
6
|
[](https://www.npmjs.com/package/curseforge-js)
|
|
@@ -10,6 +10,9 @@ A framework-agnostic JavaScript client for the [CurseForge API](https://docs.cur
|
|
|
10
10
|
[](https://github.com/creeperkatze/curseforge-js/pulls)
|
|
11
11
|
[](https://github.com/creeperkatze/curseforge-js/stargazers)
|
|
12
12
|
|
|
13
|
+
[📚 Docs](https://curseforge-js.creeperkatze.dev/) •
|
|
14
|
+
[🚀 Getting Started](https://curseforge-js.creeperkatze.dev/guide/getting-started) •
|
|
15
|
+
[📖 API Reference](https://curseforge-js.creeperkatze.dev/api) •
|
|
13
16
|
[📝 Changelog](https://github.com/creeperkatze/curseforge-js/releases)
|
|
14
17
|
|
|
15
18
|
## 📦 Installation
|
|
@@ -99,6 +102,9 @@ Fingerprints:
|
|
|
99
102
|
- `client.fingerprints.getMatches(fingerprints, gameId?)`
|
|
100
103
|
- `client.fingerprints.getFuzzyMatches(fingerprints, gameId?)`
|
|
101
104
|
|
|
105
|
+
Users:
|
|
106
|
+
- `client.users.get(userId)`
|
|
107
|
+
|
|
102
108
|
## 🔐 Authentication
|
|
103
109
|
|
|
104
110
|
Get an API key from [console.curseforge.com](https://console.curseforge.com/), then pass it at client creation time. It is sent as the `x-api-key` header on every request.
|
|
@@ -4,6 +4,7 @@ import { FingerprintsApi } from './fingerprints.js';
|
|
|
4
4
|
import { GamesApi } from './games.js';
|
|
5
5
|
import { MinecraftApi } from './minecraft.js';
|
|
6
6
|
import { ModsApi } from './mods.js';
|
|
7
|
+
import { UsersApi } from './users.js';
|
|
7
8
|
import type { CurseForgeClientOptions } from '../types/base.js';
|
|
8
9
|
/**
|
|
9
10
|
* Client for the CurseForge API.
|
|
@@ -22,6 +23,7 @@ export declare class CurseForgeClient {
|
|
|
22
23
|
readonly games: GamesApi;
|
|
23
24
|
readonly minecraft: MinecraftApi;
|
|
24
25
|
readonly mods: ModsApi;
|
|
26
|
+
readonly users: UsersApi;
|
|
25
27
|
constructor(options?: CurseForgeClientOptions);
|
|
26
28
|
}
|
|
27
29
|
//# sourceMappingURL=curseforge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"curseforge.d.ts","sourceRoot":"","sources":["../../src/client/curseforge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhE;;;;;;;;GAQG;AACH,qBAAa,gBAAgB;;IAG3B,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"curseforge.d.ts","sourceRoot":"","sources":["../../src/client/curseforge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhE;;;;;;;;GAQG;AACH,qBAAa,gBAAgB;;IAG3B,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAEb,OAAO,GAAE,uBAA4B;CAWlD"}
|
|
@@ -5,6 +5,7 @@ import { FingerprintsApi } from './fingerprints.js';
|
|
|
5
5
|
import { GamesApi } from './games.js';
|
|
6
6
|
import { MinecraftApi } from './minecraft.js';
|
|
7
7
|
import { ModsApi } from './mods.js';
|
|
8
|
+
import { UsersApi } from './users.js';
|
|
8
9
|
/**
|
|
9
10
|
* Client for the CurseForge API.
|
|
10
11
|
* @example
|
|
@@ -22,6 +23,7 @@ export class CurseForgeClient {
|
|
|
22
23
|
games;
|
|
23
24
|
minecraft;
|
|
24
25
|
mods;
|
|
26
|
+
users;
|
|
25
27
|
constructor(options = {}) {
|
|
26
28
|
this.#core = new CurseForgeClientCore(options);
|
|
27
29
|
this.categories = new CategoriesApi(this.#core);
|
|
@@ -30,6 +32,7 @@ export class CurseForgeClient {
|
|
|
30
32
|
this.games = new GamesApi(this.#core);
|
|
31
33
|
this.minecraft = new MinecraftApi(this.#core);
|
|
32
34
|
this.mods = new ModsApi(this.#core);
|
|
35
|
+
this.users = new UsersApi(this.#core);
|
|
33
36
|
}
|
|
34
37
|
}
|
|
35
38
|
//# sourceMappingURL=curseforge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"curseforge.js","sourceRoot":"","sources":["../../src/client/curseforge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"curseforge.js","sourceRoot":"","sources":["../../src/client/curseforge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC;;;;;;;;GAQG;AACH,MAAM,OAAO,gBAAgB;IAClB,KAAK,CAAuB;IAE5B,UAAU,CAAgB;IAC1B,KAAK,CAAW;IAChB,YAAY,CAAkB;IAC9B,KAAK,CAAW;IAChB,SAAS,CAAe;IACxB,IAAI,CAAU;IACd,KAAK,CAAW;IAEzB,YAAY,UAAmC,EAAE;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE/C,IAAI,CAAC,UAAU,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;CACF"}
|
package/dist/client/index.d.ts
CHANGED
|
@@ -5,5 +5,6 @@ export { FingerprintsApi } from './fingerprints.js';
|
|
|
5
5
|
export { GamesApi } from './games.js';
|
|
6
6
|
export { MinecraftApi } from './minecraft.js';
|
|
7
7
|
export { ModsApi } from './mods.js';
|
|
8
|
+
export { UsersApi } from './users.js';
|
|
8
9
|
export { CurseForgeClient } from './curseforge.js';
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/client/index.js
CHANGED
|
@@ -5,5 +5,6 @@ export { FingerprintsApi } from './fingerprints.js';
|
|
|
5
5
|
export { GamesApi } from './games.js';
|
|
6
6
|
export { MinecraftApi } from './minecraft.js';
|
|
7
7
|
export { ModsApi } from './mods.js';
|
|
8
|
+
export { UsersApi } from './users.js';
|
|
8
9
|
export { CurseForgeClient } from './curseforge.js';
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CurseForgeClientCore } from './core.js';
|
|
2
|
+
import type { User } from '../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* API namespace for users.
|
|
5
|
+
* @remarks This endpoint is not part of CurseForge's published API reference, see {@link User}.
|
|
6
|
+
*/
|
|
7
|
+
export declare class UsersApi {
|
|
8
|
+
private readonly core;
|
|
9
|
+
constructor(core: CurseForgeClientCore);
|
|
10
|
+
/** Returns a single user by id. */
|
|
11
|
+
get(userId: number): Promise<User>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=users.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/client/users.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAG9C;;;GAGG;AACH,qBAAa,QAAQ;IACP,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,oBAAoB;IAEvD,mCAAmC;IAC7B,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIzC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API namespace for users.
|
|
3
|
+
* @remarks This endpoint is not part of CurseForge's published API reference, see {@link User}.
|
|
4
|
+
*/
|
|
5
|
+
export class UsersApi {
|
|
6
|
+
core;
|
|
7
|
+
constructor(core) {
|
|
8
|
+
this.core = core;
|
|
9
|
+
}
|
|
10
|
+
/** Returns a single user by id. */
|
|
11
|
+
async get(userId) {
|
|
12
|
+
const response = await this.core.requestJson(`v1/users/${userId}`);
|
|
13
|
+
return response.data;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=users.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/client/users.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,OAAO,QAAQ;IACU;IAA7B,YAA6B,IAA0B;QAA1B,SAAI,GAAJ,IAAI,CAAsB;IAAG,CAAC;IAE3D,mCAAmC;IACnC,KAAK,CAAC,GAAG,CAAC,MAAc;QACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAA2B,YAAY,MAAM,EAAE,CAAC,CAAC;QAC7F,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/types/games.d.ts
CHANGED
|
@@ -26,9 +26,13 @@ export declare enum GameVersionTypeStatus {
|
|
|
26
26
|
}
|
|
27
27
|
/** Icon, tile and cover art for a game. */
|
|
28
28
|
export interface GameAssets {
|
|
29
|
-
iconUrl: string;
|
|
30
|
-
tileUrl: string;
|
|
31
|
-
coverUrl: string;
|
|
29
|
+
iconUrl: string | null;
|
|
30
|
+
tileUrl: string | null;
|
|
31
|
+
coverUrl: string | null;
|
|
32
|
+
}
|
|
33
|
+
/** Feature flags describing what a game supports. */
|
|
34
|
+
export interface GameSupportedFeatures {
|
|
35
|
+
supportModSubscriptions: boolean;
|
|
32
36
|
}
|
|
33
37
|
/** A game available on CurseForge. */
|
|
34
38
|
export interface Game {
|
|
@@ -39,6 +43,7 @@ export interface Game {
|
|
|
39
43
|
assets: GameAssets;
|
|
40
44
|
status: CoreStatus;
|
|
41
45
|
apiStatus: CoreApiStatus;
|
|
46
|
+
supportedFeatures: GameSupportedFeatures;
|
|
42
47
|
}
|
|
43
48
|
/** A single named/sluggable version of a game (used by the v2 versions endpoint). */
|
|
44
49
|
export interface GameVersion {
|
|
@@ -46,12 +51,12 @@ export interface GameVersion {
|
|
|
46
51
|
slug: string;
|
|
47
52
|
name: string;
|
|
48
53
|
}
|
|
49
|
-
/** Game versions grouped by version type (v1 form
|
|
54
|
+
/** Game versions grouped by version type (v1 form, plain version strings). */
|
|
50
55
|
export interface GameVersionsByType {
|
|
51
56
|
type: number;
|
|
52
57
|
versions: string[];
|
|
53
58
|
}
|
|
54
|
-
/** Game versions grouped by version type (v2 form
|
|
59
|
+
/** Game versions grouped by version type (v2 form, full version objects). */
|
|
55
60
|
export interface GameVersionsByType2 {
|
|
56
61
|
type: number;
|
|
57
62
|
versions: GameVersion[];
|
|
@@ -67,4 +72,48 @@ export interface GameVersionType {
|
|
|
67
72
|
}
|
|
68
73
|
/** Query parameters for {@link GamesApi.list}. */
|
|
69
74
|
export type GetGamesOptions = PaginationOptions;
|
|
75
|
+
/**
|
|
76
|
+
* Game ids on CurseForge, as returned by {@link GamesApi.list}.
|
|
77
|
+
* @remarks Not part of the CurseForge API contract, games are added over time and this list can go stale. Use {@link GamesApi.list} for the authoritative, current list.
|
|
78
|
+
*/
|
|
79
|
+
export declare enum GameId {
|
|
80
|
+
WorldOfWarcraft = 1,
|
|
81
|
+
TheSecretWorld = 64,
|
|
82
|
+
StarCraftII = 65,
|
|
83
|
+
RunesOfMagic = 335,
|
|
84
|
+
WorldOfTanks = 423,
|
|
85
|
+
Rift = 424,
|
|
86
|
+
Terraria = 431,
|
|
87
|
+
Minecraft = 432,
|
|
88
|
+
WildStar = 454,
|
|
89
|
+
TheElderScrollsOnline = 455,
|
|
90
|
+
DarkestDungeon = 608,
|
|
91
|
+
StardewValley = 669,
|
|
92
|
+
SidMeiersCivilizationVI = 727,
|
|
93
|
+
KerbalSpaceProgram = 4401,
|
|
94
|
+
SecretWorldLegends = 4455,
|
|
95
|
+
FinalFantasyIV = 4741,
|
|
96
|
+
FinalFantasyVI = 4773,
|
|
97
|
+
FinalFantasyII = 5001,
|
|
98
|
+
FinalFantasyV = 5021,
|
|
99
|
+
FinalFantasyIII = 5026,
|
|
100
|
+
FinalFantasyI = 5230,
|
|
101
|
+
SurvivingMars = 61489,
|
|
102
|
+
MinecraftDungeons = 69271,
|
|
103
|
+
AmongUs = 69761,
|
|
104
|
+
Hytale = 70216,
|
|
105
|
+
ChroniclesOfArcadia = 70667,
|
|
106
|
+
MinecraftBedrock = 78022,
|
|
107
|
+
TheSims4 = 78062,
|
|
108
|
+
Demeo = 78135,
|
|
109
|
+
ArkSurvivalAscended = 83374,
|
|
110
|
+
RushdownRevolt = 84062,
|
|
111
|
+
TennisElbow4 = 84137,
|
|
112
|
+
Palworld = 85196,
|
|
113
|
+
Helldivers2 = 85440,
|
|
114
|
+
HogwartsLegacy = 87986,
|
|
115
|
+
InZoi = 88849,
|
|
116
|
+
Windrose = 99078,
|
|
117
|
+
Subnautica2 = 99704
|
|
118
|
+
}
|
|
70
119
|
//# sourceMappingURL=games.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"games.d.ts","sourceRoot":"","sources":["../../src/types/games.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnD,2EAA2E;AAC3E,oBAAY,UAAU;IACpB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,aAAa,IAAI;IACjB,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,IAAI,IAAI;CACT;AAED,kCAAkC;AAClC,oBAAY,aAAa;IACvB,OAAO,IAAI;IACX,MAAM,IAAI;CACX;AAED,yCAAyC;AACzC,oBAAY,iBAAiB;IAC3B,QAAQ,IAAI;IACZ,OAAO,IAAI;IACX,GAAG,IAAI;CACR;AAED,qCAAqC;AACrC,oBAAY,qBAAqB;IAC/B,MAAM,IAAI;IACV,OAAO,IAAI;CACZ;AAED,2CAA2C;AAC3C,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"games.d.ts","sourceRoot":"","sources":["../../src/types/games.ts"],"names":[],"mappings":"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"}
|
package/dist/types/games.js
CHANGED
|
@@ -27,4 +27,49 @@ export var GameVersionTypeStatus;
|
|
|
27
27
|
GameVersionTypeStatus[GameVersionTypeStatus["Normal"] = 1] = "Normal";
|
|
28
28
|
GameVersionTypeStatus[GameVersionTypeStatus["Deleted"] = 2] = "Deleted";
|
|
29
29
|
})(GameVersionTypeStatus || (GameVersionTypeStatus = {}));
|
|
30
|
+
/**
|
|
31
|
+
* Game ids on CurseForge, as returned by {@link GamesApi.list}.
|
|
32
|
+
* @remarks Not part of the CurseForge API contract, games are added over time and this list can go stale. Use {@link GamesApi.list} for the authoritative, current list.
|
|
33
|
+
*/
|
|
34
|
+
export var GameId;
|
|
35
|
+
(function (GameId) {
|
|
36
|
+
GameId[GameId["WorldOfWarcraft"] = 1] = "WorldOfWarcraft";
|
|
37
|
+
GameId[GameId["TheSecretWorld"] = 64] = "TheSecretWorld";
|
|
38
|
+
GameId[GameId["StarCraftII"] = 65] = "StarCraftII";
|
|
39
|
+
GameId[GameId["RunesOfMagic"] = 335] = "RunesOfMagic";
|
|
40
|
+
GameId[GameId["WorldOfTanks"] = 423] = "WorldOfTanks";
|
|
41
|
+
GameId[GameId["Rift"] = 424] = "Rift";
|
|
42
|
+
GameId[GameId["Terraria"] = 431] = "Terraria";
|
|
43
|
+
GameId[GameId["Minecraft"] = 432] = "Minecraft";
|
|
44
|
+
GameId[GameId["WildStar"] = 454] = "WildStar";
|
|
45
|
+
GameId[GameId["TheElderScrollsOnline"] = 455] = "TheElderScrollsOnline";
|
|
46
|
+
GameId[GameId["DarkestDungeon"] = 608] = "DarkestDungeon";
|
|
47
|
+
GameId[GameId["StardewValley"] = 669] = "StardewValley";
|
|
48
|
+
GameId[GameId["SidMeiersCivilizationVI"] = 727] = "SidMeiersCivilizationVI";
|
|
49
|
+
GameId[GameId["KerbalSpaceProgram"] = 4401] = "KerbalSpaceProgram";
|
|
50
|
+
GameId[GameId["SecretWorldLegends"] = 4455] = "SecretWorldLegends";
|
|
51
|
+
GameId[GameId["FinalFantasyIV"] = 4741] = "FinalFantasyIV";
|
|
52
|
+
GameId[GameId["FinalFantasyVI"] = 4773] = "FinalFantasyVI";
|
|
53
|
+
GameId[GameId["FinalFantasyII"] = 5001] = "FinalFantasyII";
|
|
54
|
+
GameId[GameId["FinalFantasyV"] = 5021] = "FinalFantasyV";
|
|
55
|
+
GameId[GameId["FinalFantasyIII"] = 5026] = "FinalFantasyIII";
|
|
56
|
+
GameId[GameId["FinalFantasyI"] = 5230] = "FinalFantasyI";
|
|
57
|
+
GameId[GameId["SurvivingMars"] = 61489] = "SurvivingMars";
|
|
58
|
+
GameId[GameId["MinecraftDungeons"] = 69271] = "MinecraftDungeons";
|
|
59
|
+
GameId[GameId["AmongUs"] = 69761] = "AmongUs";
|
|
60
|
+
GameId[GameId["Hytale"] = 70216] = "Hytale";
|
|
61
|
+
GameId[GameId["ChroniclesOfArcadia"] = 70667] = "ChroniclesOfArcadia";
|
|
62
|
+
GameId[GameId["MinecraftBedrock"] = 78022] = "MinecraftBedrock";
|
|
63
|
+
GameId[GameId["TheSims4"] = 78062] = "TheSims4";
|
|
64
|
+
GameId[GameId["Demeo"] = 78135] = "Demeo";
|
|
65
|
+
GameId[GameId["ArkSurvivalAscended"] = 83374] = "ArkSurvivalAscended";
|
|
66
|
+
GameId[GameId["RushdownRevolt"] = 84062] = "RushdownRevolt";
|
|
67
|
+
GameId[GameId["TennisElbow4"] = 84137] = "TennisElbow4";
|
|
68
|
+
GameId[GameId["Palworld"] = 85196] = "Palworld";
|
|
69
|
+
GameId[GameId["Helldivers2"] = 85440] = "Helldivers2";
|
|
70
|
+
GameId[GameId["HogwartsLegacy"] = 87986] = "HogwartsLegacy";
|
|
71
|
+
GameId[GameId["InZoi"] = 88849] = "InZoi";
|
|
72
|
+
GameId[GameId["Windrose"] = 99078] = "Windrose";
|
|
73
|
+
GameId[GameId["Subnautica2"] = 99704] = "Subnautica2";
|
|
74
|
+
})(GameId || (GameId = {}));
|
|
30
75
|
//# sourceMappingURL=games.js.map
|
package/dist/types/games.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"games.js","sourceRoot":"","sources":["../../src/types/games.ts"],"names":[],"mappings":"AAEA,2EAA2E;AAC3E,MAAM,CAAN,IAAY,UAOX;AAPD,WAAY,UAAU;IACpB,6CAAS,CAAA;IACT,2CAAQ,CAAA;IACR,6DAAiB,CAAA;IACjB,mDAAY,CAAA;IACZ,mDAAY,CAAA;IACZ,2CAAQ,CAAA;AACV,CAAC,EAPW,UAAU,KAAV,UAAU,QAOrB;AAED,kCAAkC;AAClC,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,uDAAW,CAAA;IACX,qDAAU,CAAA;AACZ,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED,yCAAyC;AACzC,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,iEAAY,CAAA;IACZ,+DAAW,CAAA;IACX,uDAAO,CAAA;AACT,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;AAED,qCAAqC;AACrC,MAAM,CAAN,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC/B,qEAAU,CAAA;IACV,uEAAW,CAAA;AACb,CAAC,EAHW,qBAAqB,KAArB,qBAAqB,QAGhC"}
|
|
1
|
+
{"version":3,"file":"games.js","sourceRoot":"","sources":["../../src/types/games.ts"],"names":[],"mappings":"AAEA,2EAA2E;AAC3E,MAAM,CAAN,IAAY,UAOX;AAPD,WAAY,UAAU;IACpB,6CAAS,CAAA;IACT,2CAAQ,CAAA;IACR,6DAAiB,CAAA;IACjB,mDAAY,CAAA;IACZ,mDAAY,CAAA;IACZ,2CAAQ,CAAA;AACV,CAAC,EAPW,UAAU,KAAV,UAAU,QAOrB;AAED,kCAAkC;AAClC,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,uDAAW,CAAA;IACX,qDAAU,CAAA;AACZ,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED,yCAAyC;AACzC,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,iEAAY,CAAA;IACZ,+DAAW,CAAA;IACX,uDAAO,CAAA;AACT,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;AAED,qCAAqC;AACrC,MAAM,CAAN,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC/B,qEAAU,CAAA;IACV,uEAAW,CAAA;AACb,CAAC,EAHW,qBAAqB,KAArB,qBAAqB,QAGhC;AA0DD;;;GAGG;AACH,MAAM,CAAN,IAAY,MAuCX;AAvCD,WAAY,MAAM;IAChB,yDAAmB,CAAA;IACnB,wDAAmB,CAAA;IACnB,kDAAgB,CAAA;IAChB,qDAAkB,CAAA;IAClB,qDAAkB,CAAA;IAClB,qCAAU,CAAA;IACV,6CAAc,CAAA;IACd,+CAAe,CAAA;IACf,6CAAc,CAAA;IACd,uEAA2B,CAAA;IAC3B,yDAAoB,CAAA;IACpB,uDAAmB,CAAA;IACnB,2EAA6B,CAAA;IAC7B,kEAAyB,CAAA;IACzB,kEAAyB,CAAA;IACzB,0DAAqB,CAAA;IACrB,0DAAqB,CAAA;IACrB,0DAAqB,CAAA;IACrB,wDAAoB,CAAA;IACpB,4DAAsB,CAAA;IACtB,wDAAoB,CAAA;IACpB,yDAAqB,CAAA;IACrB,iEAAyB,CAAA;IACzB,6CAAe,CAAA;IACf,2CAAc,CAAA;IACd,qEAA2B,CAAA;IAC3B,+DAAwB,CAAA;IACxB,+CAAgB,CAAA;IAChB,yCAAa,CAAA;IACb,qEAA2B,CAAA;IAC3B,2DAAsB,CAAA;IACtB,uDAAoB,CAAA;IACpB,+CAAgB,CAAA;IAChB,qDAAmB,CAAA;IACnB,2DAAsB,CAAA;IACtB,yCAAa,CAAA;IACb,+CAAgB,CAAA;IAChB,qDAAmB,CAAA;AACrB,CAAC,EAvCW,MAAM,KAAN,MAAM,QAuCjB"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
|
package/dist/types/index.js
CHANGED
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A CurseForge user.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* Undocumented; fields reflect observed usage, not a confirmed schema.
|
|
6
|
+
* `avatarUrl` is templated, pass it through {@link resolveAvatarUrl} before use.
|
|
7
|
+
*/
|
|
8
|
+
export interface User {
|
|
9
|
+
id: number;
|
|
10
|
+
displayName: string;
|
|
11
|
+
avatarUrl: string;
|
|
12
|
+
dateCreated: string;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=users.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/types/users.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/types/users.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves a {@link User.avatarUrl} template into a fetchable image URL by substituting its
|
|
3
|
+
* `{0}` size placeholder, a legacy artifact of CurseForge's Twitch-based avatar system.
|
|
4
|
+
* @param avatarUrl - The templated `avatarUrl` value from a {@link User}.
|
|
5
|
+
* @param size - Size token to substitute, e.g. `50x50`, `70x70`, `150x150`.
|
|
6
|
+
* @defaultValue size "300x300"
|
|
7
|
+
*/
|
|
8
|
+
export declare function resolveAvatarUrl(avatarUrl: string, size?: string): string;
|
|
9
|
+
//# sourceMappingURL=avatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../src/utils/avatar.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,MAA4B,GAAG,MAAM,CAE9F"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const DEFAULT_AVATAR_SIZE = '300x300';
|
|
2
|
+
/**
|
|
3
|
+
* Resolves a {@link User.avatarUrl} template into a fetchable image URL by substituting its
|
|
4
|
+
* `{0}` size placeholder, a legacy artifact of CurseForge's Twitch-based avatar system.
|
|
5
|
+
* @param avatarUrl - The templated `avatarUrl` value from a {@link User}.
|
|
6
|
+
* @param size - Size token to substitute, e.g. `50x50`, `70x70`, `150x150`.
|
|
7
|
+
* @defaultValue size "300x300"
|
|
8
|
+
*/
|
|
9
|
+
export function resolveAvatarUrl(avatarUrl, size = DEFAULT_AVATAR_SIZE) {
|
|
10
|
+
return avatarUrl.replace('{0}', size);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=avatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../src/utils/avatar.ts"],"names":[],"mappings":"AAAA,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB,EAAE,OAAe,mBAAmB;IACpF,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "curseforge-js",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.1.1",
|
|
4
|
+
"description": "A framework-agnostic fully typed JavaScript client for the CurseForge API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": {
|