dnf-api 0.5.22 → 0.6.0

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.
Files changed (60) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +313 -313
  3. package/bun.lockb +0 -0
  4. package/jest.config.js +12 -12
  5. package/package.json +37 -41
  6. package/src/api/auction.ts +67 -61
  7. package/src/api/characters.equip.ts +81 -53
  8. package/src/api/characters.skill.ts +52 -52
  9. package/src/api/characters.ts +91 -60
  10. package/src/api/index.ts +9 -9
  11. package/src/api/items.ts +27 -9
  12. package/src/api/server.ts +9 -9
  13. package/src/api/setitems.ts +34 -29
  14. package/src/index.ts +29 -18
  15. package/src/model/character.ts +51 -3
  16. package/src/model/index.ts +86 -62
  17. package/src/model/item.ts +74 -22
  18. package/src/model/setitem.ts +31 -31
  19. package/src/util/config.ts +20 -19
  20. package/src/util/index.ts +6 -6
  21. package/src/util/params.ts +14 -5
  22. package/src/util/query.ts +103 -109
  23. package/src/util/static.ts +51 -45
  24. package/dist/api/auction.d.ts +0 -24
  25. package/dist/api/auction.js +0 -58
  26. package/dist/api/characters.d.ts +0 -32
  27. package/dist/api/characters.equip.d.ts +0 -29
  28. package/dist/api/characters.equip.js +0 -51
  29. package/dist/api/characters.js +0 -58
  30. package/dist/api/characters.skill.d.ts +0 -29
  31. package/dist/api/characters.skill.js +0 -51
  32. package/dist/api/index.d.ts +0 -8
  33. package/dist/api/index.js +0 -23
  34. package/dist/api/items.d.ts +0 -15
  35. package/dist/api/items.js +0 -40
  36. package/dist/api/server.d.ts +0 -2
  37. package/dist/api/server.js +0 -9
  38. package/dist/api/setitems.d.ts +0 -15
  39. package/dist/api/setitems.js +0 -28
  40. package/dist/index.d.ts +0 -14
  41. package/dist/index.js +0 -35
  42. package/dist/model/character.d.ts +0 -41
  43. package/dist/model/character.js +0 -2
  44. package/dist/model/index.d.ts +0 -56
  45. package/dist/model/index.js +0 -15
  46. package/dist/model/item.d.ts +0 -45
  47. package/dist/model/item.js +0 -2
  48. package/dist/model/setitem.d.ts +0 -24
  49. package/dist/model/setitem.js +0 -2
  50. package/dist/util/config.d.ts +0 -11
  51. package/dist/util/config.js +0 -12
  52. package/dist/util/index.d.ts +0 -5
  53. package/dist/util/index.js +0 -20
  54. package/dist/util/params.d.ts +0 -67
  55. package/dist/util/params.js +0 -2
  56. package/dist/util/query.d.ts +0 -14
  57. package/dist/util/query.js +0 -132
  58. package/dist/util/static.d.ts +0 -44
  59. package/dist/util/static.js +0 -53
  60. package/src/index.tmp.js +0 -48
