Server Core

Utilities

Helper functions bawaan untuk mempercepat development. 🛠️

🛠️ Utilities

BlizzardTS menyediakan modul utils yang bisa diakses via c.utils di dalam handler. Modul ini berisi fungsi-fungsi umum yang sering dibutuhkan backend developer.

Logger (c.utils.logger)

Logging sistematis dengan level dan warna.

// Info (Hijau/Biru)
c.utils.logger.info("Server started on port 3000");

// Error (Merah)
c.utils.logger.error("Database connection failed", err);

// Warning (Kuning)
c.utils.logger.warn("Memory usage high");

// Debug (Abu-abu)
c.utils.logger.debug("Raw payload", payload);

// Style
import { style } from "blizzardts";
console.log(style("Hello World", "cyan", "bold"));

Format (c.utils.format)

Helper untuk memformat string dan data.

MethodDeskripsiContoh
slug(text)Mengubah text jadi slug URL."Hello World" -> "hello-world"
email(text)Normalize email (trim + lower)." User@Example.com " -> "user@example.com"
phone(text)Sanitasi nomor telepon (ambil angka)."+62 812-345" -> "62812345"

Validate (c.utils.validate)

Validasi input sederhana. Mengembalikan boolean.

const { email, website } = await c.req.json();

if (!c.utils.validate.email(email)) {
  return c.status(400).json({ error: "Invalid Email" });
}

if (website && !c.utils.validate.url(website)) {
  return c.status(400).json({ error: "Invalid URL" });
}

File Uploads

Save uploaded files to disk easily.

import { saveFile } from "blizzardts";

const file = await c.req.file("avatar");
if (file) {
  await saveFile(file, "./uploads");
}

Helper Lainnya

uid(length?)

Membuat ID unik acak (alphanumeric). Default length: 21.

const id = c.utils.uid(); // "v1StGXR8_Z5jdHi6B-myT"

sleep(ms)

Pause eksekusi (Promise-based). Berguna untuk simulasi delay atau rate limiting.

await c.utils.sleep(1000); // Tunggu 1 detik

pick(obj, keys) & omit(obj, keys)

Mengambil atau membuang properti dari object.

const user = { id: 1, name: "Fauzan", password: "secret" };

// Ambil public data aja
const publicData = c.utils.pick(user, ["id", "name"]); 
// { id: 1, name: "Fauzan" }

// Buang password
const safeData = c.utils.omit(user, ["password"]);
// { id: 1, name: "Fauzan" }