🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

hadis-my-sdk

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hadis-my-sdk

JavaScript/TypeScript SDK untuk API Hadis Malaysia - Akses 60,000+ hadis daripada 9 koleksi utama

latest
Source
npmnpm
Version
1.0.0
Version published
Maintainers
1
Created
Source

@hadis-my/sdk

JavaScript/TypeScript SDK untuk API Hadis Malaysia - Akses 60,000+ hadis daripada 9 koleksi utama dalam Bahasa Arab dengan terjemahan Melayu dan Indonesia.

📦 Instalasi

npm install @hadis-my/sdk
# atau
yarn add @hadis-my/sdk
# atau
pnpm add @hadis-my/sdk

🚀 Quick Start

import { HadisClient } from '@hadis-my/sdk';

// Buat client dengan API key
const client = new HadisClient({
  apiKey: 'HADIS_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'
});

// Dapatkan senarai koleksi
const { collections } = await client.getCollections();

// Dapatkan hadis dari Sahih Bukhari
const { hadis, meta } = await client.getHadisList('bukhari', {
  page: 1,
  perPage: 10
});

// Cari hadis
const { results } = await client.search('solat');

// Dapatkan hadis rawak
const { hadis: randomHadis } = await client.getRandom({ count: 5 });

📚 API Reference

HadisClient

Constructor

const client = new HadisClient({
  apiKey: 'HADIS_...', // Wajib
  baseUrl: 'https://service.hadis.my/api/v1', // Optional
  timeout: 30000 // Optional, dalam ms
});

Kaedah (Methods)

getCollections()

Dapatkan senarai semua koleksi hadis.

const { collections } = await client.getCollections();
// collections: Array<{ slug, name, author, total_hadis }>

getCollection(slug)

Dapatkan maklumat satu koleksi.

const { collection } = await client.getCollection('bukhari');

getHadisList(collection, options?)

Dapatkan senarai hadis dengan pagination.

const { hadis, meta } = await client.getHadisList('bukhari', {
  page: 1,
  perPage: 20,
  lang: 'ms' // 'ms' | 'id' | 'all'
});

getHadis(collection, id, lang?)

Dapatkan satu hadis berdasarkan ID.

const { hadis } = await client.getHadis('bukhari', 1);

search(query, options?)

Cari hadis berdasarkan kata kunci.

const { results, meta } = await client.search('solat', {
  collection: 'bukhari', // Optional
  lang: 'ms', // 'arab' | 'ms' | 'id' | 'all'
  page: 1,
  perPage: 20
});

getRandom(options?)

Dapatkan hadis secara rawak.

const { hadis } = await client.getRandom({
  collection: 'muslim', // Optional
  count: 5, // 1-10
  lang: 'ms'
});

🏛️ Koleksi Tersedia

SlugNamaJumlah Hadis
bukhariSahih Bukhari7,008
muslimSahih Muslim5,362
abu-daudSunan Abu Dawud4,590
tirmidziSunan Tirmidzi3,891
nasaiSunan An-Nasai5,662
ibnu-majahSunan Ibnu Majah4,332
ahmadMusnad Ahmad26,363
malikMuwatta Malik1,594
darimiSunan Ad-Darimi3,367

⚠️ Error Handling

import { HadisApiError, RateLimitError } from '@hadis-my/sdk';

try {
  const { hadis } = await client.getHadis('bukhari', 999999);
} catch (error) {
  if (error instanceof RateLimitError) {
    console.log(`Rate limit hit: ${error.limitType}`);
    console.log(`Retry after: ${error.retryAfter} seconds`);
  } else if (error instanceof HadisApiError) {
    console.log(`Error: ${error.message}`);
    console.log(`Code: ${error.code}`);
    console.log(`Status: ${error.status}`);
  }
}

📄 TypeScript Support

SDK ini ditulis sepenuhnya dalam TypeScript. Semua types tersedia:

import type {
  HadisClientConfig,
  Collection,
  Hadis,
  CollectionSlug,
  Language,
  PaginationMeta
} from '@hadis-my/sdk';
  • Dokumentasi Penuh
  • Dapatkan API Key
  • API Reference

📝 License

ISC © Dayabumi Creative Network

Keywords

hadis

FAQs

Package last updated on 30 Jan 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts