joshua-project-client
v4.1.6
Published
Joshua Project API client for TypeScript/Next.js
Maintainers
Readme
📦 joshua-project-client
Joshua Project API를 TypeScript/JavaScript 환경에서 간편하게 사용할 수 있도록 만든 클라이언트 라이브러리입니다. fetch 기반으로 구현되어 추가 의존성이 없으며, Next.js, Node.js, React 등 다양한 환경에서 활용 가능합니다.
🚀 설치
npm install joshua-project-client또는
yarn add joshua-project-client🔑 초기 설정
Joshua Project API를 사용하려면 Joshua Project에서 발급받은 API Key가 필요합니다.
import { JoshuaProjectClient } from 'joshua-project-client';
const client = new JoshuaProjectClient({
apiKey: process.env.JOSHUA_API_KEY!, // 환경 변수에 저장 권장
baseUrl: 'https://api.joshuaproject.net/v1', // 기본값, 필요 시 변경 가능
});📚 사용 예시
1. 국가 목록 가져오기
const { data } = await client.getCountries();
console.log(data);
/*
[
{ id: "IN", name: "India", population: 1400000000 },
{ id: "US", name: "United States", population: 330000000 },
...
]
*/2. 특정 국가 정보 가져오기
const { data } = await client.getCountry('IN');
console.log(data);
/*
{ id: "IN", name: "India", population: 1400000000 }
*/3. 언어 목록 가져오기
const { data } = await client.getLanguages();
console.log(data);4. 특정 People Group 조회
const { data } = await client.getPeopleGroup('1234');
console.log(data);5. Daily Unreached People Group
const { data } = await client.getDailyUnreached();
console.log(data);🛠️ 지원 API 메서드
| 메서드 | 설명 |
| --------------------------------- | --------------------------------- |
| getContinent(id) | 특정 대륙 정보 조회 |
| getCountry(id) | 특정 국가 정보 조회 |
| getCountries(filters?) | 국가 목록 조회 |
| getLanguage(id) | 특정 언어 정보 조회 |
| getLanguages(filters?) | 언어 목록 조회 |
| getPeopleGroup(id) | 특정 People Group 조회 |
| getPeopleGroups(filters?) | People Group 목록 조회 |
| getDailyUnreached() | Daily Unreached People Group 조회 |
| getGlobalPeopleGroup(id) | 특정 Global People Group 조회 |
| getGlobalPeopleGroups(filters?) | Global People Group 목록 조회 |
| getRegion(id) | 특정 지역 정보 조회 |
| getTotal(id) | 특정 통계 조회 |
| getTotals() | 전체 통계 목록 조회 |
📦 빌드 및 배포
- TypeScript 기반
dist/폴더에 ESM, CJS, 타입 선언 파일 포함- npm 배포 시
files필드로 필요한 파일만 포함
📜 라이선스
MIT License
