Репозиторий проекта - github.com/mirasayon/kodik.js
Ссылка на NPM пакет - npmjs.com/package/kodik
Библиотека kodik - это обёртка над API kodikapi.com
Вы можете исползовать эту библиотеку и на клиенте и на сервере
Поддерживается Node.js версии 18 и выше
Поддерживает работу в альтернативных рантаймах JS как Deno, Bun
Библиотека написана только на модулях ESM (Подробнее о ESM)
Если вы исползуете стандартный пакетный менеджер для Node.js - NPM:
npm i kodikили если вы исползуете yarn:
yarn add kodikесли pnpm:
pnpm add kodikКласс ApiClient реализует все доступные эндпоинты из API.
Документация по Kodik API: https://bd.kodik.biz/api/info. (Авторизация обязательна)
Все методы будут называться так же как и названия эндпоинтов.
Например для роута
/listиспользуется медотclient.list({...}), для роута/searchиспользуется медотclient.search({...})и так далее.
-
token- Ваш токен для выполнения запросов к API. Обязательный параметр -
kodikApiUrl- Вы можете передать сюда изменёный URL для выполнения запросов. Например, с измененым протоколом По умолчанию будет исползоваться URL c HTTPS протоколом:https://kodikapi.com. Но если вы хотите поменять это (например исползовать HTTP), то просто перепишите какhttp://kodikapi.com -
refineFetch- Пользовательская функция для выполнения HTTP-запросов. По умолчанию используется стандартнаяfetch()функция который есть и в браузере и в сервере (Node.js). Можно передать собственную реализацию для своих нужд, например для кэширования или для использования другой библиотеки HTTP-клиента. Например, в веб приложенииNext.jsстандартнаяfetch()функция (только в серверной части, в браузереfetchостанется обычным) переопределятся и добавляютя дополнителные параметры типа{ next: { revalidate: 3600 } }или{ cache: 'force-cache' })В таком случае, вам стоит передать свою реализацию:
Пример исползования в Next.js:
refineFetch: (url) => fetch(url, { next: { revalidate: 3600 } }),import { ApiClient } from "kodik";
// Создание API клиента
const client = new ApiClient({
token: "ВАШ ТОКЕН",
});
const res = await client.search({
limit: 1,
types: ["anime-serial"],
has_field: "shikimori_id",
title: "Наруто",
});
const data = res.results[0] || null;
console.log(data);
// {
// id: 'serial-16000',
// type: 'anime-serial',
// link: '//kodik.info/serial/16000/cc56d0ae4cb1000a98d09a0bce8f90a9/720p',
// title: 'Тиби Наруто: Весна юности Рока Ли',
// title_orig: 'Naruto SD: Rock Lee no Seishun Full-Power Ninden',
// other_title: 'ЧИБИ Наруто - Весна Юности Рока Ли / Naruto Spin-Off: Rock Lee & His Ninja Pals',
// translation: { id: 767, title: 'SHIZA Project', type: 'voice' },
// year: 2012,
// last_season: 1,
// last_episode: 51,
// episodes_count: 51,
// kinopoisk_id: '679735',
// imdb_id: 'tt2301807',
// worldart_link: 'http://www.world-art.ru/animation/animation.php?id=386',
// shikimori_id: '12979',
// quality: 'HDTVRip 720p',
// camrip: false,
// lgbt: false,
// blocked_countries: [],
// blocked_seasons: {},
// created_at: '2019-03-23T09:08:53Z',
// updated_at: '2019-12-14T11:56:43Z',
// screenshots: [
// 'https://i.kodik.biz/screenshots/seria/419212/1.jpg',
// 'https://i.kodik.biz/screenshots/seria/419212/2.jpg',
// 'https://i.kodik.biz/screenshots/seria/419212/3.jpg',
// 'https://i.kodik.biz/screenshots/seria/419212/4.jpg',
// 'https://i.kodik.biz/screenshots/seria/419212/5.jpg'
// ]
// }Все типы готовые и доступны из коробки