UNPKG

university-api-client

Version:

A JavaScript client library for the Worldwide University API

67 lines (66 loc) 2.5 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.UniversityApiClient = void 0; const axios_1 = __importDefault(require("axios")); __exportStar(require("./types"), exports); class UniversityApiClient { constructor(config = {}) { this.baseUrl = config.baseUrl || 'https://worldwide-university-api.onrender.com/api'; this.client = axios_1.default.create({ baseURL: this.baseUrl, timeout: config.timeout || 10000, }); } /** * Get universities with optional filters */ async getUniversities(filters) { const params = new URLSearchParams(); if (filters) { Object.entries(filters).forEach(([key, value]) => { if (value !== undefined) { params.append(key, value.toString()); } }); } const response = await this.client.get('/universities', { params }); return response.data; } /** * Get universities by country code */ async getUniversitiesByCountry(countryCode) { const response = await this.client.get(`/universities/${countryCode}`); return response.data; } /** * Search universities by query */ async searchUniversities(options) { const params = new URLSearchParams(); params.append('q', options.query); if (options.limit !== undefined) { params.append('limit', options.limit.toString()); } const response = await this.client.get('/search', { params }); return response.data; } } exports.UniversityApiClient = UniversityApiClient;