danz-lirik-search
v1.0.3
Published
Search lyrics
Readme
# danz-lirik-search
Package Node.js untuk mencari lirik lagu dengan mudah dan cepat. Mendukung format ESM dan CJS.
## Instalasi
```bash
npm install danz-lirik-searchyarn add danz-lirik-searchpnpm add danz-lirik-searchPenggunaan
ES Modules (ESM)
import searchLirik from 'danz-lirik-search';
const hasil = await searchLirik('Tulus Monokrom', 3);
console.log(hasil);CommonJS (CJS)
const { searchLirik } = require('danz-lirik-search');
const hasil = await searchLirik('Tulus Monokrom', 3);
console.log(hasil);Contoh Lengkap
Pencarian Sederhana
import searchLirik from 'danz-lirik-search';
async function contohPencarian() {
try {
const hasil = await searchLirik('Tulus Monokrom');
if (hasil.length === 0) {
console.log('Lirik tidak ditemukan');
return;
}
hasil.forEach(lagu => {
console.log(`${lagu.no}. ${lagu.title} - ${lagu.artist}`);
console.log(`Album: ${lagu.album || 'Tidak diketahui'}`);
console.log(`Durasi: ${lagu.duration || 'Tidak diketahui'} detik`);
console.log(`Lirik: ${lagu.plainLyrics.substring(0, 100)}...\n`);
});
} catch (error) {
console.error('Error:', error.message);
}
}
contohPencarian();Dengan Limit Hasil
import searchLirik from 'danz-lirik-search';
const hasil = await searchLirik('Coldplay', 3);
hasil.forEach(lagu => {
console.log(`${lagu.title} oleh ${lagu.artist}`);
console.log(lagu.plainLyrics);
console.log('---');
});Error Handling
import searchLirik from 'danz-lirik-search';
try {
const hasil = await searchLirik('Lagu yang tidak ada', 1);
if (hasil.length === 0) {
console.log('Lagu tidak ditemukan');
}
} catch (error) {
if (error.message.includes('Timeout')) {
console.log('Pencarian terlalu lama, coba lagi nanti');
} else if (error.message.includes('HTTP Error')) {
console.log('Terjadi error pada server');
} else {
console.log('Error tidak diketahui:', error.message);
}
}Fitur
· Dual Module Support - Bisa digunakan dengan import (ESM) dan require (CJS) · API Publik - Menggunakan sumber data terpercaya · Error Handling - Dilengkapi dengan penanganan error yang baik · TypeScript Ready - Dilengkapi dengan TypeScript definitions · Lightweight - Hanya bergantung pada Axios
Properti Hasil
Setiap hasil pencarian berisi properti berikut:
· no - Nomor urut hasil · title - Judul lagu · artist - Nama artis/penyanyi · album - Nama album (jika tersedia) · duration - Durasi lagu dalam detik (jika tersedia) · instrumental - Status instrumental lagu · syncedLyrics - Lirik dengan timestamp (jika tersedia) · plainLyrics - Lirik biasa
TypeScript Support
Package ini dilengkapi dengan TypeScript definitions:
import searchLirik, { LirikResult } from 'danz-lirik-search';
const hasil: LirikResult[] = await searchLirik('Ari Lasso', 2);Persyaratan
· Node.js >= 20.0.0
· Koneksi internet
Lisensi
MIT
