Официальная библиотека @depsapi/deps-js предоставляет удобный изоморфный интерфейс для работы с Deps API, работая как в Node.js, так и в браузерах и Deno.
Библиотека разработана и поддерживается командой Deps API.
Установка
pnpm install @depsapi/deps-js
Рекомендуется использовать Node.js v20 (LTS) или выше.
Быстрый старт
Простой пример получения статуса API.
import { DepsClient } from "@depsapi/deps-js";
async function main() {
// Обязательно используйте ваш API ключ
const client = new DepsClient({ apiKey: "YOUR_API_KEY" });
const status = await client.status.get();
console.log(status);
}
main();
Ключевые особенности
Библиотека @depsapi/deps-js разработана для максимальной эффективности и удобства разработчика.
Изоморфность
Работает в Node.js, Deno и современных браузерах без дополнительной настройки.
Типизация
Полная поддержка TypeScript для предсказуемости и удобства разработки.
Легковесность
Минимальный размер благодаря использованию ofetch, не перегружая ваши проекты.
Модульность
API разделено на логические модули для лучшей организации кода.
Примеры использования
import { DepsClient } from "@depsapi/deps-js";
async function main() {
const client = new DepsClient({ apiKey: "YOUR_API_KEY" });
try {
const player = await client.player.find({ serverId: 5, nickname: "Nicolas_Reed" });
console.log(`Найден игрок: ${player.nickname}, уровень: ${player.level}`);
const isOnline = await client.player.isOnline({ serverId: 5, nickname: "Nicolas_Reed" });
console.log(`Игрок онлайн: ${isOnline}`);
} catch (error) {
if (error.data?.errorCode === 'PLAYER_NOT_FOUND') {
console.log("Игрок с таким никнеймом не найден.");
} else {
console.error(`Произошла ошибка: ${error.message}`);
}
}
}
main();
Обработка исключений
Библиотека выбрасывает типизированные исключения для удобной обработки ошибок.
import { DepsClient, DepsApiError, ValidationError } from '@depsapi/deps-js';
async function main() {
const client = new DepsClient({ apiKey: "INVALID_API_KEY" });
try {
await client.player.find({ serverId: 1, nickname: 'some_player' });
} catch (error) {
if (error instanceof ValidationError) {
console.error('Ошибка валидации:', error.data);
} else if (error instanceof DepsApiError) {
if (error.data?.errorCode === 'UNAUTHORIZED') {
console.error("Ошибка: Неверный или просроченный API ключ.");
} else if (error.data?.errorCode === 'TOO_MANY_REQUESTS') {
console.error(`Превышен лимит запросов. Попробуйте позже.`);
} else {
console.error('Ошибка API:', error.message, error.data);
}
} else {
console.error('Произошла неизвестная ошибка:', error);
}
}
}
main();
Основные ошибки: ValidationError (ошибки валидации входных данных), DepsApiError (обертка для всех ошибок API).
Расширенная настройка клиента
Вы можете тонко настроить клиент DepsClient при его инициализации, передав нужные параметры в конструктор.
import { DepsClient } from "@depsapi/deps-js";
const client = new DepsClient({
apiKey: "YOUR_API_KEY",
baseUrl: "https://api.depscian.tech",
});
| Параметр | Тип | По умолчанию | Описание |
|---|
apiKey | string | - | Обязательный. Ваш API-ключ. |
baseUrl | string | https://api.depscian.tech | Базовый URL API. |