divine-pride-api-wrapper
Version:
Unofficial Divine Pride API wrapper
2 lines (1 loc) • 2.84 kB
JavaScript
var s={name:"divine-pride-api-wrapper",version:"0.1.14",description:"Unofficial Divine Pride API wrapper",author:"lucas8x",license:"MIT",main:"dist/index.js",type:"module",types:"dist/index.d.ts",scripts:{build:"npx tsup ./src/index.ts",prepack:"npm run build",test:"jest"},devDependencies:{"@types/jest":"^29.5.14",jest:"^29.7.0","ts-jest":"^29.2.5",tsup:"^8.3.5",typescript:"^5.6.3",cheerio:"^1.0.0"},files:["dist/"],repository:{type:"git",url:"https://github.com/Lucas8x/divine-pride-api-wrapper"},bugs:{url:"https://github.com/Lucas8x/divine-pride-api-wrapper/issues"},homepage:"https://github.com/Lucas8x/divine-pride-api-wrapper#readme",keywords:["ragnarok","divine","pride","api","database"]};var p=["bRO","cRO","dpRO","GGH","idRO","iRO","jRO","kROM","kROS","kROZ","kROZS","ropEU","ropRU","thROC","thROG","twRO","vnRO"],o=["en-US","id-ID","ja-JP","ko-KR","pt-BR","ru-RU","th-TH"];var n=class{constructor(e,t="iRO",r="en-US",i){this.apiKey=e;this.server=t;this.acceptLanguage=r;this.fetchOptions=i;if(!e)throw new Error("Please provide DivinePride API key. You can get one here: https://www.divine-pride.net/account");this.apiKey=e,this.server=t,this.acceptLanguage=r}getServer(){return this.server}setServer(e){this.server=e}getAcceptLanguage(){return this.acceptLanguage}setLanguage(e){this.acceptLanguage=e}async request(e){try{let t=new URLSearchParams({apiKey:this.apiKey,server:this.server}),r=await fetch(`https://www.divine-pride.net/api/database/${e}?${t}`,{method:"GET",headers:{"Accept-Language":this.acceptLanguage,"User-Agent":`${s.name}/${s.version}`},...this.fetchOptions});if(!r.ok)throw new Error(`HTTP error! status: ${r.status}`);return await r.json()}catch(t){throw t}}async getAchievement(e){if(isNaN(e))throw new Error("ID must be a number");return await this.request(`Achievement/${e}`)}async getBuff(e){if(isNaN(e))throw new Error("ID must be a number");return await this.request(`Buff/${e}`)}async getExperience(){return await this.request("Experience")}async getItem(e){if(isNaN(e))throw new Error("ID must be a number");return await this.request(`Item/${e}`)}async getMap(e){if(typeof e!="string")throw new Error("ID must be a string");return await this.request(`Map/${e}`)}getMonster(e){if(isNaN(e))throw new Error("ID must be a number");return this.request(`Monster/${e}`)}async getNpcIdentity(e){if(isNaN(e))throw new Error("ID must be a number");return await this.request(`NpcIdentity/${e}`)}async getQuest(e){if(isNaN(e))throw new Error("ID must be a number");return await this.request(`Quest/${e}`)}async getSkill(e){if(isNaN(e))throw new Error("ID must be a number");return await this.request(`Skill/${e}`)}async getTitle(e){if(isNaN(e))throw new Error("ID must be a number");return await this.request(`Title/${e}`)}};var g=n;export{n as DivinePride,o as HeaderLanguages,p as Servers,g as default};