package/jest.config.js CHANGED
@@ -1,12 +1,12 @@
1
- module.exports = {
2
- transform: {
3
- "^.+\\.ts$": "ts-jest",
4
- },
5
- testRegex: "\\.test\\.ts$",
6
- moduleFileExtensions: ["ts", "js"],
7
- globals: {
8
- "ts-jest": {
9
- enableTsDiagnostics: true,
10
- },
11
- },
12
- };
1
+ module.exports = {
2
+ transform: {
3
+ "^.+\\.ts$": "ts-jest",
4
+ },
5
+ testRegex: "\\.test\\.ts$",
6
+ moduleFileExtensions: ["ts", "js"],
7
+ globals: {
8
+ "ts-jest": {
9
+ enableTsDiagnostics: true,
10
+ },
11
+ },
12
+ };
package/package.json CHANGED
@@ -1,41 +1,37 @@
1
- {
2
- "name": "dnf-api",
3
- "version": "0.5.22",
4
- "description": "던전 앤 파이터 API",
5
- "main": "./dist/index.js",
6
- "types": "./dist/index.d.ts",
7
- "dependencies": {
8
- "@types/jest": "^24.0.15",
9
- "@types/node": "^12.0.12",
10
- "axios": "^0.18.0",
11
- "consola": "^2.9.0",
12
- "querystring": "^0.2.0",
13
- "urlencode": "^1.1.0"
14
- },
15
- "devDependencies": {
16
- "nodemon": "^1.18.4",
17
- "ts-jest": "^24.0.2",
18
- "ts-loader": "^6.0.4",
19
- "ts-node": "^9.0.0",
20
- "typescript": "^3.5.3"
21
- },
22
- "scripts": {
23
- "serve": "nodemon --exec yar./src/index.ts",
24
- "build": "tsc",
25
- "test:dev": "nodemon --exec ts-node ./test.ts",
26
- "test": "jest"
27
- },
28
- "repository": {
29
- "type": "git",
30
- "url": "git+https://github.com/k22pr/dnf-api.git"
31
- },
32
- "keywords": [
33
- "dnf"
34
- ],
35
- "author": "서버지기",
36
- "license": "MIT",
37
- "bugs": {
38
- "url": "https://github.com/k22pr/dnf-api/issues"
39
- },
40
- "homepage": "https://github.com/k22pr/dnf-api#readme"
41
- }
1
+ {
2
+ "name": "dnf-api",
3
+ "version": "0.6.0",
4
+ "description": "던전 앤 파이터 API",
5
+ "main": "./dist/src/index.js",
6
+ "types": "./dist/src/index.d.ts",
7
+ "dependencies": {
8
+ "@types/bun": "1.1.6",
9
+ "axios": "^0.18.1",
10
+ "consola": "^2.15.3",
11
+ "prototype-helper": "^0.4.2",
12
+ "query-string": "^9.1.1",
13
+ "undici": "^7.3.0"
14
+ },
15
+ "devDependencies": {
16
+ "@biomejs/biome": "^1.9.4",
17
+ "dotenv": "^16.4.7",
18
+ "typescript": "5.5.3"
19
+ },
20
+ "scripts": {
21
+ "dev": "bun --watch src/index.ts",
22
+ "build": "bun build src/index.ts --minify --target=bun --outfile dist/index.js",
23
+ "test:dev": "bun --watch test.ts",
24
+ "test": "jest"
25
+ },
26
+ "repository": {
27
+ "type": "git",
28
+ "url": "git+https://github.com/k22pr/dnf-api.git"
29
+ },
30
+ "keywords": ["dnf"],
31
+ "author": "서버지기",
32
+ "license": "MIT",
33
+ "bugs": {
34
+ "url": "https://github.com/k22pr/dnf-api/issues"
35
+ },
36
+ "homepage": "https://github.com/k22pr/dnf-api#readme"
37
+ }
@@ -1,61 +1,67 @@
1
- import { Query, Static, Params } from "../util";
2
- import * as Model from "../model";
3
-
4
- /**
5
- * 경매장에 등록된 아이템을 "아이템 이름"을 기준으로 받아옵니다
6
- *
7
- * @param {string} itemName 검색할 아이템의 이름입니다.
8
- * @param {object} params 선택적 요청변수의 Object입니다.
9
- */
10
- export const itemName = (itemName: string, params: Params.IAuction = {}): Promise<Model.DnfResponse<Model.Auction[]>> => {
11
- params.itemName = itemName;
12
- let opt = {
13
- base: Query.UriBuilder(Static.BaseUri.Auction),
14
- params,
15
- };
16
- return Query.Request<Model.Auction[]>(opt);
17
- };
18
-
19
- /**
20
- * 경매장에 등록된 아이템을 "아이템 아이디"을 기준으로 받아옵니다
21
- *
22
- * @param {string} itemID 검색할 아이템의 ID입니다.
23
- * @param {object} params 선택적 요청변수의 Object입니다.
24
- */
25
- export const itemId = (itemId: string, params: Params.IAuction = {}): Promise<Model.DnfResponse<Model.Auction[]>> => {
26
- params.itemId = itemId;
27
- let opt = {
28
- base: Query.UriBuilder(Static.BaseUri.Auction),
29
- params: params,
30
- };
31
- return Query.Request<Model.Auction[]>(opt);
32
- };
33
- /**
34
- * 경매장에 등록된 경매장번호로 받아옵니다.
35
- *
36
- * @param {Number} auctionNo 검색할 경매장 번호입니다.
37
- */
38
- export const no = (auctionNo: number): Promise<Model.DnfResponse<Model.Auction>> => {
39
- let opt = {
40
- base: Query.UriBuilder(Static.BaseUri.Auction, auctionNo),
41
- };
42
- return Query.Request<Model.Auction>(opt);
43
- };
44
-
45
- export const auctionSoldName = (itemName: string, params: Params.IActionSoldOption = {}) => {
46
- params.itemName = itemName;
47
- let opt = {
48
- base: Query.UriBuilder(Static.BaseUri.AuctionSold),
49
- params,
50
- };
51
- return Query.Request<Model.AuctionSolid[]>(opt);
52
- };
53
-
54
- export const auctionSoldId = (itemId: string, params: Params.IActionSoldOption = {}) => {
55
- params.itemId = itemId;
56
- let opt = {
57
- base: Query.UriBuilder(Static.BaseUri.AuctionSold),
58
- params,
59
- };
60
- return Query.Request<Model.AuctionSolid[]>(opt);
61
- };
1
+ import type * as Model from "../model";
2
+ import { type Params, Query, Static } from "../util";
3
+
4
+ /**
5
+ * 경매장에 등록된 아이템을 "아이템 이름"을 기준으로 받아옵니다
6
+ *
7
+ * @param {string} itemName 검색할 아이템의 이름입니다.
8
+ * @param {object} params 선택적 요청변수의 Object입니다.
9
+ */
10
+ export const itemName = (itemName: string, params: Params.IAuction = {}) => {
11
+ params.itemName = itemName;
12
+ const opt = {
13
+ base: Query.UriBuilder(Static.BaseUri.Auction),
14
+ params,
15
+ };
16
+ return Query.Request<Model.Rows<Model.Auction>>(opt);
17
+ };
18
+
19
+ /**
20
+ * 경매장에 등록된 아이템을 "아이템 아이디"을 기준으로 받아옵니다
21
+ *
22
+ * @param {string} itemID 검색할 아이템의 ID입니다.
23
+ * @param {object} params 선택적 요청변수의 Object입니다.
24
+ */
25
+ export const itemId = (itemId: string, params: Params.IAuction = {}) => {
26
+ params.itemId = itemId;
27
+ const opt = {
28
+ base: Query.UriBuilder(Static.BaseUri.Auction),
29
+ params: params,
30
+ };
31
+ return Query.Request<Model.Rows<Model.Auction>>(opt);
32
+ };
33
+ /**
34
+ * 경매장에 등록된 경매장번호로 받아옵니다.
35
+ *
36
+ * @param {Number} auctionNo 검색할 경매장 번호입니다.
37
+ */
38
+ export const no = (auctionNo: number) => {
39
+ const opt = {
40
+ base: Query.UriBuilder(Static.BaseUri.Auction, auctionNo),
41
+ };
42
+ return Query.Request<Model.Auction>(opt);
43
+ };
44
+
45
+ export const auctionSoldName = (
46
+ itemName: string,
47
+ params: Params.IActionSoldOption = {},
48
+ ) => {
49
+ params.itemName = itemName;
50
+ const opt = {
51
+ base: Query.UriBuilder(Static.BaseUri.AuctionSold),
52
+ params,
53
+ };
54
+ return Query.Request<Model.Rows<Model.AuctionSolid>>(opt);
55
+ };
56
+
57
+ export const auctionSoldId = (
58
+ itemId: string,
59
+ params: Params.IActionSoldOption = {},
60
+ ) => {
61
+ params.itemId = itemId;
62
+ const opt = {
63
+ base: Query.UriBuilder(Static.BaseUri.AuctionSold),
64
+ params,
65
+ };
66
+ return Query.Request<Model.Rows<Model.AuctionSolid>>(opt);
67
+ };
@@ -1,53 +1,81 @@
1
- import { Query, Static } from "../util";
2
-
3
- /**
4
- * 해당 캐릭터가 장착한 장비 정보를 받아옵니다.
5
- *
6
- * @param {Static.Server} serverId 캐릭터가 존재하는 서버의 이름입니다.
7
- * @param {string} characterId 검색할 캐릭터의 ID입니다.
8
- */
9
- export const equipment = (serverId: Static.Server, characterId: string) => {
10
- let opt = {
11
- base: Query.UriBuilder(Static.BaseUri.Servers, serverId, "characters", characterId, "equip", "equipment"),
12
- };
13
- return Query.Request(opt);
14
- };
15
-
16
- /**
17
- * 해당 캐릭터가 장착한 아바타 정보를 받아옵니다.
18
- *
19
- * @param {Static.Server} serverId 캐릭터가 존재하는 서버의 이름입니다.
20
- * @param {string} characterId 검색할 캐릭터의 ID입니다.
21
- */
22
- export const avatar = (serverId: Static.Server, characterId: string) => {
23
- let opt = {
24
- base: Query.UriBuilder(Static.BaseUri.Servers, serverId, "characters", characterId, "equip", "avatar"),
25
- };
26
- return Query.Request(opt);
27
- };
28
-
29
- /**
30
- * 해당 캐릭터가 장착한 크리쳐 정보를 받아옵니다.
31
- *
32
- * @param {Static.Server} serverId 캐릭터가 존재하는 서버의 이름입니다.
33
- * @param {string} characterId 검색할 캐릭터의 ID입니다.
34
- */
35
- export const creature = (serverId: Static.Server, characterId: string) => {
36
- let opt = {
37
- base: Query.UriBuilder(Static.BaseUri.Servers, serverId, "characters", characterId, "equip", "creature"),
38
- };
39
- return Query.Request(opt);
40
- };
41
-
42
- /**
43
- * 해당 캐릭터가 장착한 휘장 정보를 받아옵니다.
44
- *
45
- * @param {Static.Server} serverId 캐릭터가 존재하는 서버의 이름입니다.
46
- * @param {string} characterId 검색할 캐릭터의 ID입니다.
47
- */
48
- export const flag = (serverId: Static.Server, characterId: string) => {
49
- let opt = {
50
- base: Query.UriBuilder(Static.BaseUri.Servers, serverId, "characters", characterId, "equip", "flag"),
51
- };
52
- return Query.Request(opt);
53
- };
1
+ import { Query, Static } from "../util";
2
+
3
+ /**
4
+ * 해당 캐릭터가 장착한 장비 정보를 받아옵니다.
5
+ *
6
+ * @param {Static.Server} serverId 캐릭터가 존재하는 서버의 이름입니다.
7
+ * @param {string} characterId 검색할 캐릭터의 ID입니다.
8
+ */
9
+ export const equipment = (serverId: Static.Server, characterId: string) => {
10
+ const opt = {
11
+ base: Query.UriBuilder(
12
+ Static.BaseUri.Servers,
13
+ serverId,
14
+ "characters",
15
+ characterId,
16
+ "equip",
17
+ "equipment",
18
+ ),
19
+ };
20
+ return Query.Request(opt);
21
+ };
22
+
23
+ /**
24
+ * 해당 캐릭터가 장착한 아바타 정보를 받아옵니다.
25
+ *
26
+ * @param {Static.Server} serverId 캐릭터가 존재하는 서버의 이름입니다.
27
+ * @param {string} characterId 검색할 캐릭터의 ID입니다.
28
+ */
29
+ export const avatar = (serverId: Static.Server, characterId: string) => {
30
+ const opt = {
31
+ base: Query.UriBuilder(
32
+ Static.BaseUri.Servers,
33
+ serverId,
34
+ "characters",
35
+ characterId,
36
+ "equip",
37
+ "avatar",
38
+ ),
39
+ };
40
+ return Query.Request(opt);
41
+ };
42
+
43
+ /**
44
+ * 해당 캐릭터가 장착한 크리쳐 정보를 받아옵니다.
45
+ *
46
+ * @param {Static.Server} serverId 캐릭터가 존재하는 서버의 이름입니다.
47
+ * @param {string} characterId 검색할 캐릭터의 ID입니다.
48
+ */
49
+ export const creature = (serverId: Static.Server, characterId: string) => {
50
+ const opt = {
51
+ base: Query.UriBuilder(
52
+ Static.BaseUri.Servers,
53
+ serverId,
54
+ "characters",
55
+ characterId,
56
+ "equip",
57
+ "creature",
58
+ ),
59
+ };
60
+ return Query.Request(opt);
61
+ };
62
+
63
+ /**
64
+ * 해당 캐릭터가 장착한 휘장 정보를 받아옵니다.
65
+ *
66
+ * @param {Static.Server} serverId 캐릭터가 존재하는 서버의 이름입니다.
67
+ * @param {string} characterId 검색할 캐릭터의 ID입니다.
68
+ */
69
+ export const flag = (serverId: Static.Server, characterId: string) => {
70
+ const opt = {
71
+ base: Query.UriBuilder(
72
+ Static.BaseUri.Servers,
73
+ serverId,
74
+ "characters",
75
+ characterId,
76
+ "equip",
77
+ "flag",
78
+ ),
79
+ };
80
+ return Query.Request(opt);
81
+ };
@@ -1,52 +1,52 @@
1
- import { Query, Static } from "../util";
2
- /**
3
- * 아이템 및 장비를 통한 스킬 강화 제외 입니다.
4
- *
5
- * @param {Static.Server} serverId 캐릭터가 존재하는 서버의 이름입니다.
6
- * @param {string} characterId 검색할 캐릭터의 ID입니다.
7
- */
8
- export const style = (serverId: Static.Server, characterId: string) => {
9
- let opt = {
10
- base: `${Query.UriBuilder(Static.BaseUri.Servers, serverId, "characters", characterId, "skill", "style")}`,
11
- };
12
- return Query.Request(opt);
13
- };
14
-
15
- /**
16
- * 캐릭터 '버프 스킬 강화 장착 장비'(스위칭) 를 조회합니다.
17
- *
18
- * @param {Static.Server} serverId 캐릭터가 존재하는 서버의 이름입니다.
19
- * @param {string} characterId 검색할 캐릭터의 ID입니다.
20
- */
21
- export const equipment = (serverId: Static.Server, characterId: string) => {
22
- let opt = {
23
- base: `${Query.UriBuilder(Static.BaseUri.Servers, serverId, "characters", characterId, "skill", "buff", "equip", "equipment")}`,
24
- };
25
- return Query.Request(opt);
26
- };
27
-
28
- /**
29
- * 캐릭터 '버프 스킬 강화 장착 아바타'(스위칭) 를 조회합니다.
30
- *
31
- * @param {Static.Server} serverId 캐릭터가 존재하는 서버의 이름입니다.
32
- * @param {string} characterId 검색할 캐릭터의 ID입니다.
33
- */
34
- export const avatar = (serverId: Static.Server, characterId: string) => {
35
- let opt = {
36
- base: `${Query.UriBuilder(Static.BaseUri.Servers, serverId, "characters", characterId, "skill", "buff", "equip", "avatar")}`,
37
- };
38
- return Query.Request(opt);
39
- };
40
-
41
- /**
42
- * 캐릭터 '버프 스킬 강화 장착 크리쳐'(스위칭) 를 조회합니다.
43
- *
44
- * @param {Static.Server} serverId 캐릭터가 존재하는 서버의 이름입니다.
45
- * @param {string} characterId 검색할 캐릭터의 ID입니다.
46
- */
47
- export const creature = (serverId: Static.Server, characterId: string) => {
48
- let opt = {
49
- base: `${Query.UriBuilder(Static.BaseUri.Servers, serverId, "characters", characterId, "skill", "buff", "equip", "creature")}`,
50
- };
51
- return Query.Request(opt);
52
- };
1
+ import { Query, Static } from "../util";
2
+ /**
3
+ * 아이템 및 장비를 통한 스킬 강화 제외 입니다.
4
+ *
5
+ * @param {Static.Server} serverId 캐릭터가 존재하는 서버의 이름입니다.
6
+ * @param {string} characterId 검색할 캐릭터의 ID입니다.
7
+ */
8
+ export const style = (serverId: Static.Server, characterId: string) => {
9
+ const opt = {
10
+ base: `${Query.UriBuilder(Static.BaseUri.Servers, serverId, "characters", characterId, "skill", "style")}`,
11
+ };
12
+ return Query.Request(opt);
13
+ };
14
+
15
+ /**
16
+ * 캐릭터 '버프 스킬 강화 장착 장비'(스위칭) 를 조회합니다.
17
+ *
18
+ * @param {Static.Server} serverId 캐릭터가 존재하는 서버의 이름입니다.
19
+ * @param {string} characterId 검색할 캐릭터의 ID입니다.
20
+ */
21
+ export const equipment = (serverId: Static.Server, characterId: string) => {
22
+ const opt = {
23
+ base: `${Query.UriBuilder(Static.BaseUri.Servers, serverId, "characters", characterId, "skill", "buff", "equip", "equipment")}`,
24
+ };
25
+ return Query.Request(opt);
26
+ };
27
+
28
+ /**
29
+ * 캐릭터 '버프 스킬 강화 장착 아바타'(스위칭) 를 조회합니다.
30
+ *
31
+ * @param {Static.Server} serverId 캐릭터가 존재하는 서버의 이름입니다.
32
+ * @param {string} characterId 검색할 캐릭터의 ID입니다.
33
+ */
34
+ export const avatar = (serverId: Static.Server, characterId: string) => {
35
+ const opt = {
36
+ base: `${Query.UriBuilder(Static.BaseUri.Servers, serverId, "characters", characterId, "skill", "buff", "equip", "avatar")}`,
37
+ };
38
+ return Query.Request(opt);
39
+ };
40
+
41
+ /**
42
+ * 캐릭터 '버프 스킬 강화 장착 크리쳐'(스위칭) 를 조회합니다.
43
+ *
44
+ * @param {Static.Server} serverId 캐릭터가 존재하는 서버의 이름입니다.
45
+ * @param {string} characterId 검색할 캐릭터의 ID입니다.
46
+ */
47
+ export const creature = (serverId: Static.Server, characterId: string) => {
48
+ const opt = {
49
+ base: `${Query.UriBuilder(Static.BaseUri.Servers, serverId, "characters", characterId, "skill", "buff", "equip", "creature")}`,
50
+ };
51
+ return Query.Request(opt);
52
+ };
@@ -1,60 +1,91 @@
1
- import { Query, Static, Params } from "../util";
2
- import * as Model from "../model";
3
-
4
- /**
5
- * 서버 이름과 캐릭터 닉네임을 입력하여 해당 캐릭터를 검색합니다.
6
- *
7
- * @param {Static.Server} [serverId=""] 캐릭터가 존재하는 서버의 이름입니다.
8
- * @param {string} [characterName=""] 검색할 캐릭터의 이름입니다.
9
- * @param {object} [params={}] 선택적 요청변수의 Object입니다.
10
- */
11
- export const characterName = (serverId: Static.Server, characterName: string, params: Params.ICharParams = {}): Promise<Model.DnfResponse<Model.Char.Character[]>> => {
12
- if (params === undefined) params = {};
13
- params.characterName = characterName;
14
- let opt = {
15
- base: Query.UriBuilder(Static.BaseUri.Servers, serverId, "characters"),
16
- params: params,
17
- };
18
- return Query.Request<Model.Char.Character[]>(opt);
19
- };
20
-
21
- /**
22
- * 캐릭터 ID를 입력하여 해당 캐릭터 정보를 받아옵니다
23
- *
24
- * @param {Static.Server} serverId 캐릭터가 존재하는 서버의 이름입니다.
25
- * @param {string} characterId 검색할 캐릭터의 ID입니다.
26
- */
27
- export const characterId = (serverId: Static.Server, characterId: string): Promise<Model.DnfResponse<Model.Char.Info>> => {
28
- let opt = {
29
- base: Query.UriBuilder(Static.BaseUri.Servers, serverId, "characters", characterId),
30
- };
31
- return Query.Request<Model.Char.Info>(opt);
32
- };
33
-
34
- /**
35
- * 캐릭터 ID를 입력하여 해당 캐릭터의 타임라인 정보를 검색합니다.
36
- *
37
- * @param {Static.Server} serverId 캐릭터가 존재하는 서버의 이름입니다.
38
- * @param {string} characterId 검색할 캐릭터의 ID입니다.
39
- * @param {object} params 선택적 요청변수의 Object입니다.
40
- */
41
- export const timeline = (serverId: Static.Server, characterId: string, params: Params.ICharParams = {}): Promise<Model.DnfResponse<Model.Char.Timeline>> => {
42
- let opt = {
43
- base: Query.UriBuilder(Static.BaseUri.Servers, serverId, "characters", characterId, "timeline"),
44
- params: params,
45
- };
46
- return Query.Request<Model.Char.Timeline>(opt);
47
- };
48
-
49
- /**
50
- * 캐릭터 ID를 입력하여 해당 캐릭터의 능력치 정보를 검색합니다.
51
- *
52
- * @param {Static.Server} serverId 캐릭터가 존재하는 서버의 이름입니다.
53
- * @param {string} characterId 검색할 캐릭터의 ID입니다.
54
- */
55
- export const status = (serverId: Static.Server, characterId: string) => {
56
- let opt = {
57
- base: Query.UriBuilder(Static.BaseUri.Servers, serverId, "characters", characterId, "status"),
58
- };
59
- return Query.Request(opt);
60
- };
1
+ import type * as Model from "../model";
2
+ import { type Params, Query, Static } from "../util";
3
+
4
+ /**
5
+ * 서버 이름과 캐릭터 닉네임을 입력하여 해당 캐릭터를 검색합니다.
6
+ *
7
+ * @param {Static.Server} [serverId=""] 캐릭터가 존재하는 서버의 이름입니다.
8
+ * @param {string} [characterName=""] 검색할 캐릭터의 이름입니다.
9
+ * @param {object} [params={}] 선택적 요청변수의 Object입니다.
10
+ */
11
+ export const characterName = (
12
+ serverId: Static.Server,
13
+ characterName: string,
14
+ params: Params.ICharParams = {},
15
+ ) => {
16
+ // if (params === undefined) params = {};
17
+ params.characterName = characterName;
18
+ const opt = {
19
+ base: Query.UriBuilder(Static.BaseUri.Servers, serverId, "characters"),
20
+ params: params,
21
+ };
22
+ return Query.Request<Model.Rows<Model.Char.Character>>(opt);
23
+ };
24
+
25
+ /**
26
+ * 캐릭터 ID를 입력하여 해당 캐릭터 정보를 받아옵니다
27
+ *
28
+ * @param {Static.Server} serverId 캐릭터가 존재하는 서버의 이름입니다.
29
+ * @param {string} characterId 검색할 캐릭터의 ID입니다.
30
+ */
31
+ export const characterId = (
32
+ serverId: Static.Server,
33
+ characterId: string,
34
+ ): Promise<Model.DnfResponse<Model.Char.Info>> => {
35
+ const opt = {
36
+ base: Query.UriBuilder(
37
+ Static.BaseUri.Servers,
38
+ serverId,
39
+ "characters",
40
+ characterId,
41
+ ),
42
+ };
43
+ return Query.Request<Model.Char.Info>(opt);
44
+ };
45
+
46
+ /**
47
+ * 캐릭터 ID를 입력하여 해당 캐릭터의 타임라인 정보를 검색합니다.
48
+ *
49
+ * @param {Static.Server} serverId 캐릭터가 존재하는 서버의 이름입니다.
50
+ * @param {string} characterId 검색할 캐릭터의 ID입니다.
51
+ * @param {object} params 선택적 요청변수의 Object입니다.
52
+ */
53
+ export const timeline = (
54
+ serverId: Static.Server,
55
+ characterId: string,
56
+ params: Params.ITimeLine = {},
57
+ ): Promise<Model.DnfResponse<Model.Char.Timeline>> => {
58
+ const opt = {
59
+ base: Query.UriBuilder(
60
+ Static.BaseUri.Servers,
61
+ serverId,
62
+ "characters",
63
+ characterId,
64
+ "timeline",
65
+ ),
66
+ params: {
67
+ ...params,
68
+ ...(params.code ? { code: Query.QueryBuilder(params.code) } : {}),
69
+ },
70
+ };
71
+ return Query.Request<Model.Char.Timeline>(opt);
72
+ };
73
+
74
+ /**
75
+ * 캐릭터 ID를 입력하여 해당 캐릭터의 능력치 정보를 검색합니다.
76
+ *
77
+ * @param {Static.Server} serverId 캐릭터가 존재하는 서버의 이름입니다.
78
+ * @param {string} characterId 검색할 캐릭터의 ID입니다.
79
+ */
80
+ export const status = (serverId: Static.Server, characterId: string) => {
81
+ const opt = {
82
+ base: Query.UriBuilder(
83
+ Static.BaseUri.Servers,
84
+ serverId,
85
+ "characters",
86
+ characterId,
87
+ "status",
88
+ ),
89
+ };
90
+ return Query.Request<Model.Char.CharacterStatus>(opt);
91
+ };
package/src/api/index.ts CHANGED
@@ -1,9 +1,9 @@
1
- import * as Action from "./auction";
2
- import * as Equip from "./characters.equip";
3
- import * as Skill from "./characters.skill";
4
- import * as Characters from "./characters";
5
- import * as Item from "./items";
6
- import * as SetItem from "./setitems";
7
- import * as Server from "./server";
8
-
9
- export { Action, Equip, Skill, Characters, Item, SetItem, Server };
1
+ import * as Action from "./auction";
2
+ import * as Characters from "./characters";
3
+ import * as Equip from "./characters.equip";
4
+ import * as Skill from "./characters.skill";
5
+ import * as Item from "./items";
6
+ import * as Server from "./server";
7
+ import * as SetItem from "./setitems";
8
+
9
+ export { Action, Equip, Skill, Characters, Item, SetItem, Server };