UNPKG

tfd-api

Version:

A simple API wrapper to interact with The First Descendant API

2 lines 3.06 kB
import c from"isomorphic-unfetch";function d(s){return{host:"https://open.api.nexon.com",default_language:s?.default_language||"en",headers:{"x-nxopen-api-key":s?.api_key}}}function a(s,t){let e=s;if(Object.keys(t).length>0){let n=new URLSearchParams;Object.entries(t).forEach(([p,u])=>n.append(p,u.toString())),e+=`?${n.toString()}`}return e}async function o(s,t){return await c(s,{method:"GET",headers:t}).then(e=>e.headers.get("Content-Type")&&e.headers.get("Content-Type")?.includes("application/json")?e.json():{error:{name:"CUSTOMERROR",message:"Unable to parse API response"}}).catch(e=>(console.log(`[FETCHER//ERROR] ${e.message}`),null))}var r=class{constructor(t,e,n){this.url=t;this.headers=e;this.default_language=n;if(!e["x-nxopen-api-key"])throw Error("API Key is required")}getId(t){let e=a(`${this.url}/tfd/v1/id`,{user_name:t});return o(e,this.headers)}getUserBasic(t){let e=a(`${this.url}/tfd/v1/user/basic`,{ouid:t});return o(e,this.headers)}getUserDescendant(t){let e=a(`${this.url}/tfd/v1/user/descendant`,{ouid:t});return o(e,this.headers)}getUserWeapon(t,e=this.default_language){let n=a(`${this.url}/tfd/v1/user/weapon`,{ouid:t,language_code:e});return o(n,this.headers)}getUserReactor(t,e=this.default_language){let n=a(`${this.url}/tfd/v1/user/reactor`,{ouid:t,language_code:e});return o(n,this.headers)}getUserExternalComponent(t,e=this.default_language){let n=a(`${this.url}/tfd/v1/user/external-component`,{ouid:t,language_code:e});return o(n,this.headers)}getRecommendationModule(t,e,n,p){let u=a(`${this.url}/tfd/v1/recommendation/module`,{descendant_id:t,weapon_id:e,void_battle_id:n,period:p});return o(u,this.headers)}};var i=class{constructor(t,e){this.url=t;this.default_language=e}getDescendant(t=this.default_language){let e=`${this.url}/static/tfd/meta/${t}/descendant.json`;return o(e)}getWeapon(t=this.default_language){let e=`${this.url}/static/tfd/meta/${t}/weapon.json`;return o(e)}getModule(t=this.default_language){let e=`${this.url}/static/tfd/meta/${t}/module.json`;return o(e)}getReactor(t=this.default_language){let e=`${this.url}/static/tfd/meta/${t}/reactor.json`;return o(e)}getExternalComponent(t=this.default_language){let e=`${this.url}/static/tfd/meta/${t}/external-component.json`;return o(e)}getReward(t=this.default_language){let e=`${this.url}/static/tfd/meta/${t}/reward.json`;return o(e)}getStat(t=this.default_language){let e=`${this.url}/static/tfd/meta/${t}/stat.json`;return o(e)}getVoidBattle(t=this.default_language){let e=`${this.url}/static/tfd/meta/${t}/void-battle.json`;return o(e)}getTitle(t=this.default_language){let e=`${this.url}/static/tfd/meta/${t}/title.json`;return o(e)}};var l=class{options;account;metadata;constructor(t){this.options=d(t),this.account=new r(this.options.host,this.options.headers,this.options.default_language),this.metadata=new i(this.options.host,this.options.default_language)}};var g=(n=>(n[n.Last7Days=0]="Last7Days",n[n.Last30Days=1]="Last30Days",n[n.AllTime=2]="AllTime",n))(g||{});export{g as QueryPeriod,l as TFDApi}; //# sourceMappingURL=index.mjs.map