dnf-api
Version:
던전 앤 파이터 API
61 lines (57 loc) • 1.93 kB
text/typescript
import type * as model from "../model";
import { type params, query, staticUtil } from "../util";
/**
* 현재 인게임에서 획득 가능한 아이템의 경우만 검색 가능합니다.
*
* @param {string} itemName 검색할 아이템의 명칭
* @param {string} params 선택적 요청변수의 Object입니다.
*/
export const item = async (itemName: string, params: params.IItem = {}) => {
// if (params === undefined) params = {};
params.itemName = itemName;
// if (query) params.q = query.makeItemQuery(query);
//let querystring =
const opt = {
base: query.UriBuilder(staticUtil.BaseUri.Item),
params: {
...params,
...(params.hashtag
? { hashtag: query.QueryBuilder(params.hashtag ?? []) }
: {}),
},
};
return await query.Request<model.item.IItem>(opt);
};
/**
* 해당하는 아이템의 상세정보를 요청합니다.
*
* @param {string} itemId 검색할 아이템의 ID
*/
export const detail = (itemId: string) => {
const opt = {
base: query.UriBuilder(staticUtil.BaseUri.Item, itemId),
};
return query.Request<model.item.IDetail>(opt);
};
/**
* 26. 아이템 상점 판매 정보 조회
* 인게임 백과사전 기준의 상점 판매 95레벨 에픽, 100레벨 이상 유니크, 레전더리, 에픽 장비가 조회 가능 합니다.
*
* @param {string} itemId 검색할 아이템의 ID
*/
export const shop = (itemId: string) => {
const opt = {
base: query.UriBuilder(staticUtil.BaseUri.Item, itemId, "shop"),
};
return query.Request<model.item.IShop>(opt);
};
/**
* 28. 아이템 해시태그 조회
* 아이템 검색에 사용 가능한 해시태그 목록을 조회합니다.
*/
export const hashtag = () => {
const opt = {
base: query.UriBuilder(staticUtil.BaseUri.ItemHashtag),
};
return query.Request<model.item.IHashtag>(opt);
};