UNPKG

divine-pride-api-wrapper

Version:
2 lines (1 loc) 3.34 kB
var a=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var g=(r,e)=>{for(var t in e)a(r,t,{get:e[t],enumerable:!0})},R=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of m(e))!h.call(r,n)&&n!==t&&a(r,n,{get:()=>e[n],enumerable:!(s=c(e,n))||s.enumerable});return r};var w=r=>R(a({},"__esModule",{value:!0}),r);var b={};g(b,{DivinePride:()=>i,HeaderLanguages:()=>u,Servers:()=>o,default:()=>y});module.exports=w(b);var p={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 o=["bRO","cRO","dpRO","GGH","idRO","iRO","jRO","kROM","kROS","kROZ","kROZS","ropEU","ropRU","thROC","thROG","twRO","vnRO"],u=["en-US","id-ID","ja-JP","ko-KR","pt-BR","ru-RU","th-TH"];var i=class{constructor(e,t="iRO",s="en-US",n){this.apiKey=e;this.server=t;this.acceptLanguage=s;this.fetchOptions=n;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=s}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}),s=await fetch(`https://www.divine-pride.net/api/database/${e}?${t}`,{method:"GET",headers:{"Accept-Language":this.acceptLanguage,"User-Agent":`${p.name}/${p.version}`},...this.fetchOptions});if(!s.ok)throw new Error(`HTTP error! status: ${s.status}`);return await s.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 y=i;0&&(module.exports={DivinePride,HeaderLanguages,Servers});